diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomGenerateVirtualPackageServiceFor31Impl.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomGenerateVirtualPackageServiceFor31Impl.java index ea8bfe95..23d0f936 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomGenerateVirtualPackageServiceFor31Impl.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomGenerateVirtualPackageServiceFor31Impl.java @@ -157,13 +157,13 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew private void buildPaintVirtualPackage(GenerateVirtualPackageItem it, BomNewEbomParentEntity root, GenerateVirtualPackageQuery query) { if (it.isGenerate1010()) { BomNewEbomChildEntity xc1 = buildVirtualPackage(false, root.getRowId(), root - , root.getMaterialName(), VirtualPackageTypeEnum.PAINT_PACKAGE + , root.getMaterialName(), root.getDrawingNo(), VirtualPackageTypeEnum.PAINT_PACKAGE , StrUtil.padPre(String.valueOf(query.getChildren().size()), 3, '0')); buildVirtualPackage(root, xc1); } if (it.isGenerate1020()) { BomNewEbomChildEntity xc1 = buildVirtualPackage(true, root.getRowId(), root - , root.getMaterialName(), VirtualPackageTypeEnum.PAINT_PACKAGE + , root.getMaterialName(), root.getDrawingNo(), VirtualPackageTypeEnum.PAINT_PACKAGE , StrUtil.padPre(String.valueOf(query.getChildren().size() + 1), 3, '0')); buildVirtualPackage(root, xc1); } @@ -226,7 +226,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew private void selected1020Cancel1010(BomNewEbomParentEntity root, BomNewEbomChildEntity child, ChildListForGenerateVirtualPackageVO old) { if (old.isHasGenerated1010() && old.isHasGenerated1020()) { buildDelVirtualPackage(root, child, false); - String dnMaking = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); + String dnMaking = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); BomNewEbomParentEntity p = ebomParentService.lambdaQuery() .eq(BomNewEbomParentEntity::getDrawingNo, dnMaking) .lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) @@ -236,7 +236,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew .eq(BomNewEbomChildEntity::getDrawingNo, dnMaking) .one(); p = buildVirtualPackage(ebomParentService.lambdaQuery() - .eq(BomNewEbomParentEntity::getDrawingNo, buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true)) + .eq(BomNewEbomParentEntity::getDrawingNo, buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true)) .one(), c); } child.setParentRowId(p.getRowId()); @@ -246,15 +246,15 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew build1020VirtualPackage(root, true, child); } else if (old.isHasGenerated1010()) { //处理发货包 - String oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, false); - String newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true); + String oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, false); + String newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true); BomNewEbomParentEntity fp = ebomParentService.lambdaQuery() .eq(BomNewEbomParentEntity::getDrawingNo, newDrawingNo) .lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) .one(); if (Objects.nonNull(fp)) { - buildVirtualPackage(true, root.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); - String dnMaking = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); + buildVirtualPackage(true, root.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); + String dnMaking = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); BomNewEbomParentEntity zp = ebomParentService.lambdaQuery() .eq(BomNewEbomParentEntity::getDrawingNo, dnMaking) .lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) @@ -264,7 +264,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew .eq(BomNewEbomChildEntity::getDrawingNo, dnMaking) .one(); zp = buildVirtualPackage(ebomParentService.lambdaQuery() - .eq(BomNewEbomParentEntity::getDrawingNo, buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true)) + .eq(BomNewEbomParentEntity::getDrawingNo, buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true)) .one(), c); } //挂载物料 @@ -275,13 +275,13 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew fp = updateParentVirtualPackage(oldDrawingNo, newDrawingNo); updateChildVirtualPackage(root.getRowId(), oldDrawingNo, newDrawingNo); //处理直发包 - oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, false); - newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, true); + oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, false); + newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, true); updateParentVirtualPackage(oldDrawingNo, newDrawingNo); updateChildVirtualPackage(fp.getRowId(), oldDrawingNo, newDrawingNo); //处理制作包 - oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, false); - newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); + oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, false); + newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); BomNewEbomParentEntity zp = updateParentVirtualPackage(oldDrawingNo, newDrawingNo); updateChildVirtualPackage(fp.getRowId(), oldDrawingNo, newDrawingNo); //挂载物料 @@ -358,15 +358,15 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew } else if (old.isHasGenerated1020()) { buildDelVirtualPackage(root, child, true); //处理发货包 - String oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true); - String newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, false); + String oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true); + String newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, false); BomNewEbomParentEntity fp = ebomParentService.lambdaQuery() .eq(BomNewEbomParentEntity::getDrawingNo, newDrawingNo) .lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) .one(); if (Objects.nonNull(fp)) { - buildVirtualPackage(true, root.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); - String dnMaking = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, false); + buildVirtualPackage(true, root.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); + String dnMaking = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, false); BomNewEbomParentEntity zp = ebomParentService.lambdaQuery() .eq(BomNewEbomParentEntity::getDrawingNo, dnMaking) .lt(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) @@ -376,7 +376,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew .eq(BomNewEbomChildEntity::getDrawingNo, dnMaking) .one(); zp = buildVirtualPackage(ebomParentService.lambdaQuery() - .eq(BomNewEbomParentEntity::getDrawingNo, buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true)) + .eq(BomNewEbomParentEntity::getDrawingNo, buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true)) .one(), c); } //挂载物料 @@ -387,13 +387,13 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew fp = updateParentVirtualPackage(oldDrawingNo, newDrawingNo); updateChildVirtualPackage(root.getRowId(), oldDrawingNo, newDrawingNo); //处理直发包 - oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, true); - newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, false); + oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, true); + newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, false); updateParentVirtualPackage(oldDrawingNo, newDrawingNo); updateChildVirtualPackage(fp.getRowId(), oldDrawingNo, newDrawingNo); //处理制作包 - oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); - newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, false); + oldDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, true); + newDrawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, false); BomNewEbomParentEntity zp = updateParentVirtualPackage(oldDrawingNo, newDrawingNo); updateChildVirtualPackage(fp.getRowId(), oldDrawingNo, newDrawingNo); //挂载物料 @@ -406,25 +406,25 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew private void build1010VirtualPackage(BomNewEbomParentEntity root, BomNewEbomChildEntity child) { //发货包 - BomNewEbomChildEntity qc1 = buildVirtualPackage(false, root.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); + BomNewEbomChildEntity qc1 = buildVirtualPackage(false, root.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); BomNewEbomParentEntity qp1 = buildVirtualPackage(root, qc1); //制作包 - BomNewEbomChildEntity qc2 = buildVirtualPackage(false, qp1.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, "001"); + BomNewEbomChildEntity qc2 = buildVirtualPackage(false, qp1.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, "001"); BomNewEbomParentEntity qp2 = buildVirtualPackage(qp1, qc2); child.setParentRowId(qp2.getRowId()); child.setModifyTime(LocalDateTime.now()); childrenForUpdate.add(child); //直发包 - BomNewEbomChildEntity qc3 = buildVirtualPackage(false, qp1.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, "002"); + BomNewEbomChildEntity qc3 = buildVirtualPackage(false, qp1.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, "002"); buildVirtualPackage(qp1, qc3); } private void build1020VirtualPackage(BomNewEbomParentEntity root, boolean mount, BomNewEbomChildEntity child) { //发货包 - BomNewEbomChildEntity xc1 = buildVirtualPackage(true, root.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); + BomNewEbomChildEntity xc1 = buildVirtualPackage(true, root.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, child.getOrderNumber()); BomNewEbomParentEntity xp1 = buildVirtualPackage(root, xc1); //制作包 - BomNewEbomChildEntity xc2 = buildVirtualPackage(true, xp1.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.MAKING_PACKAGE, "001"); + BomNewEbomChildEntity xc2 = buildVirtualPackage(true, xp1.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.MAKING_PACKAGE, "001"); BomNewEbomParentEntity xp2 = buildVirtualPackage(xp1, xc2); if (mount) { child.setParentRowId(xp2.getRowId()); @@ -432,7 +432,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew childrenForUpdate.add(child); } //直发包 - BomNewEbomChildEntity xc3 = buildVirtualPackage(true, xp1.getRowId(), root, child.getMaterialName(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, "002"); + BomNewEbomChildEntity xc3 = buildVirtualPackage(true, xp1.getRowId(), root, child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, "002"); buildVirtualPackage(xp1, xc3); } @@ -473,7 +473,7 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew * @param is1020Factory 是否是仙桃工厂 */ private void buildDelVirtualPackage(BomNewEbomParentEntity root, BomNewEbomChildEntity child, boolean is1020Factory) { - String drawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, is1020Factory); + String drawingNo = buildDrawingNo(root.getDrawingNo(), child.getMaterialName(), child.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, is1020Factory); BomNewEbomChildEntity c = ebomChildService.lambdaQuery() .eq(BomNewEbomChildEntity::getParentRowId, root.getRowId()) .eq(BomNewEbomChildEntity::getDrawingNo, drawingNo) @@ -530,8 +530,8 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew } private BomNewEbomChildEntity buildVirtualPackage(boolean is1020Factory, Long parentRowId, BomNewEbomParentEntity root - , String materialName, VirtualPackageTypeEnum type, String orderNo) { - String drawingNo = buildDrawingNo(root.getDrawingNo(), materialName, type, is1020Factory); + , String materialName, String materialDrawingNo, VirtualPackageTypeEnum type, String orderNo) { + String drawingNo = buildDrawingNo(root.getDrawingNo(), materialName, materialDrawingNo, type, is1020Factory); BomNewEbomChildEntity child = ebomChildService.lambdaQuery() .eq(BomNewEbomChildEntity::getParentRowId, parentRowId) .eq(BomNewEbomChildEntity::getDrawingNo, drawingNo) @@ -568,8 +568,12 @@ public class BomNewEbomGenerateVirtualPackageServiceFor31Impl implements IBomNew return child; } - public static String buildDrawingNo(String drawingNo, String materialName, VirtualPackageTypeEnum type, boolean is1020Factory) { - return StrUtil.format("({})({}{})({})", drawingNo, StringUtils.deleteWhitespace(materialName), is1020Factory ? "仙桃" : "", type.getConMaterialName()); + public static String buildDrawingNo(String drawingNo, String materialName, String materialDrawingNo, VirtualPackageTypeEnum type, boolean is1020Factory) { + return StrUtil.format("({})({}{})({})" + , drawingNo + , StringUtils.deleteWhitespace(StrUtil.replace(materialName, materialDrawingNo, "")) + , is1020Factory ? "仙桃" : "" + , type.getConMaterialName()); } /* diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index aecb9221..2544b1bb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -2751,7 +2751,7 @@ public class BomNewEbomParentService extends ServiceImpl