|
@@ -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()));
|