Browse Source

出货通知单添加文件路径

yzc 1 year ago
parent
commit
236c1f6a75

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailProductVo.java

@@ -31,4 +31,9 @@ public class PackDetailProductVo extends PackDetailProduct {
      */
     private String contractCode;
 
+    /**
+     * 产品图片地址
+     */
+    private String productImgUrl;
+
 }

+ 22 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackServiceImpl.java

@@ -4,16 +4,21 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.entity.corporation.po.Corporation;
 import com.fjhx.common.enums.CodingRuleEnum;
 import com.fjhx.common.enums.PushBusinessTypeEnum;
 import com.fjhx.common.service.coding.CodingRuleService;
 import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.file.entity.FileInfoSelectDto;
+import com.fjhx.file.entity.FileInfoVo;
+import com.fjhx.file.service.FileInfoService;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.documents.po.Documents;
 import com.fjhx.sale.entity.documents.po.DocumentsPdf;
@@ -85,6 +90,8 @@ public class PackServiceImpl extends ServiceImpl<PackMapper, Pack> implements Pa
     private ContractService contractService;
     @Autowired
     private CorporationService corporationService;
+    @Autowired
+    private FileInfoService fileInfoService;
 
     @Override
     public Page<PackVo> getPage(PackSelectDto dto) {
@@ -270,6 +277,15 @@ public class PackServiceImpl extends ServiceImpl<PackMapper, Pack> implements Pa
         for (PackDetailVo packDetailVo : packDetailVos) {
             //赋值 订单编号 供应商
             List<PackDetailProduct> packDetailProductList = packDetailProductService.list(q -> q.eq(PackDetailProduct::getPackDetailId, packDetailVo.getId()));
+            if(ObjectUtil.isEmpty(packDetailProductList)){
+                continue;
+            }
+            List<Long> productIds = packDetailProductList.stream().map(PackDetailProduct::getProductId).collect(Collectors.toList());
+            FileInfoSelectDto fileInfoSelectDto = new FileInfoSelectDto();
+            fileInfoSelectDto.setBusinessIdList(productIds);
+            DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+            Map<Long, List<FileInfoVo>> fileInfoMap = fileInfoService.getList(fileInfoSelectDto);
+            DynamicDataSourceContextHolder.poll();
             List<PackDetailProductVo> packDetailProductVos = BeanUtil.copyToList(packDetailProductList, PackDetailProductVo.class);
             for (PackDetailProductVo packDetailProduct : packDetailProductVos) {
                 Contract contract = contractService.getById(packDetailProduct.getContractId());
@@ -277,6 +293,12 @@ public class PackServiceImpl extends ServiceImpl<PackMapper, Pack> implements Pa
                 //赋值订单编号供应商
                 packDetailProduct.setSupplierName(corporation.getName());
                 packDetailProduct.setContractCode(contract.getCode());
+                //复制产品图片
+                List<FileInfoVo> fileInfoVos = fileInfoMap.get(packDetailProduct.getProductId());
+                if (ObjectUtil.isNotEmpty(fileInfoVos)){
+                    FileInfoVo fileInfoVo = fileInfoVos.get(0);
+                    packDetailProduct.setProductImgUrl(fileInfoVo.getFileUrl());
+                }
             }
             packDetailVo.setPackDetailProductLists(packDetailProductVos);
             packDetailVo.setBomVolume(packDetailVo.getBoxLong().multiply(packDetailVo.getBoxWide()).multiply(packDetailVo.getBoxHigh()));