feat: 调整31生成的虚拟包名称规则,中间括号里的物料名称去除图号

This commit is contained in:
曹鹏飞 2024-08-03 17:00:23 +08:00
parent 12f2cf24d2
commit fb53f628d1
2 changed files with 38 additions and 34 deletions

View File

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

View File

@ -2751,7 +2751,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
cvo.setHasGenerated1010(true);
//如果上级虚拟包名称不包含仙桃那说明选中了泉州有没有选中仙桃需要继续判断是否生成了仙桃的发货包
String virtualPackageDrawingNo = BomNewEbomGenerateVirtualPackageServiceFor31Impl.buildDrawingNo(
parent.getDrawingNo(), it.getMaterialName(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true);
parent.getDrawingNo(), it.getMaterialName(), it.getDrawingNo(), VirtualPackageTypeEnum.DELIVERY_PACKAGE, true);
cvo.setHasGenerated1020(ebomChildService.lambdaQuery()
.eq(BomNewEbomChildEntity::getParentRowId, parent.getRowId())
.eq(BomNewEbomChildEntity::getDrawingNo, virtualPackageDrawingNo)