From 195fff751fa14f00d7828d023cda4a17219ac4b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 4 Sep 2024 11:08:52 +0800 Subject: [PATCH] =?UTF-8?q?pbom-=E5=8F=91=E5=B8=83=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E5=8F=98=E5=8C=96T=E9=A1=B9=E6=97=B6=EF=BC=8C=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E6=9B=B4=E6=96=B0T=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewPbomParentService.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) 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 05bc1ceb..cd535229 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 @@ -1,6 +1,7 @@ package com.nflg.product.bomnew.service; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; @@ -1216,6 +1217,33 @@ public class BomNewPbomParentService extends ServiceImpl oldBomT = oldBomDetail.stream().filter(u -> EBomConstant.PROJECT_TYPE_T.equalsIgnoreCase(u.getProcureType())).collect(Collectors.toList()); + //新T项 + List newBomT = newChildren.stream().filter(u -> EBomConstant.PROJECT_TYPE_T.equalsIgnoreCase(u.getProcureType())).collect(Collectors.toList()); + Set oldTSet = oldBomT.stream().map(BomNewPbomParentVO::getMaterialNoAndNumAndProjectType).collect(Collectors.toSet()); + Set newTSet = newBomT.stream().map(BomNewPbomParentVO::getMaterialNoAndNumAndProjectType).collect(Collectors.toSet()); + + if(CollUtil.isNotEmpty(newBomT) && !newTSet.equals(oldTSet)){ + if (CollUtil.isNotEmpty(oldBomT)) { + List bomRowIdsForT = oldBomT.stream().map(u -> u.getRowId()).collect(Collectors.toList()); + SpringUtil.getBean(BomNewPbomChildService.class).getBaseMapper().deleteBatchIds(bomRowIdsForT); + } + List tNewChildren=new ArrayList<>(); + for (BomNewPbomParentVO netT : newBomT) { + BomNewPbomChildEntity childEnt = new BomNewPbomChildEntity(); + BeanUtil.copyProperties(netT, childEnt); + childEnt.setRowId(IdWorker.getId()); + childEnt.setParentRowId(oldParent.getRowId()); + childEnt.setFacCode(oldParent.getFacCode()); + childEnt.setIdentityNo(StrUtil.join("-", oldParent.getMaterialNo(), netT.getMaterialNo())); + tNewChildren.add(childEnt); + } + if (CollUtil.isNotEmpty(tNewChildren)) { + pbomChildService.saveBatch(tNewChildren); + } + } } else if(oldChildSet.equals(newChildSet)){ newPBom.setCurrentVersion( VersionUtil.getNextVersionForSmallVersion(oldParent.getCurrentVersion()));