diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 69206f4c..6eb139fe 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -104,8 +104,11 @@ public class PBomApi extends BaseApi { @PostMapping("editSubmit") @ApiOperation("编辑-提交") public ResultVO editSubmit(@Valid @RequestBody EditPBomParamDTO param){ + //检查物料编码是否存在 + bomNewPbomParentService.checkMaterialNo(param.getChildList()); //检查物料是否被冻结 materialMainService.checkMaterialFreeze(param.getChildList()); + bomNewPbomParentService.editSave(param, PBomEditStatusEnum.HANDLER_FINISHED); return ResultVO.success(true); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index d45a16a1..30228706 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -127,7 +127,7 @@ public class BomNewPbomParentService extends ServiceImpl childList = Convert.toList(BomNewPbomChildEntity.class, paramDTO.getChildList()); childList.forEach(u -> { u.setParentRowId(paramDTO.getBomRowId()); @@ -322,8 +323,22 @@ public class BomNewPbomParentService extends ServiceImpl data) { + List noMaterialNoList = data.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); + VUtils.isTure(CollUtil.isNotEmpty(noMaterialNoList)).throwMessage("存在物料编码为空的数据"); + List materialNos = data.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(u -> u.getMaterialNo()).collect(Collectors.toList()); + List mainMaterialList = materialMainService.getMaterialBaseInfo(materialNos); + + Set mainMaterialNoSet = mainMaterialList.stream().map(u -> u.getMaterialNo()).collect(Collectors.toSet()); + Set difference = Sets.difference(Sets.newHashSet(materialNos), mainMaterialNoSet); + VUtils.isTure(CollUtil.isNotEmpty(difference)).throwMessage(StrUtil.join(",", difference)+"物料编码在主数据中不存在"); + } /** @@ -387,8 +402,8 @@ public class BomNewPbomParentService extends ServiceImpl child = this.getChild(param.getBomRowId()); - if(CollUtil.isNotEmpty(param.getRowIds())){ - child=child.stream().filter(u->param.getRowIds().contains(u.getRowId())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(param.getRowIds())) { + child = child.stream().filter(u -> param.getRowIds().contains(u.getRowId())).collect(Collectors.toList()); } List result = Convert.toList(BomNewPbomEditExcelVO.class, child); @@ -408,7 +423,7 @@ public class BomNewPbomParentService extends ServiceImpl mMap = materialService.batchAddMaterial(ImmutableList.of(toM)); // String materialNo = materialService.addMaterial(drawingNo, materialName, materialDesc, "201201"); - String materialNo=mMap.get(key).getMaterialNo(); + String materialNo = mMap.get(key).getMaterialNo(); BaseMaterialVO resultD = materialMainService.getMaterialBaseInfo(ImmutableList.of(materialNo)).get(0); //插入工艺包 packageParam.setTechnologyPackageMaterialNo(materialNo); @@ -727,7 +742,7 @@ public class BomNewPbomParentService extends ServiceImpl subNodes = child.stream().filter(u -> u.getLevelNumber().compareTo(parentVO.getLevelNumber()) > 0 && u.getLevelNumber().compareTo(bNodeLevel) < 0).collect(Collectors.toList()); for (BomNewPbomParentVO node : subNodes) { - if(StrUtil.isBlank(node.getProductionFactoryCode())) { + if (StrUtil.isBlank(node.getProductionFactoryCode())) { node.setProductionFactoryCode(facCode); node.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.RULE_MATCH.getValue()); } @@ -738,7 +753,6 @@ public class BomNewPbomParentService extends ServiceImpl sourceRowId) throws ExecutionException, InterruptedException { @@ -853,14 +867,14 @@ public class BomNewPbomParentService extends ServiceImpl pBomChildren=new ArrayList<>(); - allBom.forEach(k->{ - BomNewPbomChildEntity entChild=new BomNewPbomChildEntity(); + List pBomChildren = new ArrayList<>(); + allBom.forEach(k -> { + BomNewPbomChildEntity entChild = new BomNewPbomChildEntity(); entChild.setRowId(k.getRowId()); entChild.setBomVersionRowId(k.getBomRowId()); pBomChildren.add(entChild); }); - if(CollUtil.isNotEmpty(pBomChildren)){ + if (CollUtil.isNotEmpty(pBomChildren)) { pbomChildService.updateBatchById(pBomChildren); } @@ -873,10 +887,9 @@ public class BomNewPbomParentService extends ServiceImpl children) { - Sap sap=new Sap(parent,children); + Sap sap = new Sap(parent, children); ImportSapParamDTO importParm = sap.buildSyncSapParam(); if (CollUtil.isNotEmpty(importParm.getT1())) { ResultVO booleanResultVO = sapOpUtilService.importToSap(importParm); @@ -886,8 +899,6 @@ public class BomNewPbomParentService extends ServiceImpl