生成PBOM时,bom没有子项的话,仅生成EBOM正式表3

This commit is contained in:
10002327 2024-09-24 21:24:31 +08:00
parent 935f4f596e
commit 43356a7228
1 changed files with 24 additions and 15 deletions

View File

@ -1026,13 +1026,13 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
.filter(p -> !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) .filter(p -> !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) )
.collect(Collectors.toList()); .collect(Collectors.toList());
if(!emptyChildParentList.isEmpty()){ if(!emptyChildParentList.isEmpty()){
rList = emptyChildParentList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct() // rList = emptyChildParentList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct()
.map(m -> { // .map(m -> {
OperationErrorMsgVO oem = new OperationErrorMsgVO(); // OperationErrorMsgVO oem = new OperationErrorMsgVO();
oem.setPrimaryKey(m); // oem.setPrimaryKey(m);
oem.msg = String.format("物料%s因下级全部是F项仅保存EBOM未生成PBOM数据",m); // oem.msg = String.format("物料%s因下级全部是F项仅保存EBOM未生成PBOM数据",m);
return oem; // return oem;
}).collect(Collectors.toList()); // }).collect(Collectors.toList());
eBomToPBom.getPBomParentResult().removeAll(emptyChildParentList); eBomToPBom.getPBomParentResult().removeAll(emptyChildParentList);
} }
} }
@ -1180,6 +1180,15 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
//1删掉pbom 父级的数据 //1删掉pbom 父级的数据
List<BomNewPbomParentEntity> pbomParent = eBomToPBom.getPBomParentResult().stream().filter(p -> (p.getMaterialDesc().contains("电控系统") && p.getMaterialDesc().contains("直发")) || List<BomNewPbomParentEntity> pbomParent = eBomToPBom.getPBomParentResult().stream().filter(p -> (p.getMaterialDesc().contains("电控系统") && p.getMaterialDesc().contains("直发")) ||
(p.getMaterialDesc().contains("电控系统") && p.getMaterialDesc().contains("制作"))).collect(Collectors.toList()); (p.getMaterialDesc().contains("电控系统") && p.getMaterialDesc().contains("制作"))).collect(Collectors.toList());
if(!pbomParent.isEmpty()){
String m = pbomParent.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct().collect(Collectors.joining(","));
OperationErrorMsgVO oem = new OperationErrorMsgVO();
oem.setPrimaryKey(m);
oem.msg = String.format("物料%s因属于电控系统直发包或制作包仅保存EBOM未生成PBOM数据。",m);
rList.add(oem);
}
eBomToPBom.getPBomParentResult().removeAll(pbomParent); eBomToPBom.getPBomParentResult().removeAll(pbomParent);
//2删掉pbom 子级的数据 //2删掉pbom 子级的数据
List<BomNewPbomChildEntity> pbomChild = eBomToPBom.getPBomChildResult().stream() List<BomNewPbomChildEntity> pbomChild = eBomToPBom.getPBomChildResult().stream()
@ -1188,16 +1197,16 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
eBomToPBom.getPBomChildResult().removeAll(pbomChild); eBomToPBom.getPBomChildResult().removeAll(pbomChild);
//3判断parent下是否有子级如果没有的话把parent给删除了 物料****因下级全部是F项仅保存EBOM未生成PBOM数据 //3判断parent下是否有子级如果没有的话把parent给删除了 物料****因下级全部是F项仅保存EBOM未生成PBOM数据
List<BomNewPbomParentEntity> emptyChildParentList = eBomToPBom.getPBomParentResult().stream() List<BomNewPbomParentEntity> emptyChildParentList = eBomToPBom.getPBomParentResult().stream()
.filter(p -> !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) .filter(p -> !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) )
.collect(Collectors.toList()); .collect(Collectors.toList());
if(!emptyChildParentList.isEmpty()){ if(!emptyChildParentList.isEmpty()){
rList = emptyChildParentList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct() // rList = emptyChildParentList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct()
.map(m -> { // .map(m -> {
OperationErrorMsgVO oem = new OperationErrorMsgVO(); // OperationErrorMsgVO oem = new OperationErrorMsgVO();
oem.setPrimaryKey(m); // oem.setPrimaryKey(m);
oem.msg = String.format("物料%s因下级全部是F项仅保存EBOM未生成PBOM数据",m); // oem.msg = String.format("物料%s因下级全部是F项仅保存EBOM未生成PBOM数据",m);
return oem; // return oem;
}).collect(Collectors.toList()); // }).collect(Collectors.toList());
eBomToPBom.getPBomParentResult().removeAll(emptyChildParentList); eBomToPBom.getPBomParentResult().removeAll(emptyChildParentList);
} }