From 7106ca269faaa384b10f9dc08b5c886b85d79868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Mon, 26 Aug 2024 15:35:44 +0800 Subject: [PATCH 01/29] =?UTF-8?q?EBOM=E6=AD=A3=E5=BC=8F=E8=BD=ACPBOM?= =?UTF-8?q?=E5=85=A8=E6=96=B0=E9=80=BB=E8=BE=91-=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EBom/topbomnew/EBomToPBomForFormal31New.java | 10 ++++++---- .../domain/EBom/topbomnew/EBomToPBomForFormalNew.java | 9 ++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index 05092e69..3b0e72db 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -3,18 +3,15 @@ package com.nflg.product.bomnew.service.domain.EBom.topbomnew; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.extra.spring.SpringUtil; import com.alibaba.excel.enums.BooleanEnum; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.constant.ConvertToPBomModelEnum; import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; -import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; -import com.nflg.product.bomnew.service.domain.EBom.EBomToPbomBase; import com.nflg.product.bomnew.util.ListCommonUtil; import lombok.NoArgsConstructor; @@ -116,9 +113,14 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //对比PBOM 版本是否一致(跟节点除外) - if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && compareContentIsSame(vo, mergeChild, facCode)){ + if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ continue; } + if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ + if(compareContentIsSame(vo,mergeChild,facCode)){ + continue; + } + } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); if(Objects.isNull(parentEnt)){ continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java index 08e7bd25..159f78f7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java @@ -72,9 +72,16 @@ public class EBomToPBomForFormalNew extends FormalEBomToPbomBase { //子级 List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); - if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && compareContentIsSame(vo, mergeChild, facCode)){ + + //对比PBOM 版本是否一致(跟节点除外) + if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ continue; } + if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ + if(compareContentIsSame(vo,mergeChild,facCode)){ + continue; + } + } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); From 839b983da61bf6c5b8bb1e8affe99ed7fef14e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Mon, 26 Aug 2024 17:37:56 +0800 Subject: [PATCH 02/29] =?UTF-8?q?PBOM-=E5=B7=A5=E4=BD=9C=E8=A1=A8=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=A1=8C=E5=8A=A0=E5=B7=A5=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/service/BomNewPbomParentService.java | 1 + 1 file changed, 1 insertion(+) 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 349661fe..f47760c1 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 @@ -424,6 +424,7 @@ public class BomNewPbomParentService extends ServiceImplStrUtil.isBlank(u.getFacCode())).collect(Collectors.toList()).forEach(u->u.setFacCode(parent.getFacCode())); List childList = Convert.toList(BomNewPbomChildEntity.class, paramDTO.getChildList()); List childIds = paramDTO.getChildList().stream().map(BomNewPbomParentVO::getRowId).collect(Collectors.toList()); List pChildList = Lists.newArrayList(); From fe50a7611dd1ea07879c77a6719a2e796081193d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 27 Aug 2024 11:00:49 +0800 Subject: [PATCH 03/29] =?UTF-8?q?PBOM-=E5=85=A8=E6=96=B0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=9A=201=E3=80=81=E7=9B=B4=E5=8F=91=E5=8C=85=E4=B8=BA?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E9=97=AE=E9=A2=98=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=202=E3=80=8131=E7=94=9F=E6=88=90=E4=BA=86A00.1?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/pojo/vo/BomNewEbomParentVO.java | 4 +-- .../bomnew/pojo/vo/BomNewPbomParentVO.java | 6 ++--- .../service/BomNewPbomParentService.java | 25 +++++++++++++------ .../nflg/product/bomnew/util/MyStrUtil.java | 3 ++- 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java index 72f7fa34..d6c4572d 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java @@ -366,13 +366,13 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable { private String materialNoAndNumAndProjectType; public String getMaterialNoAndNumAndProjectType() { - return MyStrUtil.join(getMaterialNo(),getNum(),getProjectType()); + return MyStrUtil.joinStr(getMaterialNo(),getNum(),getProjectType()); } private String materialNoAndNum; public String getMaterialNoAndNum() { - return MyStrUtil.join(getMaterialNo(),getNum()); + return MyStrUtil.joinStr(getMaterialNo(),getNum()); } private static final long serialVersionUID = 1L; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java index 7a627df4..ada98668 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java @@ -317,17 +317,17 @@ public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable { private String materialNoAndNumAndProjectType; public String getMaterialNoAndProjectType() { - return MyStrUtil.join(getMaterialNo(),getProjectType()); + return MyStrUtil.joinStr(getMaterialNo(),getProjectType()); } public String getMaterialNoAndNumAndProjectType() { - return MyStrUtil.join(StrUtil.isNotBlank(getOriginalMaterialNo())?getOriginalMaterialNo(): getMaterialNo(),Objects.nonNull(getOriginalNum())?getOriginalNum(): getNum(),StrUtil.isNotBlank(getOriginalProjectType())?getOriginalProjectType(): getProjectType()); + return MyStrUtil.joinStr(StrUtil.isNotBlank(getOriginalMaterialNo())?getOriginalMaterialNo(): getMaterialNo(),Objects.nonNull(getOriginalNum())?getOriginalNum(): getNum(),StrUtil.isNotBlank(getOriginalProjectType())?getOriginalProjectType(): getProjectType()); } private String materialNoAndNum; public String getMaterialNoAndNum() { - return MyStrUtil.join(StrUtil.isNotBlank(getOriginalMaterialNo())?getOriginalMaterialNo(): getMaterialNo(),Objects.nonNull(getOriginalNum())?getOriginalNum(): getNum()); + return MyStrUtil.joinStr(StrUtil.isNotBlank(getOriginalMaterialNo())?getOriginalMaterialNo(): getMaterialNo(),Objects.nonNull(getOriginalNum())?getOriginalNum(): getNum()); } //发布PBOM 时 ,对比Pbom已发布版是否一致,一致则不转PBOM正式,直接删除PBOM 草稿数据 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 f47760c1..45fc2e3c 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 @@ -14,10 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import com.google.common.collect.*; import com.mzt.logapi.context.LogRecordContext; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; @@ -1121,7 +1118,7 @@ public class BomNewPbomParentService extends ServiceImpl= PBomStatusEnum.PUBLISH.getValue()).throwMessage("pbom已发布无需在发布,请刷新数据"); + // VUtils.isTure(parent.getStatus() >= PBomStatusEnum.PUBLISH.getValue()).throwMessage("pbom已发布无需在发布,请刷新数据"); LogRecordContext.putVariable("bom", parent); try { List allBom = getAllBom(bomRowId, 0); @@ -1144,7 +1141,19 @@ public class BomNewPbomParentService extends ServiceImpl parentList=new ArrayList<>(); + parentList.add(parentVo); + initPBomCurrentVersion(parentList); + List delNoReleaseParentBom = parentList.stream().filter(u -> u.getDelIs().equals(1)).map(u->u.getBomRowId()).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(delNoReleaseParentBom)){ + this.delPBom(delNoReleaseParentBom); + } + else { + bomRowIds.add(bomRowId); + } this.getBaseMapper().bomRelease(state, SessionUtil.getUserName(), bomRowIds); //同步sap // saySyncDEMO(); @@ -1173,6 +1182,8 @@ public class BomNewPbomParentService extends ServiceImpl oldBomDetail = this.getBaseMapper().getParentChild(oldParent.getRowId()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MyStrUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MyStrUtil.java index 3515bc20..8aa0dac9 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MyStrUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MyStrUtil.java @@ -6,7 +6,8 @@ import com.google.common.base.Joiner; public class MyStrUtil extends StrUtil { private static Joiner joiner=Joiner.on("").skipNulls(); - public static String joinStr(String ... str){ + public static String joinStr(Object ... str){ return joiner.join(str); } + } From 66602739f517232553ac0ffba59b6e97fbb576d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 27 Aug 2024 11:02:09 +0800 Subject: [PATCH 04/29] =?UTF-8?q?PBOM-=E5=85=A8=E6=96=B0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=9A=201=E3=80=81=E7=9B=B4=E5=8F=91=E5=8C=85=E4=B8=BA?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E9=97=AE=E9=A2=98=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=202=E3=80=8131=E7=94=9F=E6=88=90=E4=BA=86A00.1?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 45fc2e3c..9bf14927 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 @@ -1118,7 +1118,7 @@ public class BomNewPbomParentService extends ServiceImpl= PBomStatusEnum.PUBLISH.getValue()).throwMessage("pbom已发布无需在发布,请刷新数据"); + VUtils.isTure(parent.getStatus() >= PBomStatusEnum.PUBLISH.getValue()).throwMessage("pbom已发布无需在发布,请刷新数据"); LogRecordContext.putVariable("bom", parent); try { List allBom = getAllBom(bomRowId, 0); From bbf9c85447ac8d3d8d50b1d19d0d313d62f4581b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 27 Aug 2024 11:40:08 +0800 Subject: [PATCH 05/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-parent=E8=A1=A8?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E4=B8=BA1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/OriginalBom/OriginalBomToEBomV2Convert.java | 1 + 1 file changed, 1 insertion(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomV2Convert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomV2Convert.java index 1e4dd589..11de0fdb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomV2Convert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomV2Convert.java @@ -385,6 +385,7 @@ public class OriginalBomToEBomV2Convert extends BaseConvert { eBomParent.setConvertToEbomTime(LocalDateTime.now()); eBomParent.setSourceRowId(StrUtil.isNotBlank(parentEnt.getSourceRowId()) ? parentEnt.getSourceRowId() : parentEnt.getRowId().toString()); eBomParent.setLastVersionIs(1); + eBomParent.setNum(new BigDecimal(1)); eBomParent.setEditStatus(EbomEditStatusEnum.HANDLER_CREATED.getValue()); //eBomParent.setModifyTime(LocalDateTime.now()); // eBomParent.setBomExist(parentEnt.getBomRowId() > 0 ? 1 : 0); From f69a7ace2001654300e5986bc42d5b3d5d69605d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 27 Aug 2024 14:00:32 +0800 Subject: [PATCH 06/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D-PBOM=E5=8F=91=E5=B8=83=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 4 ++++ 1 file changed, 4 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 9bf14927..df547cd1 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 @@ -1197,6 +1197,10 @@ 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()); From b7e9efecb7a30539bd0ed11d4fb77349dcd0cb44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 27 Aug 2024 14:25:57 +0800 Subject: [PATCH 07/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D-PBOM=E5=8F=91=E5=B8=83=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java | 2 ++ 1 file changed, 2 insertions(+) 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 4143a67a..b2ae99bd 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 @@ -25,6 +25,7 @@ import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import nflg.product.common.vo.ResultVO; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -287,6 +288,7 @@ public class PBomApi extends BaseApi { @PostMapping("realesePbom") @ApiOperation("发布Pbom") + @Transactional(rollbackFor = Exception.class) @LogRecord(success = "发布PBom,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}} 操作结果:{{#_ret}}", bizNo = "{{#bomRowId}}",type = "发布PBom") public ResultVO> realesePbom(@Valid @RequestBody @NotNull PbomImportToSAPQuery query) { bomNewPbomParentService.realesePbom(query.getRootBomRowId()); From 19ce8eabc0738cf71f1b45848646a27f9379c0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 27 Aug 2024 14:58:56 +0800 Subject: [PATCH 08/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/api/user/PBomApi.java | 12 ++++++++++-- .../bomnew/service/BomNewPbomParentService.java | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) 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 b2ae99bd..1c55aa50 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 @@ -36,6 +36,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.ExecutionException; /** @@ -288,11 +289,18 @@ public class PBomApi extends BaseApi { @PostMapping("realesePbom") @ApiOperation("发布Pbom") - @Transactional(rollbackFor = Exception.class) @LogRecord(success = "发布PBom,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}} 操作结果:{{#_ret}}", bizNo = "{{#bomRowId}}",type = "发布PBom") public ResultVO> realesePbom(@Valid @RequestBody @NotNull PbomImportToSAPQuery query) { - bomNewPbomParentService.realesePbom(query.getRootBomRowId()); + BomNewPbomParentEntity parent = bomNewPbomParentService.realesePbom(query.getRootBomRowId()); + BomNewPbomParentEntity parentEnt = bomNewPbomParentService.getById(query.getRootBomRowId()); + if(Objects.isNull(parentEnt)){ + parentEnt = bomNewPbomParentService.lambdaQuery().eq(BomNewPbomParentEntity::getMaterialNo, parent.getMaterialNo()) + .eq(BomNewPbomParentEntity::getFacCode, parent.getFacCode()) + .last(" order by current_version desc limit 1").one(); + query.setRootBomRowId(parentEnt.getRowId()); + } return ResultVO.success(bomNewPbomParentService.importToSAP2(query)); + } 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 df547cd1..49809aab 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 @@ -1116,7 +1116,7 @@ public class BomNewPbomParentService extends ServiceImpl= PBomStatusEnum.PUBLISH.getValue()).throwMessage("pbom已发布无需在发布,请刷新数据"); LogRecordContext.putVariable("bom", parent); @@ -1178,7 +1178,7 @@ public class BomNewPbomParentService extends ServiceImpl Date: Wed, 28 Aug 2024 08:30:51 +0800 Subject: [PATCH 09/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/BomNewPbomParentService.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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 49809aab..05e5b660 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 @@ -326,11 +326,8 @@ public class BomNewPbomParentService extends ServiceImpl materialNos = parentChild.stream().map(BaseMaterialVO::getMaterialNo).collect(Collectors.toList()); if (CollUtil.isNotEmpty(materialNos)) { List list = this.lambdaQuery().in(BomNewPbomParentEntity::getMaterialNo, materialNos) - // .eq(PBomStatusEnum.PUBLISH.equalsValue(parent.getStatus()), BomNewPbomParentEntity::getLastVersionIs, 1) - // .lt(!PBomStatusEnum.PUBLISH.equalsValue(parent.getStatus()),BomNewPbomParentEntity::getStatus,PBomStatusEnum.PUBLISH.getValue()) - // .eq(PBomStatusEnum.PUBLISH.equalsValue(parent.getStatus()),BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) - .eq(PBomStatusEnum.PUBLISH.getValue() > parent.getStatus(), BomNewPbomParentEntity::getLastVersionIs, 1) - .ge(PBomStatusEnum.PUBLISH.getValue() <= parent.getStatus(), BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) + .eq(type.equals(0), BomNewPbomParentEntity::getLastVersionIs, 1) + .ge(type.equals(1), BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) .eq(BomNewPbomParentEntity::getFacCode,parent.getFacCode()) .list(); From c4349f44a9f6a824965a68b4966ef387cfbc5564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 15 Aug 2024 22:10:42 +0800 Subject: [PATCH 10/29] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=B8=BB=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=201=E3=80=81=E3=80=90=E7=89=A9=E6=96=99=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E3=80=91=E7=94=B3=E8=AF=B7=E9=83=A8=E9=97=A8=E6=98=AF?= =?UTF-8?q?=E8=90=A5=E9=94=80=E4=B8=AD=E5=BF=83=EF=BC=8C11,21=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=EF=BC=8C=E7=94=B1=E5=86=BB=E7=BB=93=E6=94=B9=E6=88=90?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E7=8A=B6=E6=80=81=EF=BC=8C=E4=B8=8D=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E6=94=B9=E6=88=90=E6=BF=80=E6=B4=BB=202=E3=80=81?= =?UTF-8?q?=E3=80=90=E7=89=A9=E6=96=99=E7=94=B3=E8=AF=B7=E3=80=91=E6=94=AF?= =?UTF-8?q?=E6=8C=8161=E5=A4=A7=E7=B1=BB=E7=89=A9=E6=96=99=E7=94=B3?= =?UTF-8?q?=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/material/MaterialMainExcelApi.java | 2 ++ .../service/MaterialUpdateBillService.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainExcelApi.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainExcelApi.java index 7382d4f8..cda8cc98 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainExcelApi.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/material/MaterialMainExcelApi.java @@ -59,6 +59,8 @@ public class MaterialMainExcelApi extends BaseApi { EecExcelUtil.setResponseExcelHeader(response, categoryCode); if (categoryCode.startsWith("30")) { throw new NflgBusinessException(STATE.ParamErr, "整机物料不可批量导入"); + } else if (categoryCode.startsWith("60")) { + throw new NflgBusinessException(STATE.ParamErr, "服务物料不可批量导入"); } if (categoryCode.startsWith("20") || categoryCode.startsWith("22")) { new Workbook("物料导入", "").addSheet(new ListSheet<>(categoryCode, ImmutableList.of(new MaterialSelfExcelDTO()))).writeTo(response.getOutputStream()); diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialUpdateBillService.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialUpdateBillService.java index f5790539..26565695 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialUpdateBillService.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/service/MaterialUpdateBillService.java @@ -474,6 +474,7 @@ public class MaterialUpdateBillService extends ServiceImpl updateList, String applyDeptCode) { + if (CollectionUtil.isEmpty(updateList)) { + return; + } + if (!applyDeptCode.contains("营销中心")) { + return; + } + List filterList = updateList.stream().filter(update -> (update.getOldCategoryCode().startsWith("10") || update.getOldCategoryCode().startsWith("20")) + && update.getOldMaterialState().equals(MaterialStateEnum.FROZEN.getValue()) + && (ObjectUtil.isNotEmpty(update.getNewMaterialState()) && update.getNewMaterialState().equals(MaterialStateEnum.ACTIVATE.getValue()))).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(filterList)) { + List materialNos = filterList.stream().map(MaterialUpdateBillEntity::getMaterialNo).collect(Collectors.toList()); + throw new NflgBusinessException(STATE.ParamErr, StrUtil.join(",", materialNos).concat("物料解冻时,禁止改成激活")); + } + } + /** * 获取物料分类tree * From f983cf3bcb09cdcb6f379dc55e27815e0bb685b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 11:17:01 +0800 Subject: [PATCH 11/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java | 2 +- .../product/bomnew/service/domain/EBom/EBomToPBomFor31.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index 48354634..abc97b54 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -77,7 +77,7 @@ public class EBomToPBom extends EBomToPbomBase { List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //判断pbom 是否一致 - if( compareContentIsSame(vo, mergeChild, facCode)){ + if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ continue; } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index 1b328273..c617f4ea 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -117,7 +117,7 @@ public class EBomToPBomFor31 extends EBomToPbomBase { //子级 List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); - if(compareContentIsSame(vo, mergeChild, facCode)){ + if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ continue; } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode, parentList); From ba1209700a44255e07d8236d69441dba92dc19bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 08:30:51 +0800 Subject: [PATCH 12/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/BomNewPbomParentService.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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 49809aab..05e5b660 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 @@ -326,11 +326,8 @@ public class BomNewPbomParentService extends ServiceImpl materialNos = parentChild.stream().map(BaseMaterialVO::getMaterialNo).collect(Collectors.toList()); if (CollUtil.isNotEmpty(materialNos)) { List list = this.lambdaQuery().in(BomNewPbomParentEntity::getMaterialNo, materialNos) - // .eq(PBomStatusEnum.PUBLISH.equalsValue(parent.getStatus()), BomNewPbomParentEntity::getLastVersionIs, 1) - // .lt(!PBomStatusEnum.PUBLISH.equalsValue(parent.getStatus()),BomNewPbomParentEntity::getStatus,PBomStatusEnum.PUBLISH.getValue()) - // .eq(PBomStatusEnum.PUBLISH.equalsValue(parent.getStatus()),BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) - .eq(PBomStatusEnum.PUBLISH.getValue() > parent.getStatus(), BomNewPbomParentEntity::getLastVersionIs, 1) - .ge(PBomStatusEnum.PUBLISH.getValue() <= parent.getStatus(), BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) + .eq(type.equals(0), BomNewPbomParentEntity::getLastVersionIs, 1) + .ge(type.equals(1), BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) .eq(BomNewPbomParentEntity::getFacCode,parent.getFacCode()) .list(); From ef3287ba9ca019ca73cb8dc3123f0b0aa56ed803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 11:17:01 +0800 Subject: [PATCH 13/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java | 2 +- .../product/bomnew/service/domain/EBom/EBomToPBomFor31.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index 48354634..abc97b54 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -77,7 +77,7 @@ public class EBomToPBom extends EBomToPbomBase { List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //判断pbom 是否一致 - if( compareContentIsSame(vo, mergeChild, facCode)){ + if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ continue; } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index 1b328273..c617f4ea 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -117,7 +117,7 @@ public class EBomToPBomFor31 extends EBomToPbomBase { //子级 List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); - if(compareContentIsSame(vo, mergeChild, facCode)){ + if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ continue; } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode, parentList); From e98b0f063a293c4c1c3e014ad39ad782b0d7fd8e Mon Sep 17 00:00:00 2001 From: 10002327 Date: Wed, 28 Aug 2024 11:32:53 +0800 Subject: [PATCH 14/29] =?UTF-8?q?PBOM=E5=AD=90=E8=A1=A8SourceParentMateria?= =?UTF-8?q?lNo=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/domain/EBom/ChangeImpactUpgrade.java | 2 ++ .../com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java | 2 ++ .../product/bomnew/service/domain/EBom/EBomToPBomFor31.java | 2 ++ .../product/bomnew/service/domain/EBom/EBomToPBomForFormal.java | 2 ++ .../bomnew/service/domain/EBom/EBomToPBomForFormal31.java | 2 ++ .../nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java | 2 ++ 6 files changed, 12 insertions(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/ChangeImpactUpgrade.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/ChangeImpactUpgrade.java index 68102b87..9e6171e3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/ChangeImpactUpgrade.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/ChangeImpactUpgrade.java @@ -77,6 +77,8 @@ public class ChangeImpactUpgrade extends EBomToPbomBase { childEnt.setParentRowId(vParent.getRowId()); childEnt.setFacCode(facCode); childEnt.setIdentityNo(StrUtil.join("-", vParent.getMaterialNo(), eb.getMaterialNo())); + //原ebom父级编码 by luohj 240828 + childEnt.setSourceParentMaterialNo(vMaterial.get(0).getMaterialNo()); childEnt.setOriginalMaterialNo(eb.getMaterialNo()); childEnt.setOriginalProjectType(eb.getProjectType()); childEnt.setOriginalNum(eb.getNum()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index 48354634..a32629e3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -96,6 +96,8 @@ public class EBomToPBom extends EBomToPbomBase { childEnt.setSourceRowId(eb.getRowId()); childEnt.setIdentityNo(StrUtil.join("-", parentEnt.getMaterialNo(), eb.getMaterialNo())); childEnt.setOriginalMaterialNo(eb.getMaterialNo()); + //原ebom父级编码 by luohj 240828 + childEnt.setSourceParentMaterialNo(vo.getMaterialNo()); childEnt.setOriginalProjectType(eb.getProjectType()); childEnt.setOriginalNum(eb.getNum()); childEnt.setCreatedTime(LocalDateTime.now()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index 1b328273..00fe3237 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -136,6 +136,8 @@ public class EBomToPBomFor31 extends EBomToPbomBase { childEnt.setIdentityNo(StrUtil.join("-", parentEnt.getMaterialNo(), eb.getMaterialNo())); childEnt.setSource(PbomSourceEnum.FROM_EBOM.getValue()); childEnt.setSourceStatus(PbomSourceStatusEnum.EBOM.getValue()); + //原ebom父级编码 by luohj 240828 + childEnt.setSourceParentMaterialNo(vo.getMaterialNo()); childEnt.setOriginalMaterialNo(eb.getMaterialNo()); childEnt.setOriginalNum(eb.getNum()); childEnt.setOriginalProjectType(eb.getProjectType()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal.java index b02885fa..c6830cb4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal.java @@ -106,6 +106,8 @@ public class EBomToPBomForFormal extends EBomToPbomBase { childEnt.setFacCode(facCode); childEnt.setSourceRowId(eb.getRowId()); childEnt.setIdentityNo(StrUtil.join("-", parentEnt.getMaterialNo(), eb.getMaterialNo())); + //原ebom父级编码 by luohj 240828 + childEnt.setSourceParentMaterialNo(vo.getMaterialNo()); childEnt.setOriginalMaterialNo(eb.getMaterialNo()); childEnt.setOriginalNum(eb.getNum()); childEnt.setOriginalProjectType(eb.getProjectType()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal31.java index 199623c6..a3e85855 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomForFormal31.java @@ -151,6 +151,8 @@ public class EBomToPBomForFormal31 extends EBomToPbomBase { childEnt.setParentRowId(parentEnt.getRowId()); childEnt.setFacCode(facCode); childEnt.setIdentityNo(StrUtil.join("-", parentEnt.getMaterialNo(), eb.getMaterialNo())); + //原ebom父级编码 by luohj 240828 + childEnt.setSourceParentMaterialNo(vo.getMaterialNo()); childEnt.setOriginalMaterialNo(eb.getMaterialNo()); childEnt.setOriginalNum(eb.getNum()); childEnt.setOriginalProjectType(eb.getProjectType()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index a92c4c1a..c8b4b3c0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -121,6 +121,8 @@ public abstract class EBomToPbomBase { childEnt.setParentRowId(oldParent.getRowId()); childEnt.setFacCode(facCode); childEnt.setIdentityNo(StrUtil.join("-", oldParent.getMaterialNo(), netT.getMaterialNo())); + //原ebom父级编码 by luohj 240828 + childEnt.setSourceParentMaterialNo(pVo.getMaterialNo()); childEnt.setOriginalMaterialNo(netT.getMaterialNo()); childEnt.setOriginalNum(netT.getNum()); childEnt.setOriginalProjectType(netT.getProjectType()); From ca7bbdc3532c7445124040de2b08a55c9bae0ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 14:23:04 +0800 Subject: [PATCH 15/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewPbomParentService.java | 33 +++++++++---------- .../topbomnew/EBomToPBomForFormalNew.java | 9 +++-- 2 files changed, 22 insertions(+), 20 deletions(-) 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 05e5b660..8abdf474 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 @@ -1151,24 +1151,23 @@ public class BomNewPbomParentService extends ServiceImpl 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)) { - pbomChildService.updateBatchById(pBomChildren); - } + if(CollUtil.isNotEmpty(bomRowIds)) { + this.getBaseMapper().bomRelease(state, SessionUtil.getUserName(), bomRowIds); + //记录-BOM版本RowId + 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)) { + pbomChildService.updateBatchById(pBomChildren); + } - //历史版本转移到formal正式工作表 - pBomToFormal(bomRowIds, parentMaterialNos,parent.getFacCode()); + //历史版本转移到formal正式工作表 + pBomToFormal(bomRowIds, parentMaterialNos, parent.getFacCode()); + } // SpringUtil.getBean(BomNewPbomParentFormalService.class).copyPbomFormal(bomRowId); } catch (Exception ex) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java index 159f78f7..8aa414d8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java @@ -89,10 +89,13 @@ public class EBomToPBomForFormalNew extends FormalEBomToPbomBase { continue; } //检查是否用户跟用户节点() - List childMaterialNos = SpringUtil.getBean(BomNewPbomParentMapper.class).getPBomExistMaterialInChildForWorkList(parentEnt.getMaterialNo()); - if(CollUtil.isEmpty(childMaterialNos)){ - parentEnt.setUserRootIs(1); + if(parentEnt.getMaterialNo().equals(parent.getMaterialNo())) { + List childMaterialNos = SpringUtil.getBean(BomNewPbomParentMapper.class).getPBomExistMaterialInChildForWorkList(parent.getMaterialNo()); + if (CollUtil.isEmpty(childMaterialNos)) { + parentEnt.setUserRootIs(1); + } } + //子级 if (CollUtil.isNotEmpty(child)) { //合并子级 From b8ff69b50c0c8350f52fb34edc97a22362da0775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 14:24:58 +0800 Subject: [PATCH 16/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/EBom/topbomnew/EBomToPBomForFormal31New.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index 3b0e72db..0685edd8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -3,12 +3,14 @@ package com.nflg.product.bomnew.service.domain.EBom.topbomnew; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.spring.SpringUtil; import com.alibaba.excel.enums.BooleanEnum; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.constant.ConvertToPBomModelEnum; import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; +import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; @@ -125,6 +127,13 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { if(Objects.isNull(parentEnt)){ continue; } + //检查是否用户跟用户节点() + if(parentEnt.getMaterialNo().equals(parent.getMaterialNo())) { + List childMaterialNos = SpringUtil.getBean(BomNewPbomParentMapper.class).getPBomExistMaterialInChildForWorkList(parent.getMaterialNo()); + if (CollUtil.isEmpty(childMaterialNos)) { + parentEnt.setUserRootIs(1); + } + } //子级 if (CollUtil.isNotEmpty(child)) { From 4e0f149ac999a7e6728409072a748a7f72255083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 14:23:04 +0800 Subject: [PATCH 17/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewPbomParentService.java | 33 +++++++++---------- .../topbomnew/EBomToPBomForFormalNew.java | 9 +++-- 2 files changed, 22 insertions(+), 20 deletions(-) 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 05e5b660..8abdf474 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 @@ -1151,24 +1151,23 @@ public class BomNewPbomParentService extends ServiceImpl 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)) { - pbomChildService.updateBatchById(pBomChildren); - } + if(CollUtil.isNotEmpty(bomRowIds)) { + this.getBaseMapper().bomRelease(state, SessionUtil.getUserName(), bomRowIds); + //记录-BOM版本RowId + 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)) { + pbomChildService.updateBatchById(pBomChildren); + } - //历史版本转移到formal正式工作表 - pBomToFormal(bomRowIds, parentMaterialNos,parent.getFacCode()); + //历史版本转移到formal正式工作表 + pBomToFormal(bomRowIds, parentMaterialNos, parent.getFacCode()); + } // SpringUtil.getBean(BomNewPbomParentFormalService.class).copyPbomFormal(bomRowId); } catch (Exception ex) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java index 159f78f7..8aa414d8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java @@ -89,10 +89,13 @@ public class EBomToPBomForFormalNew extends FormalEBomToPbomBase { continue; } //检查是否用户跟用户节点() - List childMaterialNos = SpringUtil.getBean(BomNewPbomParentMapper.class).getPBomExistMaterialInChildForWorkList(parentEnt.getMaterialNo()); - if(CollUtil.isEmpty(childMaterialNos)){ - parentEnt.setUserRootIs(1); + if(parentEnt.getMaterialNo().equals(parent.getMaterialNo())) { + List childMaterialNos = SpringUtil.getBean(BomNewPbomParentMapper.class).getPBomExistMaterialInChildForWorkList(parent.getMaterialNo()); + if (CollUtil.isEmpty(childMaterialNos)) { + parentEnt.setUserRootIs(1); + } } + //子级 if (CollUtil.isNotEmpty(child)) { //合并子级 From 71709934965800ca4b00148364e0043652059371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 14:24:58 +0800 Subject: [PATCH 18/29] =?UTF-8?q?=E8=BD=ACEBOM=E6=97=B6-=20PBOM=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8A=A5=E9=94=99=E4=BF=AE=E5=A4=8D4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/EBom/topbomnew/EBomToPBomForFormal31New.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index 3b0e72db..0685edd8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -3,12 +3,14 @@ package com.nflg.product.bomnew.service.domain.EBom.topbomnew; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.spring.SpringUtil; import com.alibaba.excel.enums.BooleanEnum; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.constant.ConvertToPBomModelEnum; import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; +import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; @@ -125,6 +127,13 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { if(Objects.isNull(parentEnt)){ continue; } + //检查是否用户跟用户节点() + if(parentEnt.getMaterialNo().equals(parent.getMaterialNo())) { + List childMaterialNos = SpringUtil.getBean(BomNewPbomParentMapper.class).getPBomExistMaterialInChildForWorkList(parent.getMaterialNo()); + if (CollUtil.isEmpty(childMaterialNos)) { + parentEnt.setUserRootIs(1); + } + } //子级 if (CollUtil.isNotEmpty(child)) { From 3abb688004c235188b6d73425161c664c063730b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 14:45:02 +0800 Subject: [PATCH 19/29] =?UTF-8?q?EBOM-getChild=E6=96=B9=E6=B3=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewEbomParentService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ccaf4ef8..57cafc16 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 @@ -383,7 +383,7 @@ public class BomNewEbomParentService extends ServiceImpl list = this.lambdaQuery().in(BomNewEbomParentEntity::getMaterialNo, materialNos) // .eq(!EBomStatusEnum.PUBLISHED.equalsValue(parent.getStatus()), BomNewEbomParentEntity::getLastVersionIs, 1) - .eq(EBomStatusEnum.PUBLISHED.equalsValue(parent.getStatus()), BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).list(); + .eq(type.equals(1), BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).list(); // if (EBomStatusEnum.CHECKED.equalsValue(parent.getStatus())) { // list = list.stream().filter(u -> EBomStatusEnum.CHECKED.equalsValue(u.getStatus())).collect(Collectors.toList()); // } From c250e9151489aa47ad5e0379a1f0e02d456fb28f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 14:45:02 +0800 Subject: [PATCH 20/29] =?UTF-8?q?EBOM-getChild=E6=96=B9=E6=B3=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewEbomParentService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ccaf4ef8..57cafc16 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 @@ -383,7 +383,7 @@ public class BomNewEbomParentService extends ServiceImpl list = this.lambdaQuery().in(BomNewEbomParentEntity::getMaterialNo, materialNos) // .eq(!EBomStatusEnum.PUBLISHED.equalsValue(parent.getStatus()), BomNewEbomParentEntity::getLastVersionIs, 1) - .eq(EBomStatusEnum.PUBLISHED.equalsValue(parent.getStatus()), BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).list(); + .eq(type.equals(1), BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).list(); // if (EBomStatusEnum.CHECKED.equalsValue(parent.getStatus())) { // list = list.stream().filter(u -> EBomStatusEnum.CHECKED.equalsValue(u.getStatus())).collect(Collectors.toList()); // } From a908b2d6f34afbf694d3de2a3534ed6ea08d6606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 28 Aug 2024 16:19:23 +0800 Subject: [PATCH 21/29] =?UTF-8?q?pbom=E5=8F=91=E5=B8=83=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=89=A9=E6=96=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 8abdf474..8f7f9688 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 @@ -1135,7 +1135,7 @@ public class BomNewPbomParentService extends ServiceImpl bomRowIds = allBom.stream().filter(u -> PBomStatusEnum.WAIT_PUBLISH.equalsValue(u.getStatus()) && u.getBomRowId() > 0).map(u -> u.getBomRowId()).collect(Collectors.toList()); List parentMaterialNos = allBom.stream().filter(u -> PBomStatusEnum.WAIT_PUBLISH.equalsValue(u.getStatus()) && u.getBomRowId() > 0).map(u->u.getMaterialNo()).collect(Collectors.toList()); - parentMaterialNos.add(parent.getMaterialNo()); + //Integer state = (parent.getMaterialNo().startsWith("31") && parent.getFacCode().equals(EBomConstant.MAIN_FACTORY_CODE_1010)) ? PBomStatusEnum.WAIT_FACTORY.getValue() : PBomStatusEnum.PUBLISH.getValue(); Integer state = parent.getMaterialNo().startsWith("31") ? PBomStatusEnum.FACTORY_CONFIRM.getValue() : PBomStatusEnum.PUBLISH.getValue(); @@ -1150,6 +1150,7 @@ public class BomNewPbomParentService extends ServiceImpl Date: Wed, 28 Aug 2024 16:19:23 +0800 Subject: [PATCH 22/29] =?UTF-8?q?pbom=E5=8F=91=E5=B8=83=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=89=A9=E6=96=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 8abdf474..8f7f9688 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 @@ -1135,7 +1135,7 @@ public class BomNewPbomParentService extends ServiceImpl bomRowIds = allBom.stream().filter(u -> PBomStatusEnum.WAIT_PUBLISH.equalsValue(u.getStatus()) && u.getBomRowId() > 0).map(u -> u.getBomRowId()).collect(Collectors.toList()); List parentMaterialNos = allBom.stream().filter(u -> PBomStatusEnum.WAIT_PUBLISH.equalsValue(u.getStatus()) && u.getBomRowId() > 0).map(u->u.getMaterialNo()).collect(Collectors.toList()); - parentMaterialNos.add(parent.getMaterialNo()); + //Integer state = (parent.getMaterialNo().startsWith("31") && parent.getFacCode().equals(EBomConstant.MAIN_FACTORY_CODE_1010)) ? PBomStatusEnum.WAIT_FACTORY.getValue() : PBomStatusEnum.PUBLISH.getValue(); Integer state = parent.getMaterialNo().startsWith("31") ? PBomStatusEnum.FACTORY_CONFIRM.getValue() : PBomStatusEnum.PUBLISH.getValue(); @@ -1150,6 +1150,7 @@ public class BomNewPbomParentService extends ServiceImpl Date: Wed, 28 Aug 2024 18:59:43 +0800 Subject: [PATCH 23/29] =?UTF-8?q?PBOM=E5=AD=90=E8=A1=A8=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E3=80=90source=5Fparent=5Fmaterial=5Fno=E3=80=91=E8=B5=8B?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java | 4 ++++ .../product/bomnew/service/BomNewPbomExportToSAPImpl.java | 3 ++- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 4 ++++ .../bomnew/service/domain/EBom/ChangeImpactUpgrade.java | 2 +- .../nflg/product/bomnew/service/domain/EBom/EBomToPBom.java | 2 +- .../product/bomnew/service/domain/EBom/EBomToPBomFor31.java | 2 +- .../bomnew/service/domain/EBom/EBomToPBomForFormal.java | 2 +- .../bomnew/service/domain/EBom/EBomToPBomForFormal31.java | 2 +- .../product/bomnew/service/domain/EBom/EBomToPbomBase.java | 2 +- 9 files changed, 16 insertions(+), 7 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java index 8defbefd..d8b88bd0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java @@ -299,6 +299,10 @@ public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable { @ApiModelProperty(value = "来源状态:1-EBOM导入、2-PBOM创建、3-E->P修改") private String sourceStatusName; + //PBOM发起变更时,漏掉该值 by luohj 240828 + @ApiModelProperty("来源行-父项物料编码") + private String sourceParentMaterialNo; + @ApiModelProperty("原始物料编码") private String originalMaterialNo; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java index 81ba2b60..9600facb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomExportToSAPImpl.java @@ -340,7 +340,8 @@ public class BomNewPbomExportToSAPImpl implements IBomNewPbomExportToSAP { , BomNewPbomChildEntity::getMaterialUnit, BomNewPbomChildEntity::getMaterialDesc , BomNewPbomChildEntity::getVirtualPartType, BomNewPbomChildEntity::getProjectType , BomNewPbomChildEntity::getFacCode, BomNewPbomChildEntity::getMaterialCategoryCode - , BomNewPbomChildEntity::getRowId) + , BomNewPbomChildEntity::getRowId + ,BomNewPbomChildEntity::getSourceParentMaterialNo) .eq(BomNewPbomChildEntity::getParentRowId, parent.getRowId()) .orderByAsc(BomNewPbomChildEntity::getOrderNumber) .list(); 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 5b3dca9e..13479ec2 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 @@ -1303,6 +1303,10 @@ public class BomNewPbomParentService extends ServiceImpl Date: Wed, 28 Aug 2024 21:58:11 +0800 Subject: [PATCH 24/29] =?UTF-8?q?1-eBOM-=E6=AD=A3=E5=BC=8F=E8=BD=ACPbom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EBom/topbomnew/EBomToPBomForFormal31New.java | 16 ++++++++-------- .../EBom/topbomnew/EBomToPBomForFormalNew.java | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index 3b0e72db..e27a6c4c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -113,14 +113,14 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //对比PBOM 版本是否一致(跟节点除外) - if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - continue; - } - if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - if(compareContentIsSame(vo,mergeChild,facCode)){ - continue; - } - } +// if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// continue; +// } +// if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// if(compareContentIsSame(vo,mergeChild,facCode)){ +// continue; +// } +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); if(Objects.isNull(parentEnt)){ continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java index 159f78f7..95e41f24 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java @@ -74,14 +74,14 @@ public class EBomToPBomForFormalNew extends FormalEBomToPbomBase { List mergeChild = mergeChild(child); //对比PBOM 版本是否一致(跟节点除外) - if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - continue; - } - if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - if(compareContentIsSame(vo,mergeChild,facCode)){ - continue; - } - } +// if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// continue; +// } +// if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// if(compareContentIsSame(vo,mergeChild,facCode)){ +// continue; +// } +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); From 72941481fa1bdbeaf444076ac53339f304fa5989 Mon Sep 17 00:00:00 2001 From: luoliming Date: Wed, 28 Aug 2024 23:47:18 +0800 Subject: [PATCH 25/29] =?UTF-8?q?1-eBOM=E8=8D=89=E7=A8=BF-=E8=BD=ACPbom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/EBom/EBomToPBom.java | 8 +-- .../service/domain/EBom/EBomToPBomFor31.java | 11 +-- .../service/domain/EBom/EBomToPbomBase.java | 71 +++++++++---------- .../topbomnew/EBomToPBomForFormal31New.java | 3 +- 4 files changed, 46 insertions(+), 47 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index abc97b54..69b8b1e4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -60,7 +60,7 @@ public class EBomToPBom extends EBomToPbomBase { //buildPBomParent(parent, facCode); for (BomNewEbomParentVO vo : parentList) { String hasConvertKey = StrUtil.join("-", facCode, vo.getBomRowId()); - if (hasConvert.contains(hasConvertKey) || (PBomStatusEnum.PUBLISH.equalsValue(vo.getStatus()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType()))) { + if (hasConvert.contains(hasConvertKey)) { continue; } hasConvert.add(hasConvertKey); @@ -77,9 +77,9 @@ public class EBomToPBom extends EBomToPbomBase { List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //判断pbom 是否一致 - if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ - continue; - } +// if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ +// continue; +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); if(Objects.isNull(parentEnt)){ continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index c617f4ea..2d7e4945 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -65,8 +65,9 @@ public class EBomToPBomFor31 extends EBomToPbomBase { for (BomNewEbomParentVO data : deliveryPackage1010) { List subVos = new ArrayList<>(); if (data.getMaterialName().contains("仙桃") ) { //只获取下降虚拟包(排除仙桃油漆包) - if(!data.getMaterialName().contains(VirtualPackageTypeEnum.PAINT_PACKAGE.getDescription())) { + subVos.add(data); + if(!VirtualPackageTypeEnum.PAINT_PACKAGE.getValue().equals(data.getVirtualPartType())) { subVos.addAll(result.stream().filter(u -> u.getParentRowId().equals(data.getBomRowId())).collect(Collectors.toList())); } } else { @@ -102,7 +103,7 @@ public class EBomToPBomFor31 extends EBomToPbomBase { .collect(Collectors.toList()), BomNewEbomParentVO::getBomRowId); for (BomNewEbomParentVO vo : parentList) { String hasConvertKey = StrUtil.join("-", facCode, vo.getBomRowId()); - if (hasConvert.contains(hasConvertKey) || (PBomStatusEnum.PUBLISH.equalsValue(vo.getStatus()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType()) )) { + if (hasConvert.contains(hasConvertKey) ) { continue; } hasConvert.add(hasConvertKey); @@ -117,9 +118,9 @@ public class EBomToPBomFor31 extends EBomToPbomBase { //子级 List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); - if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ - continue; - } +// if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ +// continue; +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode, parentList); if (Objects.isNull(parentEnt)) { continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index a92c4c1a..7806efa4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -203,12 +203,9 @@ public abstract class EBomToPbomBase { } else { //pbom-处于正式表 //Ebom为已发布时则直接跳过 (直发包,发货前装配包是则需对比Bom明细,一致则跳过,否则升级) - if (!EBomStatusEnum.PUBLISHED.equalsValue(parentVo.getStatus()) || (VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(parentVo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(parentVo.getVirtualPartType()))) { - String version = StrUtil.isBlank(parentVo.getCurrentVersion()) ? VersionUtil.getNextVersion("") : parentVo.getCurrentVersion(); - String bomVersion = VersionUtil.compare(version, oldParent.getCurrentVersion()) > 0 ? version : VersionUtil.getNextVersion(oldParent.getCurrentVersion()); - return buildParentEntity(parentVo, facCode, oldParent, bomVersion); - } - return null; + + return buildParentEntity(parentVo, facCode, oldParent, VersionUtil.getNextVersionForSmallVersion(oldParent.getCurrentVersion())); + } @@ -740,37 +737,37 @@ public abstract class EBomToPbomBase { List parentBoms = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); for (BomNewEbomParentVO parentBom : parentBoms) { List newParentChild = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parentBom.getBomRowId())).collect(Collectors.toList()); - if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { - //获取正式版 - BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) - .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) - .last(" order by current_version desc limit 1").one(); - if (Objects.nonNull(oldEBom)) { - List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); - - - //一样则无需转换 - if (isSameEBomV2(oldParentChild, newParentChild)) { - parentBom.setNoConvertToPBomIs(1); - parentBom.setHasChangeState(1); - //只变化项目类别-则使用小版本 - } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { - parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); - parentBom.setHasChangeState(2); - delOldEBom.add(oldEBom.getRowId()); - addEBomNew.add(parentBom.getBomRowId()); - } else { - parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); - parentBom.setHasChangeState(2); - delOldEBom.add(oldEBom.getRowId()); - addEBomNew.add(parentBom.getBomRowId()); - } - - } - else { - addEBomNew.add(parentBom.getBomRowId()); - } - } +// if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { +// //获取正式版 +// BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) +// .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) +// .last(" order by current_version desc limit 1").one(); +// if (Objects.nonNull(oldEBom)) { +// List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); +// +// +// //一样则无需转换 +// if (isSameEBomV2(oldParentChild, newParentChild)) { +// parentBom.setNoConvertToPBomIs(1); +// parentBom.setHasChangeState(1); +// //只变化项目类别-则使用小版本 +// } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { +// parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); +// parentBom.setHasChangeState(2); +// delOldEBom.add(oldEBom.getRowId()); +// addEBomNew.add(parentBom.getBomRowId()); +// } else { +// parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); +// parentBom.setHasChangeState(2); +// delOldEBom.add(oldEBom.getRowId()); +// addEBomNew.add(parentBom.getBomRowId()); +// } +// +// } +// else { +// addEBomNew.add(parentBom.getBomRowId()); +// } +// } //如子级都为F 项父级也不转 Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); if (CollUtil.isNotEmpty(projectSet)) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index d16cd8ff..a3eb9778 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -68,9 +68,10 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { for (BomNewEbomParentVO data: deliveryPackage1010){ List subVos = new ArrayList<>();// result.stream().filter(u -> u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0).collect(Collectors.toList()); if(data.getMaterialName().contains("仙桃")){ - if(!data.getMaterialName().contains(VirtualPackageTypeEnum.PAINT_PACKAGE.getDescription())) { + // subVos = result.stream().filter(u -> u.getMaterialName().contains("仙桃") && u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0).collect(Collectors.toList()); subVos.add(data); + if(!VirtualPackageTypeEnum.PAINT_PACKAGE.getValue().equals(data.getVirtualPartType())) { subVos.addAll(result.stream().filter(u -> u.getParentRowId().equals(data.getBomRowId())).collect(Collectors.toList())); } } From 897e779f24c17001762f9e6a8e104b08930ab003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 29 Aug 2024 08:36:15 +0800 Subject: [PATCH 26/29] =?UTF-8?q?EBOM=E8=8D=89=E7=A8=BF=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=97=B6-ebom=E5=8D=87=E7=BA=A7=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/EBom/EBomToPbomBase.java | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index 7806efa4..c81d7148 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -737,37 +737,37 @@ public abstract class EBomToPbomBase { List parentBoms = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); for (BomNewEbomParentVO parentBom : parentBoms) { List newParentChild = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parentBom.getBomRowId())).collect(Collectors.toList()); -// if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { -// //获取正式版 -// BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) -// .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) -// .last(" order by current_version desc limit 1").one(); -// if (Objects.nonNull(oldEBom)) { -// List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); -// -// -// //一样则无需转换 -// if (isSameEBomV2(oldParentChild, newParentChild)) { -// parentBom.setNoConvertToPBomIs(1); -// parentBom.setHasChangeState(1); -// //只变化项目类别-则使用小版本 -// } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { -// parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); -// parentBom.setHasChangeState(2); -// delOldEBom.add(oldEBom.getRowId()); -// addEBomNew.add(parentBom.getBomRowId()); -// } else { -// parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); -// parentBom.setHasChangeState(2); -// delOldEBom.add(oldEBom.getRowId()); -// addEBomNew.add(parentBom.getBomRowId()); -// } -// -// } -// else { -// addEBomNew.add(parentBom.getBomRowId()); -// } -// } + if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { + //获取正式版 + BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) + .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) + .last(" order by current_version desc limit 1").one(); + if (Objects.nonNull(oldEBom)) { + List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); + + + //一样则无需转换 + if (isSameEBomV2(oldParentChild, newParentChild)) { + // parentBom.setNoConvertToPBomIs(1); + parentBom.setHasChangeState(1); + //只变化项目类别-则使用小版本 + } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { + parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); + parentBom.setHasChangeState(2); + delOldEBom.add(oldEBom.getRowId()); + addEBomNew.add(parentBom.getBomRowId()); + } else { + parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); + parentBom.setHasChangeState(2); + delOldEBom.add(oldEBom.getRowId()); + addEBomNew.add(parentBom.getBomRowId()); + } + + } + else { + addEBomNew.add(parentBom.getBomRowId()); + } + } //如子级都为F 项父级也不转 Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); if (CollUtil.isNotEmpty(projectSet)) { From 8ea3d18d967fd7ca56a863e03b1a4522de8a0f95 Mon Sep 17 00:00:00 2001 From: luoliming Date: Wed, 28 Aug 2024 21:58:11 +0800 Subject: [PATCH 27/29] =?UTF-8?q?1-eBOM-=E6=AD=A3=E5=BC=8F=E8=BD=ACPbom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EBom/topbomnew/EBomToPBomForFormal31New.java | 16 ++++++++-------- .../EBom/topbomnew/EBomToPBomForFormalNew.java | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index 0685edd8..d16cd8ff 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -115,14 +115,14 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //对比PBOM 版本是否一致(跟节点除外) - if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - continue; - } - if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - if(compareContentIsSame(vo,mergeChild,facCode)){ - continue; - } - } +// if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// continue; +// } +// if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// if(compareContentIsSame(vo,mergeChild,facCode)){ +// continue; +// } +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); if(Objects.isNull(parentEnt)){ continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java index 8aa414d8..860fcd6b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormalNew.java @@ -74,14 +74,14 @@ public class EBomToPBomForFormalNew extends FormalEBomToPbomBase { List mergeChild = mergeChild(child); //对比PBOM 版本是否一致(跟节点除外) - if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - continue; - } - if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ - if(compareContentIsSame(vo,mergeChild,facCode)){ - continue; - } - } +// if(!parent.getMaterialNo().equals(vo.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// continue; +// } +// if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType())){ +// if(compareContentIsSame(vo,mergeChild,facCode)){ +// continue; +// } +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); From 2009537e0a23399e666d824c5251e507fcc93f3e Mon Sep 17 00:00:00 2001 From: luoliming Date: Wed, 28 Aug 2024 23:47:18 +0800 Subject: [PATCH 28/29] =?UTF-8?q?1-eBOM=E8=8D=89=E7=A8=BF-=E8=BD=ACPbom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/EBom/EBomToPBom.java | 8 +-- .../service/domain/EBom/EBomToPBomFor31.java | 11 +-- .../service/domain/EBom/EBomToPbomBase.java | 71 +++++++++---------- .../topbomnew/EBomToPBomForFormal31New.java | 3 +- 4 files changed, 46 insertions(+), 47 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index abc97b54..69b8b1e4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -60,7 +60,7 @@ public class EBomToPBom extends EBomToPbomBase { //buildPBomParent(parent, facCode); for (BomNewEbomParentVO vo : parentList) { String hasConvertKey = StrUtil.join("-", facCode, vo.getBomRowId()); - if (hasConvert.contains(hasConvertKey) || (PBomStatusEnum.PUBLISH.equalsValue(vo.getStatus()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType()))) { + if (hasConvert.contains(hasConvertKey)) { continue; } hasConvert.add(hasConvertKey); @@ -77,9 +77,9 @@ public class EBomToPBom extends EBomToPbomBase { List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //判断pbom 是否一致 - if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ - continue; - } +// if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ +// continue; +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); if(Objects.isNull(parentEnt)){ continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index c617f4ea..2d7e4945 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -65,8 +65,9 @@ public class EBomToPBomFor31 extends EBomToPbomBase { for (BomNewEbomParentVO data : deliveryPackage1010) { List subVos = new ArrayList<>(); if (data.getMaterialName().contains("仙桃") ) { //只获取下降虚拟包(排除仙桃油漆包) - if(!data.getMaterialName().contains(VirtualPackageTypeEnum.PAINT_PACKAGE.getDescription())) { + subVos.add(data); + if(!VirtualPackageTypeEnum.PAINT_PACKAGE.getValue().equals(data.getVirtualPartType())) { subVos.addAll(result.stream().filter(u -> u.getParentRowId().equals(data.getBomRowId())).collect(Collectors.toList())); } } else { @@ -102,7 +103,7 @@ public class EBomToPBomFor31 extends EBomToPbomBase { .collect(Collectors.toList()), BomNewEbomParentVO::getBomRowId); for (BomNewEbomParentVO vo : parentList) { String hasConvertKey = StrUtil.join("-", facCode, vo.getBomRowId()); - if (hasConvert.contains(hasConvertKey) || (PBomStatusEnum.PUBLISH.equalsValue(vo.getStatus()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType()) )) { + if (hasConvert.contains(hasConvertKey) ) { continue; } hasConvert.add(hasConvertKey); @@ -117,9 +118,9 @@ public class EBomToPBomFor31 extends EBomToPbomBase { //子级 List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); - if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ - continue; - } +// if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ +// continue; +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode, parentList); if (Objects.isNull(parentEnt)) { continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index a92c4c1a..7806efa4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -203,12 +203,9 @@ public abstract class EBomToPbomBase { } else { //pbom-处于正式表 //Ebom为已发布时则直接跳过 (直发包,发货前装配包是则需对比Bom明细,一致则跳过,否则升级) - if (!EBomStatusEnum.PUBLISHED.equalsValue(parentVo.getStatus()) || (VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(parentVo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(parentVo.getVirtualPartType()))) { - String version = StrUtil.isBlank(parentVo.getCurrentVersion()) ? VersionUtil.getNextVersion("") : parentVo.getCurrentVersion(); - String bomVersion = VersionUtil.compare(version, oldParent.getCurrentVersion()) > 0 ? version : VersionUtil.getNextVersion(oldParent.getCurrentVersion()); - return buildParentEntity(parentVo, facCode, oldParent, bomVersion); - } - return null; + + return buildParentEntity(parentVo, facCode, oldParent, VersionUtil.getNextVersionForSmallVersion(oldParent.getCurrentVersion())); + } @@ -740,37 +737,37 @@ public abstract class EBomToPbomBase { List parentBoms = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); for (BomNewEbomParentVO parentBom : parentBoms) { List newParentChild = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parentBom.getBomRowId())).collect(Collectors.toList()); - if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { - //获取正式版 - BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) - .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) - .last(" order by current_version desc limit 1").one(); - if (Objects.nonNull(oldEBom)) { - List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); - - - //一样则无需转换 - if (isSameEBomV2(oldParentChild, newParentChild)) { - parentBom.setNoConvertToPBomIs(1); - parentBom.setHasChangeState(1); - //只变化项目类别-则使用小版本 - } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { - parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); - parentBom.setHasChangeState(2); - delOldEBom.add(oldEBom.getRowId()); - addEBomNew.add(parentBom.getBomRowId()); - } else { - parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); - parentBom.setHasChangeState(2); - delOldEBom.add(oldEBom.getRowId()); - addEBomNew.add(parentBom.getBomRowId()); - } - - } - else { - addEBomNew.add(parentBom.getBomRowId()); - } - } +// if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { +// //获取正式版 +// BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) +// .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) +// .last(" order by current_version desc limit 1").one(); +// if (Objects.nonNull(oldEBom)) { +// List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); +// +// +// //一样则无需转换 +// if (isSameEBomV2(oldParentChild, newParentChild)) { +// parentBom.setNoConvertToPBomIs(1); +// parentBom.setHasChangeState(1); +// //只变化项目类别-则使用小版本 +// } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { +// parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); +// parentBom.setHasChangeState(2); +// delOldEBom.add(oldEBom.getRowId()); +// addEBomNew.add(parentBom.getBomRowId()); +// } else { +// parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); +// parentBom.setHasChangeState(2); +// delOldEBom.add(oldEBom.getRowId()); +// addEBomNew.add(parentBom.getBomRowId()); +// } +// +// } +// else { +// addEBomNew.add(parentBom.getBomRowId()); +// } +// } //如子级都为F 项父级也不转 Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); if (CollUtil.isNotEmpty(projectSet)) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index d16cd8ff..a3eb9778 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -68,9 +68,10 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { for (BomNewEbomParentVO data: deliveryPackage1010){ List subVos = new ArrayList<>();// result.stream().filter(u -> u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0).collect(Collectors.toList()); if(data.getMaterialName().contains("仙桃")){ - if(!data.getMaterialName().contains(VirtualPackageTypeEnum.PAINT_PACKAGE.getDescription())) { + // subVos = result.stream().filter(u -> u.getMaterialName().contains("仙桃") && u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0).collect(Collectors.toList()); subVos.add(data); + if(!VirtualPackageTypeEnum.PAINT_PACKAGE.getValue().equals(data.getVirtualPartType())) { subVos.addAll(result.stream().filter(u -> u.getParentRowId().equals(data.getBomRowId())).collect(Collectors.toList())); } } From 24dc6f7be0bce18524a5871ad8b35e81acbd6281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 29 Aug 2024 08:36:15 +0800 Subject: [PATCH 29/29] =?UTF-8?q?EBOM=E8=8D=89=E7=A8=BF=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=97=B6-ebom=E5=8D=87=E7=BA=A7=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/EBom/EBomToPbomBase.java | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index 7806efa4..c81d7148 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -737,37 +737,37 @@ public abstract class EBomToPbomBase { List parentBoms = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); for (BomNewEbomParentVO parentBom : parentBoms) { List newParentChild = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parentBom.getBomRowId())).collect(Collectors.toList()); -// if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { -// //获取正式版 -// BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) -// .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) -// .last(" order by current_version desc limit 1").one(); -// if (Objects.nonNull(oldEBom)) { -// List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); -// -// -// //一样则无需转换 -// if (isSameEBomV2(oldParentChild, newParentChild)) { -// parentBom.setNoConvertToPBomIs(1); -// parentBom.setHasChangeState(1); -// //只变化项目类别-则使用小版本 -// } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { -// parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); -// parentBom.setHasChangeState(2); -// delOldEBom.add(oldEBom.getRowId()); -// addEBomNew.add(parentBom.getBomRowId()); -// } else { -// parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); -// parentBom.setHasChangeState(2); -// delOldEBom.add(oldEBom.getRowId()); -// addEBomNew.add(parentBom.getBomRowId()); -// } -// -// } -// else { -// addEBomNew.add(parentBom.getBomRowId()); -// } -// } + if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { + //获取正式版 + BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) + .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) + .last(" order by current_version desc limit 1").one(); + if (Objects.nonNull(oldEBom)) { + List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); + + + //一样则无需转换 + if (isSameEBomV2(oldParentChild, newParentChild)) { + // parentBom.setNoConvertToPBomIs(1); + parentBom.setHasChangeState(1); + //只变化项目类别-则使用小版本 + } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { + parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); + parentBom.setHasChangeState(2); + delOldEBom.add(oldEBom.getRowId()); + addEBomNew.add(parentBom.getBomRowId()); + } else { + parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); + parentBom.setHasChangeState(2); + delOldEBom.add(oldEBom.getRowId()); + addEBomNew.add(parentBom.getBomRowId()); + } + + } + else { + addEBomNew.add(parentBom.getBomRowId()); + } + } //如子级都为F 项父级也不转 Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); if (CollUtil.isNotEmpty(projectSet)) {