diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 00b5f29e..323a7164 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -289,10 +289,10 @@ public class EbomApi extends BaseApi { return ResultVO.success(true); } - @GetMapping("editDetail") @ApiOperation("编辑物料列表") - public ResultVO editDetail(@RequestParam("rowId") Long rowId, @RequestParam("bomRowId") Long bomRowId, @RequestParam("projectType") String projectType) { + public ResultVO editDetail(@RequestParam("rowId") Long rowId, @RequestParam("bomRowId") Long bomRowId + , @RequestParam("projectType") String projectType, @RequestParam(value = "hideVirtualPackage", defaultValue = "0") Integer hideVirtualPackage) { if (Objects.isNull(rowId)) { VUtils.isTure(true).throwMessage("rowId 不能为空"); } @@ -300,7 +300,7 @@ public class EbomApi extends BaseApi { VUtils.isTure(true).throwMessage("bomRowId不能为空"); } - return ResultVO.success(bomNewEbomParentService.editDetail(rowId, bomRowId, projectType)); + return ResultVO.success(bomNewEbomParentService.editDetail(rowId, bomRowId, projectType, hideVirtualPackage)); } @PostMapping("updateProjectType") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewDQbomParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewDQbomParentMapper.java index 777f1439..f6c72489 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewDQbomParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewDQbomParentMapper.java @@ -22,7 +22,7 @@ public interface BomNewDQbomParentMapper extends BaseMapper getChildren(Long bomRowId); + // List getChildren(Long bomRowId); List getBom(int status, String materialNo, String drawingNo, String materialName); 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 328e359d..f4a3f088 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 @@ -1537,11 +1537,11 @@ public class BomNewEbomParentService extends ServiceImpl1.存在下级物料或是缺BOM
2.物料的分类20且流程类型为外协和采购部分
3.分类70中的7013时的物料 "); } vo.setDatas(new ArrayList<>()); } else { @@ -1566,7 +1565,17 @@ public class BomNewEbomParentService extends ServiceImpl childList = getChild(bomRowId); + if (hideVirtualPackage == 1) { + List virtualPackageList = childList.stream() + .filter(c -> c.getVirtualPackageIs() == 1 && c.getBomRowId() > 0) + .collect(Collectors.toList()); + virtualPackageList.forEach(v -> { + childList.remove(v); + childList.addAll(getChild(v.getBomRowId())); + }); + } + vo.setDatas(childList); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index 3c0d20cd..5b917b99 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -375,7 +375,8 @@ public class DQBomService { private void getChildren(List datas, BomNewDQbomVO parent) { if (Objects.isNull(parent) || parent.getBomRowId() == 0) return; - List cc = dQBomParentService.getBaseMapper().getChildren(parent.getBomRowId()); + //List cc = dQBomParentService.getBaseMapper().getChildren(parent.getBomRowId()); + List cc = getChild(parent.getBomRowId()); if (CollUtil.isNotEmpty(cc)) { cc.forEach(c -> { c.setParentMaterialNo(parent.getMaterialNo()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java index 4c8bea6d..1e2d470c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java @@ -255,11 +255,13 @@ public class EBomEdit { } materialNos.add(dto.getParent().getMaterialNo()); //检查物料编码是否在主数据中存在 - List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos); - List effectiveMaterialNos = materialBaseInfo.stream().map(u -> u.getMaterialNo()).collect(Collectors.toList()); - Set difference = Sets.difference(new HashSet<>(materialNos), new HashSet<>(effectiveMaterialNos)); - VUtils.isTure(CollUtil.isNotEmpty(difference)).throwMessage(StrUtil.join(",", difference) + "在物料主数据中不存在"); - + //暂存不需检查,提交时检查 + if(ObjectUtil.equal(EbomEditStatusEnum.HANDLER_FINISHED.getValue(),dto.getOpType())) { + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos); + List effectiveMaterialNos = materialBaseInfo.stream().map(u -> u.getMaterialNo()).collect(Collectors.toList()); + Set difference = Sets.difference(new HashSet<>(materialNos), new HashSet<>(effectiveMaterialNos)); + VUtils.isTure(CollUtil.isNotEmpty(difference)).throwMessage(StrUtil.join(",", difference) + "在物料主数据中不存在"); + } //检查数据是否可修改 List notNullRowIdList= dto.getDatas().stream().filter(u->u.getRowId()!=null && u.getRowId()>0).collect(Collectors.toList());