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.entity.BomNewEbomChildEntity;
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.GenerateVirtualPackageQuery;
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 MaterialMainClient materialMainClient = SpringUtil.getBean(MaterialMainClient.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 List<BomNewEbomChildEntity> childrenForAdd = Collections.synchronizedList(new ArrayList<>());
@ -535,12 +537,12 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew
child.setMaterialName(child.getDrawingNo());
child.setMaterialCategoryCode(type.getMaterialCategoryCode());
child.setVirtualPartRootMaterialNo(root.getMaterialNo());
BomNewEbomParentEntity p = ebomParentService.lambdaQuery()
.eq(BomNewEbomParentEntity::getDrawingNo, drawingNo)
.lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
MaterialMainEntity me = materialMainService.lambdaQuery()
.eq(MaterialMainEntity::getDrawingNo, drawingNo)
.last(" limit 1")
.one();
if (Objects.nonNull(p)) {
child.setMaterialNo(p.getMaterialNo());
if (Objects.nonNull(me)) {
child.setMaterialNo(me.getMaterialNo());
} else {
child.setMaterialNo(getMaterialNoForAdd(child));
}