fix(ebom): 虚拟包编号逻辑优化

This commit is contained in:
曹鹏飞 2024-06-23 19:46:11 +08:00
parent e2bf276d25
commit a58a3a44a8
1 changed files with 7 additions and 5 deletions

View File

@ -14,6 +14,7 @@ import com.nflg.product.bomnew.pojo.dto.AddVirtrualMaterialDTO;
import com.nflg.product.bomnew.pojo.dto.MaterialUpdateBillDTO; import com.nflg.product.bomnew.pojo.dto.MaterialUpdateBillDTO;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity;
import com.nflg.product.bomnew.pojo.query.GenerateVirtualPackageItem; import com.nflg.product.bomnew.pojo.query.GenerateVirtualPackageItem;
import com.nflg.product.bomnew.pojo.query.GenerateVirtualPackageQuery; import com.nflg.product.bomnew.pojo.query.GenerateVirtualPackageQuery;
import com.nflg.product.bomnew.pojo.vo.ChildListForGenerateVirtualPackageVO; import com.nflg.product.bomnew.pojo.vo.ChildListForGenerateVirtualPackageVO;
@ -48,6 +49,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew
private final BomNewEbomChildService ebomChildService = SpringUtil.getBean(BomNewEbomChildService.class); private final BomNewEbomChildService ebomChildService = SpringUtil.getBean(BomNewEbomChildService.class);
private final MaterialMainClient materialMainClient = SpringUtil.getBean(MaterialMainClient.class); private final MaterialMainClient materialMainClient = SpringUtil.getBean(MaterialMainClient.class);
private final MaterialService materialService = SpringUtil.getBean(MaterialService.class); private final MaterialService materialService = SpringUtil.getBean(MaterialService.class);
private final MaterialMainService materialMainService = SpringUtil.getBean(MaterialMainService.class);
private final PlatformTransactionManager transactionManager = SpringUtil.getBean(PlatformTransactionManager.class); private final PlatformTransactionManager transactionManager = SpringUtil.getBean(PlatformTransactionManager.class);
private final List<BomNewEbomChildEntity> childrenForAdd = Collections.synchronizedList(new ArrayList<>()); private final List<BomNewEbomChildEntity> childrenForAdd = Collections.synchronizedList(new ArrayList<>());
@ -535,12 +537,12 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew
child.setMaterialName(child.getDrawingNo()); child.setMaterialName(child.getDrawingNo());
child.setMaterialCategoryCode(type.getMaterialCategoryCode()); child.setMaterialCategoryCode(type.getMaterialCategoryCode());
child.setVirtualPartRootMaterialNo(root.getMaterialNo()); child.setVirtualPartRootMaterialNo(root.getMaterialNo());
BomNewEbomParentEntity p = ebomParentService.lambdaQuery() MaterialMainEntity me = materialMainService.lambdaQuery()
.eq(BomNewEbomParentEntity::getDrawingNo, drawingNo) .eq(MaterialMainEntity::getDrawingNo, drawingNo)
.lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) .last(" limit 1")
.one(); .one();
if (Objects.nonNull(p)) { if (Objects.nonNull(me)) {
child.setMaterialNo(p.getMaterialNo()); child.setMaterialNo(me.getMaterialNo());
} else { } else {
child.setMaterialNo(getMaterialNoForAdd(child)); child.setMaterialNo(getMaterialNoForAdd(child));
} }