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 ef256c59..b4ec5c1b 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 @@ -593,6 +593,12 @@ public class BomNewPbomParentService extends ServiceImpl childList = pbomChildService.getBaseMapper().selectBatchIds(paramDTO.getRowIdList()); List childListVO = Convert.toList(BomNewPbomParentVO.class, childList); materialMainService.intiMaterialInfo(childListVO); + //校验当前BOM中如果只有一行“BOM已删除”标记行时,不让删除保存 + List kChildList = childList.stream().filter(c -> Objects.equals("K",c.getProjectType())).collect(Collectors.toList()); + if(kChildList.size() > 0){ + int cnt = pbomChildService.count(Wrappers.lambdaQuery().eq(BomNewPbomChildEntity::getParentRowId,paramDTO.getBomRowId())); + VUtils.isTure(cnt == childList.size()).throwMessage("当前BOM中有一行“BOM已删除”标记行时,不能全部删除~"); + } // 判断是否是工艺包 List technologypackages = childListVO.stream() @@ -1316,6 +1322,7 @@ public class BomNewPbomParentService extends ServiceImpl oldBomDetail = this.getBaseMapper().getParentChild(oldParent.getRowId()); List oldBomNoTChildren = oldBomDetail.stream().filter(u -> !EBomConstant.PROJECT_TYPE_T.equalsIgnoreCase(u.getProjectType())).collect(Collectors.toList()); @@ -1481,6 +1488,8 @@ public class BomNewPbomParentService extends ServiceImpl materialNos = pbomChildService.lambdaQuery() .select(BomNewPbomChildEntity::getMaterialNo) .eq(BomNewPbomChildEntity::getParentRowId, bom.getBomRowId()) + .apply(" material_no != '' ") .list() .stream() .map(BomNewPbomChildEntity::getMaterialNo) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java index 7e07abd8..526920a7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java @@ -52,6 +52,18 @@ public class PBomDetailTask extends RecursiveTask> { */ public void handlerChildBomVersionDetail() { List materialNos = bomDetail.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(BomNewPbomParentVO::getMaterialNo).collect(Collectors.toList()); + //项目列表为K项时,没有物料编码,相关属性取parent值 by 10002327 241018 +// List kList = bomDetail.stream().filter(u -> Objects.equals(u.getProjectType(),"K")).collect(Collectors.toList()); +// kList.forEach(k -> { +// BomNewPbomParentEntity parent = SpringUtil.getBean(BomNewPbomParentService.class).lambdaQuery().eq(BomNewPbomParentEntity::getRowId, k.getParentRowId()).one(); +// k.setDeviseUserCode(parent.getDeviseUserCode()); +// k.setDeviseName(parent.getDeviseName()); +// k.setDeptName(parent.getDeptName()); +// k.setDeptRowId(parent.getDeptRowId()); +// k.setStatus(parent.getStatus()); +// k.setEditStatus(parent.getEditStatus()); +// k.setVirtualPackageIs(parent.getVirtualPackageIs()); +// }); if (CollUtil.isNotEmpty(materialNos)) {