Compare commits
5 Commits
c500891702
...
7bc7523ad5
| Author | SHA1 | Date |
|---|---|---|
|
|
7bc7523ad5 | |
|
|
d333f11d34 | |
|
|
5983990437 | |
|
|
566dcee471 | |
|
|
6e0d89039c |
|
|
@ -45,6 +45,8 @@ public class ShipmentsDataBO {
|
||||||
|
|
||||||
private String productModel;
|
private String productModel;
|
||||||
|
|
||||||
|
private String imageUrl;
|
||||||
|
|
||||||
private String productColor;
|
private String productColor;
|
||||||
|
|
||||||
private Integer stock;
|
private Integer stock;
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,8 @@ public class ProductStockKeepUnitVO {
|
||||||
|
|
||||||
private String extendInfo;
|
private String extendInfo;
|
||||||
|
|
||||||
|
private String imageUrl;
|
||||||
|
|
||||||
@JsonSerialize(using = BigDecimalSerializerBO.class)
|
@JsonSerialize(using = BigDecimalSerializerBO.class)
|
||||||
private BigDecimal retailPrice;
|
private BigDecimal retailPrice;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
|
|
@ -44,6 +45,8 @@ public class ProductVO {
|
||||||
|
|
||||||
private BigDecimal productStock;
|
private BigDecimal productStock;
|
||||||
|
|
||||||
|
private List<String> productImgList;
|
||||||
|
|
||||||
@JsonSerialize(using = BigDecimalSerializerBO.class)
|
@JsonSerialize(using = BigDecimalSerializerBO.class)
|
||||||
private BigDecimal purchasePrice;
|
private BigDecimal purchasePrice;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,8 @@ public class ReceiptDetailVO {
|
||||||
|
|
||||||
private Integer productNumber;
|
private Integer productNumber;
|
||||||
|
|
||||||
|
private String imageUrl;
|
||||||
|
|
||||||
private Integer stock;
|
private Integer stock;
|
||||||
|
|
||||||
@JsonSerialize(using = BigDecimalSerializerBO.class)
|
@JsonSerialize(using = BigDecimalSerializerBO.class)
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,8 @@ public class RetailRefundVO {
|
||||||
|
|
||||||
private String productInfo;
|
private String productInfo;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
|
||||||
private String operator;
|
private String operator;
|
||||||
|
|
||||||
private Integer productNumber;
|
private Integer productNumber;
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,8 @@ public class RetailShipmentsVO {
|
||||||
|
|
||||||
private String productInfo;
|
private String productInfo;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
|
||||||
private String operator;
|
private String operator;
|
||||||
|
|
||||||
private Integer productNumber;
|
private Integer productNumber;
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ import java.math.RoundingMode;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|
@ -327,6 +328,14 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
|
||||||
ProductVO productVO = new ProductVO();
|
ProductVO productVO = new ProductVO();
|
||||||
BeanUtils.copyProperties(item, productVO);
|
BeanUtils.copyProperties(item, productVO);
|
||||||
|
|
||||||
|
// 填充图片信息
|
||||||
|
var productImgList = productImageService.lambdaQuery()
|
||||||
|
.select(ProductImage::getImageUrl)
|
||||||
|
.eq(ProductImage::getDeleteFlag, CommonConstants.NOT_DELETED)
|
||||||
|
.eq(ProductImage::getProductId, item.getId())
|
||||||
|
.list();
|
||||||
|
productVO.setProductImgList(productImgList.stream().map(ProductImage::getImageUrl).collect(Collectors.toList()));
|
||||||
|
|
||||||
var productCategoryName = productCategoryService.lambdaQuery()
|
var productCategoryName = productCategoryService.lambdaQuery()
|
||||||
.eq(ProductCategory::getId, item.getProductCategoryId())
|
.eq(ProductCategory::getId, item.getProductCategoryId())
|
||||||
.eq(ProductCategory::getDeleteFlag, CommonConstants.NOT_DELETED)
|
.eq(ProductCategory::getDeleteFlag, CommonConstants.NOT_DELETED)
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.wansenai.dto.product.QueryProductStockKeepUnitDTO;
|
import com.wansenai.dto.product.QueryProductStockKeepUnitDTO;
|
||||||
|
import com.wansenai.entities.product.ProductImage;
|
||||||
import com.wansenai.entities.product.ProductStock;
|
import com.wansenai.entities.product.ProductStock;
|
||||||
import com.wansenai.mappers.product.ProductStockMapper;
|
import com.wansenai.mappers.product.ProductStockMapper;
|
||||||
|
import com.wansenai.service.product.ProductImageService;
|
||||||
import com.wansenai.service.product.ProductStockService;
|
import com.wansenai.service.product.ProductStockService;
|
||||||
import com.wansenai.service.user.ISysUserService;
|
import com.wansenai.service.user.ISysUserService;
|
||||||
import com.wansenai.service.warehouse.WarehouseService;
|
import com.wansenai.service.warehouse.WarehouseService;
|
||||||
|
|
@ -28,6 +30,7 @@ import com.wansenai.vo.product.ProductStockVO;
|
||||||
import com.wansenai.vo.report.ProductStockSkuVO;
|
import com.wansenai.vo.report.ProductStockSkuVO;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -43,17 +46,32 @@ public class ProductStockServiceImpl extends ServiceImpl<ProductStockMapper, Pro
|
||||||
|
|
||||||
private final ISysUserService userService;
|
private final ISysUserService userService;
|
||||||
|
|
||||||
public ProductStockServiceImpl(WarehouseService warehouseService, ProductStockMapper productStockMapper, RedisUtil redisUtil, ISysUserService userService) {
|
private final ProductImageService productImageService;
|
||||||
|
|
||||||
|
public ProductStockServiceImpl(WarehouseService warehouseService, ProductStockMapper productStockMapper, RedisUtil redisUtil, ISysUserService userService,
|
||||||
|
ProductImageService productImageService) {
|
||||||
this.warehouseService = warehouseService;
|
this.warehouseService = warehouseService;
|
||||||
this.productStockMapper = productStockMapper;
|
this.productStockMapper = productStockMapper;
|
||||||
this.redisUtil = redisUtil;
|
this.redisUtil = redisUtil;
|
||||||
this.userService = userService;
|
this.userService = userService;
|
||||||
|
this.productImageService = productImageService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<ProductStockKeepUnitVO> getProductExtendPriceInfo(QueryProductStockKeepUnitDTO priceDTO) {
|
public IPage<ProductStockKeepUnitVO> getProductExtendPriceInfo(QueryProductStockKeepUnitDTO priceDTO) {
|
||||||
var page = new Page<QueryProductStockKeepUnitDTO>(priceDTO.getPage(), priceDTO.getPageSize());
|
var page = new Page<QueryProductStockKeepUnitDTO>(priceDTO.getPage(), priceDTO.getPageSize());
|
||||||
return productStockMapper.getProductSkuList(page, priceDTO);
|
IPage<ProductStockKeepUnitVO> iPage = productStockMapper.getProductSkuList(page, priceDTO);
|
||||||
|
iPage.getRecords().forEach(model->{
|
||||||
|
if(model.getProductId() != null){
|
||||||
|
List<ProductImage> imgList = productImageService.lambdaQuery().select(ProductImage::getImageUrl)
|
||||||
|
.eq(ProductImage::getProductId, model.getProductId())
|
||||||
|
.list();
|
||||||
|
if(!CollectionUtils.isEmpty(imgList)){
|
||||||
|
model.setImageUrl(imgList.get(0).getImageUrl());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return iPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import com.wansenai.dto.receipt.retail.RetailRefundDTO;
|
||||||
import com.wansenai.dto.receipt.retail.RetailShipmentsDTO;
|
import com.wansenai.dto.receipt.retail.RetailShipmentsDTO;
|
||||||
import com.wansenai.dto.system.SystemMessageDTO;
|
import com.wansenai.dto.system.SystemMessageDTO;
|
||||||
import com.wansenai.entities.financial.FinancialAccount;
|
import com.wansenai.entities.financial.FinancialAccount;
|
||||||
|
import com.wansenai.entities.product.ProductImage;
|
||||||
import com.wansenai.entities.product.ProductStock;
|
import com.wansenai.entities.product.ProductStock;
|
||||||
import com.wansenai.entities.product.ProductStockKeepUnit;
|
import com.wansenai.entities.product.ProductStockKeepUnit;
|
||||||
import com.wansenai.entities.receipt.ReceiptRetailMain;
|
import com.wansenai.entities.receipt.ReceiptRetailMain;
|
||||||
|
|
@ -40,6 +41,7 @@ import com.wansenai.mappers.receipt.ReceiptRetailMainMapper;
|
||||||
import com.wansenai.mappers.system.SysFileMapper;
|
import com.wansenai.mappers.system.SysFileMapper;
|
||||||
import com.wansenai.service.common.CommonService;
|
import com.wansenai.service.common.CommonService;
|
||||||
import com.wansenai.service.financial.IFinancialAccountService;
|
import com.wansenai.service.financial.IFinancialAccountService;
|
||||||
|
import com.wansenai.service.product.ProductImageService;
|
||||||
import com.wansenai.service.product.ProductService;
|
import com.wansenai.service.product.ProductService;
|
||||||
import com.wansenai.service.receipt.ReceiptRetailService;
|
import com.wansenai.service.receipt.ReceiptRetailService;
|
||||||
import com.wansenai.service.receipt.ReceiptRetailSubService;
|
import com.wansenai.service.receipt.ReceiptRetailSubService;
|
||||||
|
|
@ -62,6 +64,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
@ -97,7 +100,13 @@ public class ReceiptRetailServiceImpl extends ServiceImpl<ReceiptRetailMainMappe
|
||||||
|
|
||||||
private final RedisUtil redisUtil;
|
private final RedisUtil redisUtil;
|
||||||
|
|
||||||
public ReceiptRetailServiceImpl(ReceiptRetailMainMapper receiptRetailMainMapper, ReceiptRetailSubService receiptRetailSubService, IFinancialAccountService accountService, ISysUserService userService, SysFileMapper fileMapper, ProductStockMapper productStockMapper, ProductStockKeepUnitMapper productStockKeepUnitMapper, ProductService productService, CommonService commonService, ISysMsgService messageService, RedisUtil redisUtil) {
|
private final ProductImageService productImageService;
|
||||||
|
|
||||||
|
public ReceiptRetailServiceImpl(ReceiptRetailMainMapper receiptRetailMainMapper, ReceiptRetailSubService receiptRetailSubService,
|
||||||
|
IFinancialAccountService accountService, ISysUserService userService, SysFileMapper fileMapper,
|
||||||
|
ProductStockMapper productStockMapper, ProductStockKeepUnitMapper productStockKeepUnitMapper,
|
||||||
|
ProductService productService, CommonService commonService, ISysMsgService messageService, RedisUtil redisUtil,
|
||||||
|
ProductImageService productImageService) {
|
||||||
this.receiptRetailMainMapper = receiptRetailMainMapper;
|
this.receiptRetailMainMapper = receiptRetailMainMapper;
|
||||||
this.receiptRetailSubService = receiptRetailSubService;
|
this.receiptRetailSubService = receiptRetailSubService;
|
||||||
this.accountService = accountService;
|
this.accountService = accountService;
|
||||||
|
|
@ -109,6 +118,7 @@ public class ReceiptRetailServiceImpl extends ServiceImpl<ReceiptRetailMainMappe
|
||||||
this.commonService = commonService;
|
this.commonService = commonService;
|
||||||
this.messageService = messageService;
|
this.messageService = messageService;
|
||||||
this.redisUtil = redisUtil;
|
this.redisUtil = redisUtil;
|
||||||
|
this.productImageService = productImageService;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getAccountName(Long accountId) {
|
private String getAccountName(Long accountId) {
|
||||||
|
|
@ -216,6 +226,8 @@ public class ReceiptRetailServiceImpl extends ServiceImpl<ReceiptRetailMainMappe
|
||||||
.warehouseId(item.getWarehouseId())
|
.warehouseId(item.getWarehouseId())
|
||||||
.build();
|
.build();
|
||||||
var data = productStockMapper.getProductSkuByBarCode(item.getProductBarcode(), item.getWarehouseId());
|
var data = productStockMapper.getProductSkuByBarCode(item.getProductBarcode(), item.getWarehouseId());
|
||||||
|
var img = productImageService.lambdaQuery().select(ProductImage::getImageUrl)
|
||||||
|
.eq(ProductImage::getProductId, item.getProductId()).list();
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
shipmentBo.setWarehouseId(data.getWarehouseId());
|
shipmentBo.setWarehouseId(data.getWarehouseId());
|
||||||
shipmentBo.setProductName(data.getProductName());
|
shipmentBo.setProductName(data.getProductName());
|
||||||
|
|
@ -228,6 +240,10 @@ public class ReceiptRetailServiceImpl extends ServiceImpl<ReceiptRetailMainMappe
|
||||||
if (data.getWarehouseId() != null) {
|
if (data.getWarehouseId() != null) {
|
||||||
shipmentBo.setWarehouseName(commonService.getWarehouseName(data.getWarehouseId()));
|
shipmentBo.setWarehouseName(commonService.getWarehouseName(data.getWarehouseId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!CollectionUtils.isEmpty(img)){
|
||||||
|
shipmentBo.setImageUrl(img.get(0).getImageUrl());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return shipmentBo;
|
return shipmentBo;
|
||||||
}
|
}
|
||||||
|
|
@ -298,6 +314,7 @@ public class ReceiptRetailServiceImpl extends ServiceImpl<ReceiptRetailMainMappe
|
||||||
.receiptNumber(item.getReceiptNumber())
|
.receiptNumber(item.getReceiptNumber())
|
||||||
.receiptDate(item.getReceiptDate())
|
.receiptDate(item.getReceiptDate())
|
||||||
.productInfo(item.getRemark())
|
.productInfo(item.getRemark())
|
||||||
|
.remark(item.getRemark())
|
||||||
.operator(crateBy)
|
.operator(crateBy)
|
||||||
.productNumber(productNumber)
|
.productNumber(productNumber)
|
||||||
.totalPrice(item.getTotalAmount())
|
.totalPrice(item.getTotalAmount())
|
||||||
|
|
@ -808,6 +825,7 @@ public class ReceiptRetailServiceImpl extends ServiceImpl<ReceiptRetailMainMappe
|
||||||
.receiptNumber(item.getReceiptNumber())
|
.receiptNumber(item.getReceiptNumber())
|
||||||
.receiptDate(item.getReceiptDate())
|
.receiptDate(item.getReceiptDate())
|
||||||
.productInfo(item.getRemark())
|
.productInfo(item.getRemark())
|
||||||
|
.remark(item.getRemark())
|
||||||
.operator(crateBy)
|
.operator(crateBy)
|
||||||
.productNumber(productNumber)
|
.productNumber(productNumber)
|
||||||
.totalPrice(item.getTotalAmount())
|
.totalPrice(item.getTotalAmount())
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import com.wansenai.entities.financial.FinancialAccount;
|
||||||
import com.wansenai.entities.financial.FinancialMain;
|
import com.wansenai.entities.financial.FinancialMain;
|
||||||
import com.wansenai.entities.financial.FinancialSub;
|
import com.wansenai.entities.financial.FinancialSub;
|
||||||
import com.wansenai.entities.product.Product;
|
import com.wansenai.entities.product.Product;
|
||||||
|
import com.wansenai.entities.product.ProductImage;
|
||||||
import com.wansenai.entities.receipt.*;
|
import com.wansenai.entities.receipt.*;
|
||||||
import com.wansenai.entities.user.SysUser;
|
import com.wansenai.entities.user.SysUser;
|
||||||
import com.wansenai.mappers.financial.FinancialMainMapper;
|
import com.wansenai.mappers.financial.FinancialMainMapper;
|
||||||
|
|
@ -35,6 +36,7 @@ import com.wansenai.service.basic.MemberService;
|
||||||
import com.wansenai.service.basic.SupplierService;
|
import com.wansenai.service.basic.SupplierService;
|
||||||
import com.wansenai.service.common.CommonService;
|
import com.wansenai.service.common.CommonService;
|
||||||
import com.wansenai.service.financial.IFinancialAccountService;
|
import com.wansenai.service.financial.IFinancialAccountService;
|
||||||
|
import com.wansenai.service.product.ProductImageService;
|
||||||
import com.wansenai.service.product.ProductService;
|
import com.wansenai.service.product.ProductService;
|
||||||
import com.wansenai.service.receipt.*;
|
import com.wansenai.service.receipt.*;
|
||||||
import com.wansenai.service.user.ISysUserService;
|
import com.wansenai.service.user.ISysUserService;
|
||||||
|
|
@ -49,6 +51,7 @@ import com.wansenai.vo.receipt.ReceiptVO;
|
||||||
import com.wansenai.vo.receipt.retail.StatisticalDataVO;
|
import com.wansenai.vo.receipt.retail.StatisticalDataVO;
|
||||||
import com.wansenai.vo.report.*;
|
import com.wansenai.vo.report.*;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
@ -89,6 +92,8 @@ public class ReceiptServiceImpl implements ReceiptService {
|
||||||
|
|
||||||
private final ProductService productService;
|
private final ProductService productService;
|
||||||
|
|
||||||
|
private final ProductImageService productImageService;
|
||||||
|
|
||||||
private final ProductStockMapper productStockMapper;
|
private final ProductStockMapper productStockMapper;
|
||||||
|
|
||||||
private final IFinancialAccountService accountService;
|
private final IFinancialAccountService accountService;
|
||||||
|
|
@ -99,7 +104,13 @@ public class ReceiptServiceImpl implements ReceiptService {
|
||||||
|
|
||||||
private final FinancialSubMapper financialSubMapper;
|
private final FinancialSubMapper financialSubMapper;
|
||||||
|
|
||||||
public ReceiptServiceImpl(ReceiptRetailService receiptRetailService, ReceiptRetailSubService receiptRetailSubService, ReceiptSaleService receiptSaleService, ReceiptSaleSubService receiptSaleSubService, ReceiptPurchaseService receiptPurchaseService, ReceiptPurchaseSubService receiptPurchaseSubService, MemberService memberService, CustomerService customerService, SupplierService supplierService, ISysUserService userService, ProductService productService, ProductStockMapper productStockMapper, IFinancialAccountService accountService, CommonService commonService, FinancialMainMapper financialMainMapper, FinancialSubMapper financialSubMapper) {
|
public ReceiptServiceImpl(ReceiptRetailService receiptRetailService, ReceiptRetailSubService receiptRetailSubService,
|
||||||
|
ReceiptSaleService receiptSaleService, ReceiptSaleSubService receiptSaleSubService,
|
||||||
|
ReceiptPurchaseService receiptPurchaseService, ReceiptPurchaseSubService receiptPurchaseSubService,
|
||||||
|
MemberService memberService, CustomerService customerService, SupplierService supplierService,
|
||||||
|
ISysUserService userService, ProductService productService, ProductStockMapper productStockMapper,
|
||||||
|
IFinancialAccountService accountService, CommonService commonService, FinancialMainMapper financialMainMapper,
|
||||||
|
FinancialSubMapper financialSubMapper,ProductImageService productImageService) {
|
||||||
this.receiptRetailService = receiptRetailService;
|
this.receiptRetailService = receiptRetailService;
|
||||||
this.receiptRetailSubService = receiptRetailSubService;
|
this.receiptRetailSubService = receiptRetailSubService;
|
||||||
this.receiptSaleService = receiptSaleService;
|
this.receiptSaleService = receiptSaleService;
|
||||||
|
|
@ -116,6 +127,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
||||||
this.commonService = commonService;
|
this.commonService = commonService;
|
||||||
this.financialMainMapper = financialMainMapper;
|
this.financialMainMapper = financialMainMapper;
|
||||||
this.financialSubMapper = financialSubMapper;
|
this.financialSubMapper = financialSubMapper;
|
||||||
|
this.productImageService = productImageService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -594,6 +606,14 @@ public class ReceiptServiceImpl implements ReceiptService {
|
||||||
receiptDetailVO.setProductStandard(productVO.getProductStandard());
|
receiptDetailVO.setProductStandard(productVO.getProductStandard());
|
||||||
receiptDetailVO.setProductModel(productVO.getProductModel());
|
receiptDetailVO.setProductModel(productVO.getProductModel());
|
||||||
receiptDetailVO.setUnit(productVO.getProductUnit());
|
receiptDetailVO.setUnit(productVO.getProductUnit());
|
||||||
|
|
||||||
|
// 查图片
|
||||||
|
List<ProductImage> imageUrlList = productImageService.lambdaQuery()
|
||||||
|
.eq(ProductImage::getProductId, productVO.getProductId())
|
||||||
|
.list();
|
||||||
|
if(CollectionUtils.isNotEmpty(imageUrlList)){
|
||||||
|
receiptDetailVO.setImageUrl(imageUrlList.get(0).getImageUrl());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 查询库存
|
// 查询库存
|
||||||
var stock = productStockMapper.getProductSkuByBarCode(item.getProductBarcode(), item.getWarehouseId());
|
var stock = productStockMapper.getProductSkuByBarCode(item.getProductBarcode(), item.getWarehouseId());
|
||||||
|
|
@ -601,6 +621,7 @@ public class ReceiptServiceImpl implements ReceiptService {
|
||||||
receiptDetailVO.setStock(stock.getStock());
|
receiptDetailVO.setStock(stock.getStock());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
receiptDetailVos.add(receiptDetailVO);
|
receiptDetailVos.add(receiptDetailVO);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue