From 2c7ab5cfa564010cb79030aa7191343be0cd3cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 4 Mar 2024 11:21:25 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E6=9C=AA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=88=B0=E7=9A=84=E5=8C=85=E5=AF=BC=E5=85=A5=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E8=A7=A3=E5=86=B3=E7=BC=96=E8=AF=91=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/user/authority/AuthorityPowerApi.java | 6 ------ .../product/material/pojo/vo/ModelStructureVO.java | 1 - .../bomnew/service/domain/EBom/UpdateImpact.java | 10 ++++------ .../domain/ReverseReport/OriginalBomQuery.java | 12 ++++-------- 4 files changed, 8 insertions(+), 21 deletions(-) diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/authority/AuthorityPowerApi.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/authority/AuthorityPowerApi.java index f49a1fe9..89ebfcd7 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/authority/AuthorityPowerApi.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/api/user/authority/AuthorityPowerApi.java @@ -1,24 +1,18 @@ package com.nflg.product.material.api.user.authority; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.mysql.cj.log.Log; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.material.mapper.master.AuthorityRolePowerMapper; import com.nflg.product.material.pojo.dto.AuthorityPowerDTO; import com.nflg.product.material.pojo.dto.SaveMemuPermissionDTO; -import com.nflg.product.material.pojo.entity.AuthorityPowerEntity; import com.nflg.product.material.pojo.query.AuthorityPowerQuery; import com.nflg.product.material.pojo.vo.AuthorityMenuVO; import com.nflg.product.material.pojo.vo.AuthorityPowerVO; import com.nflg.product.material.service.AuthorityPowerService; -import com.nflg.product.material.service.AuthorityRolePowerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; -import org.omg.PortableInterceptor.LOCATION_FORWARD; import org.springframework.web.bind.annotation.*; - import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java index 97eb1420..66575783 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java @@ -1,7 +1,6 @@ package com.nflg.product.material.pojo.vo; import lombok.Data; -import org.omg.CORBA.PRIVATE_MEMBER; /** * @decription diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java index 88e26d57..6765281c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java @@ -3,7 +3,6 @@ package com.nflg.product.bomnew.service.domain.EBom; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.lang.Pair; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; @@ -16,13 +15,12 @@ import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VersionUtil; import lombok.Getter; -import org.bouncycastle.asn1.x509.IetfAttrSyntax; -import org.bouncycastle.cms.PasswordRecipient; -import org.omg.CORBA.PRIVATE_MEMBER; - import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java index 06dd24d5..e6433acd 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java @@ -1,22 +1,18 @@ package com.nflg.product.bomnew.service.domain.ReverseReport; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.db.sql.SqlBuilder; import cn.hutool.extra.spring.SpringUtil; import com.google.common.collect.ImmutableList; import com.nflg.product.bomnew.constant.ReportConstant; -import com.nflg.product.bomnew.pojo.entity.BomNewOriginalChildEntity; import com.nflg.product.bomnew.pojo.query.ReverseReportQuery; -import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO; import com.nflg.product.bomnew.pojo.vo.ReverseReportVO; import com.nflg.product.bomnew.service.BomNewOriginalChildService; import com.nflg.product.bomnew.service.RedisService; import com.nflg.product.bomnew.util.ListCommonUtil; -import lombok.Getter; -import org.omg.CORBA.PRIVATE_MEMBER; - -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** From 6b1446b82f0ca6acb62ebf9cee1a67253adb85a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Mon, 4 Mar 2024 11:25:04 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/material/pojo/vo/ModelStructureVO.java | 1 - .../bomnew/service/domain/EBom/UpdateImpact.java | 9 ++++----- .../domain/ReverseReport/OriginalBomQuery.java | 11 ++++------- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java b/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java index 97eb1420..66575783 100644 --- a/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java +++ b/nflg_project_dev/material/src/main/java/com/nflg/product/material/pojo/vo/ModelStructureVO.java @@ -1,7 +1,6 @@ package com.nflg.product.material.pojo.vo; import lombok.Data; -import org.omg.CORBA.PRIVATE_MEMBER; /** * @decription diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java index 88e26d57..8ada9d18 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/UpdateImpact.java @@ -3,7 +3,6 @@ package com.nflg.product.bomnew.service.domain.EBom; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.lang.Pair; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; @@ -16,13 +15,13 @@ import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VersionUtil; import lombok.Getter; -import org.bouncycastle.asn1.x509.IetfAttrSyntax; -import org.bouncycastle.cms.PasswordRecipient; -import org.omg.CORBA.PRIVATE_MEMBER; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; /** diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java index 06dd24d5..88ed83bc 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/ReverseReport/OriginalBomQuery.java @@ -1,22 +1,19 @@ package com.nflg.product.bomnew.service.domain.ReverseReport; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.db.sql.SqlBuilder; import cn.hutool.extra.spring.SpringUtil; import com.google.common.collect.ImmutableList; import com.nflg.product.bomnew.constant.ReportConstant; -import com.nflg.product.bomnew.pojo.entity.BomNewOriginalChildEntity; import com.nflg.product.bomnew.pojo.query.ReverseReportQuery; -import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO; import com.nflg.product.bomnew.pojo.vo.ReverseReportVO; import com.nflg.product.bomnew.service.BomNewOriginalChildService; import com.nflg.product.bomnew.service.RedisService; import com.nflg.product.bomnew.util.ListCommonUtil; -import lombok.Getter; -import org.omg.CORBA.PRIVATE_MEMBER; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** From f2bd86937d4e5465fe3e592944556f2ea0d43008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Mon, 4 Mar 2024 18:40:29 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/pojo/vo/BomNewEbomParentVO.java | 14 +++++++++++ .../bomnew/pojo/vo/BomOriginalListVO.java | 14 ++++++++++- .../domain/EBom/CheckEBomException.java | 8 +++--- .../service/domain/EBom/EBomToPBom.java | 4 +-- .../OriginalBom/OriginalBomToEBomConvert.java | 4 ++- .../product/bomnew/util/ListCommonUtil.java | 25 +++++++++++++++++++ 6 files changed, 60 insertions(+), 9 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 2baed037..987fe844 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 @@ -321,4 +321,18 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable { private List childNodes = Collections.emptyList(); private static final long serialVersionUID = 1L; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + BomNewEbomParentVO that = (BomNewEbomParentVO) o; + return rowId.equals(that.rowId); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), rowId); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java index 3cf35b02..c29b1216 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java @@ -10,6 +10,7 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Collections; import java.util.List; +import java.util.Objects; /** * 原始BOM-列表 @@ -206,8 +207,19 @@ public class BomOriginalListVO extends BaseMaterialVO { private List childNodes = Collections.emptyList(); + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + if (!super.equals(o)) return false; + BomOriginalListVO that = (BomOriginalListVO) o; + return rowId.equals(that.rowId); + } - + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), rowId); + } private static final long serialVersionUID = 1L; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java index b3b551e5..d5e59846 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java @@ -3,7 +3,6 @@ package com.nflg.product.bomnew.service.domain.EBom; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.google.common.collect.ImmutableList; @@ -16,15 +15,14 @@ import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.util.BomLevelUtil; -import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.TreeUtils; import com.nflg.product.bomnew.util.VUtils; import lombok.Getter; import lombok.Setter; import nflg.product.common.constant.STATE; +import com.nflg.product.bomnew.util.ListCommonUtil; import java.math.BigDecimal; -import java.math.RoundingMode; import java.util.*; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -143,9 +141,9 @@ public class CheckEBomException { */ private void checkOther() { // List checkEBomExceptionDTOS=new ArrayList<>(); - List parents = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); + List parents = ListCommonUtil.toDistinct( allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()),BomNewEbomParentVO::getBomRowId); for (BomNewEbomParentVO parent : parents) { - List child = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parent.getBomRowId())).collect(Collectors.toList()); + List child = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parent.getBomRowId())).distinct().collect(Collectors.toList()); //是否存在重复物料 List hasMaterialNoList = child.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).collect(Collectors.toList()); 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 5ddad27e..3982909e 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 @@ -83,7 +83,7 @@ public class EBomToPBom { check(); //bom 提层 liftingLayer(); - List parentList = result.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); + List parentList = ListCommonUtil.toDistinct( result.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()),BomNewEbomParentVO::getBomRowId); List hasConvert=new ArrayList<>(); for (String facCode : facCodes) { @@ -100,7 +100,7 @@ public class EBomToPBom { BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode); //子级 - List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId())).collect(Collectors.toList()); + List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId())).distinct().collect(Collectors.toList()); if (CollUtil.isNotEmpty(child)) { //合并子级 List mergeChild = mergeChild(child); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java index 2a102c74..8760528f 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java @@ -97,6 +97,8 @@ public class OriginalBomToEBomConvert extends BaseConvert { //处理子级 List bomParents = bomDetail.stream().filter(u -> u.getBomRowId() > 0 && ( OriginalStatusEnum.UN_CONVERT.equalsValue(u.getStatus()) || OriginalStatusEnum.REFERENCE.equalsValue(u.getStatus())) ).collect(Collectors.toList()); + //去重 + bomParents= ListCommonUtil.toDistinct(bomParents,BomOriginalListVO::getBomRowId); for (BomOriginalListVO childParent : bomParents) { hanlerDo(childParent); this.hasHandlerParentIds.add(childParent.getBomRowId()); @@ -109,7 +111,7 @@ public class OriginalBomToEBomConvert extends BaseConvert { return; } //子节点 - List parentChild = bomDetail.stream().filter(u -> Objects.nonNull(u.getParentRowId()) && u.getParentRowId().equals(parentEnt.getBomRowId())).collect(Collectors.toList()); + List parentChild = bomDetail.stream().filter(u -> Objects.nonNull(u.getParentRowId()) && u.getParentRowId().equals(parentEnt.getBomRowId())).distinct().collect(Collectors.toList()); List parentChildNoMaterilaNoList = parentChild.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); //无编码 if (StrUtil.isBlank(parentEnt.getMaterialNo())) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/ListCommonUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/ListCommonUtil.java index c0e71bcd..8b0a39d3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/ListCommonUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/ListCommonUtil.java @@ -2,6 +2,7 @@ package com.nflg.product.bomnew.util; import cn.hutool.core.collection.ListUtil; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -57,4 +58,28 @@ public class ListCommonUtil extends ListUtil { } return list.stream().collect(Collectors.groupingBy(function)); } + + /** + * 去重 + * @param list + * @param identityFunc + * @return + * @param + * @param + */ + public static List toDistinct(List list, Function identityFunc){ + List result = new ArrayList<>(); + Map fidler=new HashMap<>(); + list.forEach(k->{ + if(!fidler.containsKey(identityFunc.apply(k))){ + result.add(k); + fidler.put(identityFunc.apply(k),"1"); + } + + }); + return result; + } + + + } From 0a756abf8449181f4f9d1ad87abb95cc5ab491b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Mon, 4 Mar 2024 19:16:11 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/PBomApi.java | 8 ++++++++ .../pojo/dto/AllocationFactoryParam.java | 19 ++++++++++++++++++ .../service/BomNewPbomParentService.java | 20 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/AllocationFactoryParam.java 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 518cb6c2..ec03c430 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 @@ -211,6 +211,14 @@ public class PBomApi extends BaseApi { return ResultVO.success(bomNewPbomParentService.saveAllocationFactory(params)); } + @PostMapping("saveAllocationFactoryNew") + @ApiOperation("分工厂-保存") + @LogRecord(success = "PBom-分工厂-保存。操作结果:{{#_ret}}", bizNo = "",type = "PBom-分工厂-保存") + public ResultVO saveAllocationFactory(@Valid @RequestBody AllocationFactoryParam params){ + + return ResultVO.success(bomNewPbomParentService.saveAllocationFactory(params)); + } + @PostMapping("allocationFactoryForRel") @ApiOperation("分工厂-规则匹配") @LogRecord(success = "PBom-分工厂-规则匹配,物料编码:{{#bom.materialNo}}-版本:{{#bom.currentVersion}}-规则编码:{{#params.ruleGroupCode}} 操作结果:{{#_ret}}", bizNo = "{{#params.bomRowId}}",type = "PBom-分工厂-规则匹配") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/AllocationFactoryParam.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/AllocationFactoryParam.java new file mode 100644 index 00000000..56a61974 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/AllocationFactoryParam.java @@ -0,0 +1,19 @@ +package com.nflg.product.bomnew.pojo.dto; + +import com.nflg.product.bomnew.service.BomNewLogService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 分工厂 + */ +@Data +public class AllocationFactoryParam { + + List data; + + @ApiModelProperty("是否设置下级 0-否 1-是") + private Integer setSubNode; +} 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 71b50a4d..df0a22b0 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 @@ -612,6 +612,26 @@ public class BomNewPbomParentService extends ServiceImpl{ + + }); + } +// Map> stringListMap = ListCommonUtil.listGroupMap(params.equals(), SaveAllocationFactoryDTO::getProductionFactoryCode); +// for (Map.Entry> entry : stringListMap.entrySet()) { +// List saveList = entry.getValue(); +// List rowIds = saveList.stream().map(u -> u.getRowId()).collect(Collectors.toList()); +// pbomChildService.getBaseMapper().setProductionFactoryCode(entry.getKey(), rowIds); +// } + return true; + } + public Boolean allocationFactoryForRel(AllocationFactoryForRelDTO params) throws ExecutionException, InterruptedException { VUtils.isTure(StrUtil.isBlank(params.getRuleGroupCode())).throwMessage("规则编码不能为空"); From 548ecba0a4a241297364991b07b9ef0a8d7e0961 Mon Sep 17 00:00:00 2001 From: luoliming Date: Mon, 4 Mar 2024 21:25:18 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/PBomApi.java | 4 ++-- .../pojo/dto/SaveAllocationFactoryDTO.java | 3 +++ .../service/BomNewPbomParentService.java | 19 ++++++++++++------- 3 files changed, 17 insertions(+), 9 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 ec03c430..302f2ab9 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 @@ -212,11 +212,11 @@ public class PBomApi extends BaseApi { } @PostMapping("saveAllocationFactoryNew") - @ApiOperation("分工厂-保存") + @ApiOperation("分工厂-批量保存保存") @LogRecord(success = "PBom-分工厂-保存。操作结果:{{#_ret}}", bizNo = "",type = "PBom-分工厂-保存") public ResultVO saveAllocationFactory(@Valid @RequestBody AllocationFactoryParam params){ - return ResultVO.success(bomNewPbomParentService.saveAllocationFactory(params)); + return ResultVO.success(bomNewPbomParentService.saveAllocationFactoryNew(params)); } @PostMapping("allocationFactoryForRel") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/SaveAllocationFactoryDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/SaveAllocationFactoryDTO.java index ffc2576a..51a8ac76 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/SaveAllocationFactoryDTO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/SaveAllocationFactoryDTO.java @@ -15,6 +15,9 @@ public class SaveAllocationFactoryDTO { @NotNull(message = "bom明细行ID不能为空") private Long rowId; + @ApiModelProperty("bom版本行ID") + private Long bomRowId; + @ApiModelProperty("生产工厂") @NotNull(message = "生产工厂不能为空") private String productionFactoryCode; 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 df0a22b0..964caca9 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 @@ -620,15 +620,20 @@ public class BomNewPbomParentService extends ServiceImpl{ - + try { + List allBom = this.getAllBomTree(k.getBomRowId()); + List rowIds = allBom.stream().map(u -> u.getRowId()).collect(Collectors.toList()); + if(CollUtil.isNotEmpty(rowIds)) { + pbomChildService.getBaseMapper().setProductionFactoryCode(k.getProductionFactoryCode(), rowIds); + } + + } catch (ExecutionException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } }); } -// Map> stringListMap = ListCommonUtil.listGroupMap(params.equals(), SaveAllocationFactoryDTO::getProductionFactoryCode); -// for (Map.Entry> entry : stringListMap.entrySet()) { -// List saveList = entry.getValue(); -// List rowIds = saveList.stream().map(u -> u.getRowId()).collect(Collectors.toList()); -// pbomChildService.getBaseMapper().setProductionFactoryCode(entry.getKey(), rowIds); -// } return true; } From a80905ecb4d344231fc469741b4bede9c3b9411e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 5 Mar 2024 09:28:34 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8Dbug=E3=80=91172?= =?UTF-8?q?=EF=BC=88=E6=90=9C=E7=B4=A2=E7=BB=93=E6=9E=9C=E6=9C=AA=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E7=BB=93=E6=9D=9F=E6=97=A5=E6=9C=9F=E5=BD=93=E5=A4=A9?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nflg/product/util/DateUtils.java | 15 +++++++ .../java/com/nflg/product/DateTimeTest.java | 40 +++++++++++++++++++ .../service/BomNewMbomParentService.java | 5 +-- .../service/OptionalMbomMaterialService.java | 17 +------- .../domain/EBom/VirtualPackageBase.java | 3 -- .../mapper/master/BomNewMbomParentMapper.xml | 4 +- .../master/OptionalEbomConfigMapper.xml | 2 +- .../mapper/master/OptionalEbomMainMapper.xml | 2 +- .../master/OptionalMbomMaterialMapper.xml | 2 +- 9 files changed, 63 insertions(+), 27 deletions(-) create mode 100644 nflg_project_dev/bom/src/test/java/com/nflg/product/DateTimeTest.java diff --git a/nflg_project_dev/bom/src/main/java/com/nflg/product/util/DateUtils.java b/nflg_project_dev/bom/src/main/java/com/nflg/product/util/DateUtils.java index c85e98c0..20d261bc 100644 --- a/nflg_project_dev/bom/src/main/java/com/nflg/product/util/DateUtils.java +++ b/nflg_project_dev/bom/src/main/java/com/nflg/product/util/DateUtils.java @@ -660,4 +660,19 @@ public class DateUtils extends PropertyEditorSupport { String result = sdf.format(Date.parse(str)); return result; } + + /** + * 在给定的日期上增加指定的时间单位数量。 + * + * @param date 初始日期,操作的基础日期。 + * @param field 时间单位,例如Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH等。 + * @param amount 要增加的数量,可以为负数以表示减少。 + * @return 返回操作后的新日期。 + */ + public static Date add(Date date, int field, int amount) { + Calendar cal = getCalendar(); + cal.setTime(date); + cal.add(field, amount); + return cal.getTime(); + } } \ No newline at end of file diff --git a/nflg_project_dev/bom/src/test/java/com/nflg/product/DateTimeTest.java b/nflg_project_dev/bom/src/test/java/com/nflg/product/DateTimeTest.java new file mode 100644 index 00000000..b68dfe05 --- /dev/null +++ b/nflg_project_dev/bom/src/test/java/com/nflg/product/DateTimeTest.java @@ -0,0 +1,40 @@ +package com.nflg.product; + +import com.nflg.product.util.DateUtils; +import org.junit.Test; +import java.util.Calendar; +import java.util.Date; +import static org.junit.Assert.assertEquals; + +/** + * @author 曹鹏飞 + * @date 2024-03-04 14:07:45 + */ +public class DateTimeTest { + + @Test + public void test1() { + Calendar calendar = Calendar.getInstance(); + calendar.set(2024, 2, 4); + Date date1 = calendar.getTime(); + Date d1 = DateUtils.add(date1, Calendar.DAY_OF_MONTH, 1); + System.out.println("d1: " + DateUtils.date2Str(d1, DateUtils.date_sdf.get())); + calendar.set(2024, 2, 5); + Date d2 = calendar.getTime(); + System.out.println("d2: " + DateUtils.date2Str(d2, DateUtils.date_sdf.get())); + assertEquals(d1, d2); + } + + @Test + public void test2() { + Calendar calendar = Calendar.getInstance(); + calendar.set(2024, Calendar.FEBRUARY, 29); + Date date1 = calendar.getTime(); + Date d1 = DateUtils.add(date1, Calendar.DAY_OF_MONTH, 1); + System.out.println("d1: " + DateUtils.date2Str(d1, DateUtils.date_sdf.get())); + calendar.set(2024, Calendar.MARCH, 1); + Date d2 = calendar.getTime(); + System.out.println("d2: " + DateUtils.date2Str(d2, DateUtils.date_sdf.get())); + assertEquals(d1, d2); + } +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomParentService.java index 869e4766..251903d8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomParentService.java @@ -13,12 +13,11 @@ import com.nflg.product.bomnew.pojo.entity.BomNewMbomParentEntity; import com.nflg.product.bomnew.pojo.query.BomNewMbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BomNewMbomMiddleVO; import com.nflg.product.bomnew.service.domain.MBom.IndexListTree; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; /** @@ -60,7 +59,7 @@ public class BomNewMbomParentService extends ServiceImpl(query.getPage(), query.getPageSize()), query); if (CollectionUtil.isNotEmpty(page.getRecords())) { - List indexList = page.getRecords().stream().collect(Collectors.toList()); + List indexList = new ArrayList<>(page.getRecords()); page.getRecords().clear(); for (BomNewMbomMiddleVO item : diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java index 8eaef66a..f2b8f69c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/OptionalMbomMaterialService.java @@ -10,39 +10,25 @@ import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.util.TypeUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - import com.google.common.collect.ImmutableList; import com.mzt.logapi.context.LogRecordContext; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; -import com.nflg.product.base.core.vo.PageVO; import com.nflg.product.bomnew.constant.BomConstant; -import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.OptionalBomConstant; import com.nflg.product.bomnew.mapper.master.OptionalMbomMaterialMapper; - import com.nflg.product.bomnew.pojo.dto.OptionalMbomMaterialAddDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigEntity; import com.nflg.product.bomnew.pojo.entity.OptionalMbomMaterialEntity; - -import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.OptionalMbomMaterialListQuery; - import com.nflg.product.bomnew.pojo.query.OptionalMbomMaterialQuery; -import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; -import com.nflg.product.bomnew.pojo.vo.BomNewMbomMiddleVO; import com.nflg.product.bomnew.pojo.vo.OptionalMbomMaterialListVO; -import com.nflg.product.bomnew.pojo.vo.OptionalMbomMaterialVO; - import lombok.extern.slf4j.Slf4j; import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; @@ -51,7 +37,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -73,7 +58,7 @@ public class OptionalMbomMaterialService extends ServiceImpl(query.getPage(), query.getPageSize()), query); if (CollectionUtil.isNotEmpty(page.getRecords())) { - List indexList = page.getRecords().stream().collect(Collectors.toList()); + List indexList = new ArrayList<>(page.getRecords()); page.getRecords().clear(); for(OptionalMbomMaterialListVO item : diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java index 87c4a5a0..ac2c8408 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java @@ -10,7 +10,6 @@ import com.nflg.product.bomnew.constant.EBomSourceEnum; import com.nflg.product.bomnew.constant.EbomEditStatusEnum; import com.nflg.product.bomnew.constant.ProjectTypeInputTypeEnum; import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; -import com.nflg.product.bomnew.pojo.dto.AddMaterialMainDTO; import com.nflg.product.bomnew.pojo.dto.AddVirtrualMaterialDTO; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; @@ -23,8 +22,6 @@ import com.nflg.product.bomnew.service.MaterialService; import com.nflg.product.bomnew.util.VersionUtil; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; -import org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl; -import sun.security.krb5.internal.PAData; import java.io.IOException; import java.math.BigDecimal; diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml index 6db99766..9eafcf22 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewMbomParentMapper.xml @@ -66,7 +66,7 @@ - = #{query.startDate} and created_time <=#{query.endDate}]]> + @@ -88,7 +88,7 @@ - = #{query.startDate} and sysn_sap_time <=#{query.endDate}]]> + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml index 2e2c8845..0ad9c8b1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomConfigMapper.xml @@ -63,7 +63,7 @@ - = #{query.startDate} and t1.created_time <= #{query.endDate} ]]> + order by t1.created_time desc diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomMainMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomMainMapper.xml index 8468eb3c..0ecf460c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomMainMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalEbomMainMapper.xml @@ -42,7 +42,7 @@ - = #{query.startDate} and created_time <= #{query.endDate}]]> + diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml index 07a4bba5..f6d3fb50 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/OptionalMbomMaterialMapper.xml @@ -78,7 +78,7 @@ row_id,parent_row_id,level_row_id,material_no,material_name,material_desc,drawin - = #{query.startDate} and t1.created_time <= #{query.endDate}]]> +