From 30b20739990686afe25ff7ba12ad817ce29c446f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 12:06:51 +0800 Subject: [PATCH 01/13] =?UTF-8?q?other:=20=E6=B7=BB=E5=8A=A0sap=E6=89=80?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E7=9A=84so=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nflg_project_dev/nflg-bom-new/lib/libsapjco3.so | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 nflg_project_dev/nflg-bom-new/lib/libsapjco3.so diff --git a/nflg_project_dev/nflg-bom-new/lib/libsapjco3.so b/nflg_project_dev/nflg-bom-new/lib/libsapjco3.so new file mode 100644 index 00000000..e69de29b From 63ed4ef29967fa5182b562ed687064402decf236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 12:07:11 +0800 Subject: [PATCH 02/13] =?UTF-8?q?feat:=20=E5=B0=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/base/core/conmon/util/SessionUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java b/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java index e833f0bb..476fca86 100644 --- a/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java +++ b/nflg_project_dev/nflg-boot-base/nflg-boot-core/src/main/java/com/nflg/product/base/core/conmon/util/SessionUtil.java @@ -106,7 +106,7 @@ public class SessionUtil { return getUser().getSessionKey(); } - private static LoginUserInfoDTO getUser() { + public static LoginUserInfoDTO getUser() { return Optional.ofNullable(BaseApi.loginUser.get()) .orElseThrow(() -> new NflgBusinessException(STATE.LoginError, "请登录")); } From 4f74c84fd75ed3eda035c81b5a7ff28c6532005b Mon Sep 17 00:00:00 2001 From: luoliming Date: Sat, 25 May 2024 14:23:09 +0800 Subject: [PATCH 03/13] =?UTF-8?q?31=E8=BD=ACPBOM=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/domain/EBom/EBomToPBomFor31.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/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index c845b0c6..2c5e5584 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 @@ -56,10 +56,11 @@ public class EBomToPBomFor31 extends EBomToPbomBase { } //1010 数据 - facCodes.add(EBomConstant.MAIN_FACTORY_CODE_1010); + List data1010=new ArrayList<>(); List deliveryPackage1010 = result.stream().filter(u -> u.getParentRowId().equals(parent.getRowId()) && !u.getMaterialName().contains("仙桃") && u.getMaterialName().contains("发货")).collect(Collectors.toList()); if(CollUtil.isNotEmpty(deliveryPackage1010)){ + facCodes.add(EBomConstant.MAIN_FACTORY_CODE_1010); data1010.add(parent); for (BomNewEbomParentVO data: deliveryPackage1010){ List subVos = result.stream().filter(u -> u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), new BigDecimal(0.01))) < 0).collect(Collectors.toList()); From 84ea802dfff6b89ef0b9fd402b4f67dd3bab1525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 14:38:07 +0800 Subject: [PATCH 04/13] =?UTF-8?q?feat(ebom):=20=E6=B7=BB=E5=8A=A0=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/api/user/EbomApi.java | 8 +++++++- .../bomnew/service/BomNewEbomParentService.java | 12 ++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 79ecbae0..6d225b67 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -13,6 +13,7 @@ import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; +import com.nflg.product.bomnew.pojo.query.QueryMaterialsQuery; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.EecExcelUtil; @@ -20,7 +21,6 @@ import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import nflg.product.common.constant.STATE; -import nflg.product.common.dto.LoginUserInfoDTO; import nflg.product.common.vo.ResultVO; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; @@ -451,4 +451,10 @@ public class EbomApi extends BaseApi { public ResultVO> getSource(@Valid @RequestParam("rowId") @NotNull Long rowId) { return ResultVO.success(bomNewEbomParentService.getSource(rowId)); } + + @PostMapping("queryMaterials") + @ApiOperation("批量查询物料信息") + public ResultVO> queryMaterials(@Valid @RequestBody QueryMaterialsQuery query) { + return ResultVO.success(bomNewEbomParentService.queryMaterials(query)); + } } 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 9acdd0ef..17d8b367 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 @@ -20,6 +20,7 @@ import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.BomNewEbomParentMapper; +import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; @@ -27,6 +28,7 @@ import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; +import com.nflg.product.bomnew.pojo.query.QueryMaterialsQuery; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.domain.EBom.*; import com.nflg.product.bomnew.util.*; @@ -2347,4 +2349,14 @@ public class BomNewEbomParentService extends ServiceImpl queryMaterials(QueryMaterialsQuery query) { + if (query.getType() == 0) { + return SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(query.getKeys()); + } else if (query.getType() == 1) { + return SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(query.getKeys()); + } else { + throw new NflgBusinessException(STATE.BusinessError, "无效的类别"); + } + } } From 7ec0952f6d3dbb4ad3b9bf055854432529d8de79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 14:38:25 +0800 Subject: [PATCH 05/13] =?UTF-8?q?feat(dqbom):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/api/user/DQBomApi.java | 16 ++++++--- .../pojo/query/QueryMaterialsQuery.java | 34 +++++++++++++++++++ .../product/bomnew/service/DQBomService.java | 18 +++++++--- 3 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java index 956a9e67..e5d6dcf0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java @@ -7,10 +7,7 @@ import com.google.common.collect.ImmutableList; import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; -import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomPageQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomSaveQuery; +import com.nflg.product.bomnew.pojo.query.*; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.DQBomImportService; import com.nflg.product.bomnew.service.DQBomService; @@ -251,4 +248,15 @@ public class DQBomApi extends BaseApi { , HttpServletResponse response) throws IOException { EecExcelUtil.export(response, messages, OperationErrorMsgVO.class, "错误信息"); } + + /** + * 批量查询物料信息 + * @param query 查询条件 + * @return + */ + @PostMapping("queryMaterial") + @ApiOperation("批量查询物料信息") + public ResultVO> queryMaterial(@Valid @RequestBody QueryMaterialsQuery query) { + return ResultVO.success(dQBomService.queryMaterials(query)); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java new file mode 100644 index 00000000..962a62a5 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java @@ -0,0 +1,34 @@ +package com.nflg.product.bomnew.pojo.query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author 曹鹏飞 + * @date 2024/5/25 14:17:04 + */ +@Data +@Accessors(chain = true) +@ApiModel(value = "com-nflg-product-bomnew-pojo-new-query-QueryMaterialsQuery") +public class QueryMaterialsQuery { + + /** + * 数据类别,0-物料编号;1-图号 + */ + @ApiModelProperty(value = "数据类别,0-物料编号;1-图号") + @NotNull + private Integer type; + + /** + * 物料编号或者图号 + */ + @ApiModelProperty(value = "物料编号或者图号") + @NotEmpty + private List keys; +} diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index 871312b2..a861a0c5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -11,22 +11,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.product.base.core.conmon.util.SessionUtil; +import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; +import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; 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.BomNewDQbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; -import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomPageQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomQuery; -import com.nflg.product.bomnew.pojo.query.BomNewDQbomSaveQuery; +import com.nflg.product.bomnew.pojo.query.*; import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.util.BomUtil; import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VersionUtil; import lombok.extern.slf4j.Slf4j; +import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -667,4 +667,14 @@ public class DQBomService { } return datas; } + + public List queryMaterials(QueryMaterialsQuery query) { + if (query.getType() == 0) { + return SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(query.getKeys()); + } else if (query.getType() == 1) { + return SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(query.getKeys()); + } else { + throw new NflgBusinessException(STATE.BusinessError, "无效的类别"); + } + } } From 4643194820405f2260e7adc6b29bdb2a8fa0e342 Mon Sep 17 00:00:00 2001 From: luoliming Date: Sat, 25 May 2024 14:54:59 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=981?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java | 3 +++ .../service/domain/OriginalBom/PlmBomToOriginalConvertV2.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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 dc60026d..3cb512fb 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 @@ -195,6 +195,9 @@ public class BomOriginalListVO extends BaseMaterialVO { @ApiModelProperty("是否通过规则替换 0-否 1-是") private Integer regReplaceIs; + @ApiModelProperty("项目类别输入方式: 0-自动匹配 1-手工录入 2-来自物料主数据 3-来自历史统计") + private Integer projectTypeInputType=1; + public Integer getVirtualPartType() { if( drawingNo.contains(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getConMaterialName())){ return VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue(); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvertV2.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvertV2.java index f951ef59..48b5db6c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvertV2.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvertV2.java @@ -62,7 +62,7 @@ public class PlmBomToOriginalConvertV2 extends BaseConvert { //初始化物料信息 SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(ImmutableList.of(parent), "material", "materialTexture", "materialUnit"); - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(childs, "material", "materialTexture", "materialUnit"); + SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(childs, "material", "materialTexture", "materialUnit","projectType"); SpringUtil.getBean(MaterialMainService.class).initShouldBomExist(ImmutableList.of(parent), BomOriginalPlmBomVO::getMaterialCategoryCode, BomOriginalPlmBomVO::setShouldBomExist, BomOriginalPlmBomVO::getMaterialGetType); SpringUtil.getBean(MaterialMainService.class).initShouldBomExist(childs, BomOriginalPlmBomVO::getMaterialCategoryCode, BomOriginalPlmBomVO::setShouldBomExist, BomOriginalPlmBomVO::getMaterialGetType); From ab1449e3f0fc5e0f5c66d37bbcc62a0655e22cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 15:01:07 +0800 Subject: [PATCH 07/13] =?UTF-8?q?feat(ebom):=20=E5=88=A0=E9=99=A4ebom?= =?UTF-8?q?=E6=97=B6=E6=94=AF=E6=8C=81=E5=88=A0=E9=99=A4=E4=BB=96=E4=BA=BA?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9A=84=E8=99=9A=E6=8B=9F=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/domain/EBom/EBomDel.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomDel.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomDel.java index 069eba7f..885e8900 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomDel.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomDel.java @@ -8,15 +8,16 @@ import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.EBomSourceEnum; import com.nflg.product.bomnew.constant.UserJobEnum; +import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.UserRoleService; import com.nflg.product.bomnew.util.VUtils; import lombok.Getter; -import org.apache.tomcat.jni.User; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -52,16 +53,20 @@ public class EBomDel { //工艺岗位,只能删除自己在EBOM中创建的数据 // 原始bom导入过来的只能 设计人员自己删,工艺不能删;双角色可以删自己数据 //设计人员在Ebom中创建的数据 工艺人员可以删除? + //虚拟包可以删除 if(roleList.contains(EBomConstant.DESIGNER)){ - delEBom = bomTreeAll.stream().filter(u ->ObjectUtil.equal( u.getCreatedBy(),SessionUtil.getUserCode()) - && (ObjectUtil.equal(u.getSource(),EBomSourceEnum.FROM_MDM.getValue()) || ObjectUtil.equal(u.getSource(), EBomSourceEnum.FROM_EXCE.getValue() ))) + delEBom = bomTreeAll.stream().filter(u -> (ObjectUtil.equal(u.getCreatedBy(), SessionUtil.getUserCode()) + && (ObjectUtil.equal(u.getSource(), EBomSourceEnum.FROM_MDM.getValue()) || ObjectUtil.equal(u.getSource(), EBomSourceEnum.FROM_EXCE.getValue())) + ) || !Objects.equals(u.getVirtualPartType(), VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE.getValue())) .collect(Collectors.toList()); } //工艺 删除自己和设计人员的数据只能是excel和手动录入 + //虚拟包可以删除 if(roleList.contains(EBomConstant.TECHNICIAN)){ - delEBom = bomTreeAll.stream().filter(u -> (ObjectUtil.equal(UserJobEnum.DESIGNER.getValue(),u.getCreatedJob()) || ObjectUtil.equal(u.getCreatedBy(),SessionUtil.getUserCode())) - && ( ObjectUtil.equal(u.getSource(),EBomSourceEnum.FROM_MDM.getValue()) || ObjectUtil.equal(u.getSource(), EBomSourceEnum.FROM_EXCE.getValue() ))) + delEBom = bomTreeAll.stream().filter(u -> ((ObjectUtil.equal(UserJobEnum.DESIGNER.getValue(), u.getCreatedJob()) || ObjectUtil.equal(u.getCreatedBy(), SessionUtil.getUserCode())) + && (ObjectUtil.equal(u.getSource(), EBomSourceEnum.FROM_MDM.getValue()) || ObjectUtil.equal(u.getSource(), EBomSourceEnum.FROM_EXCE.getValue())) + ) || !Objects.equals(u.getVirtualPartType(), VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE.getValue())) .collect(Collectors.toList()); } From c08ed0d539fa03a2c751c2ae5d870ea26754c1c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 17:15:08 +0800 Subject: [PATCH 08/13] =?UTF-8?q?feat(ebom):=20=E4=BF=AE=E5=A4=8D=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E4=BB=B6=E4=B8=BA=E6=9C=AA=E6=AD=A3=E7=A1=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewEbomParentService.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 17d8b367..0c82235c 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 @@ -382,8 +382,7 @@ public class BomNewEbomParentService extends ServiceImpl Date: Sat, 25 May 2024 17:28:12 +0800 Subject: [PATCH 09/13] =?UTF-8?q?fix(ebom):=20=E4=BF=AE=E5=A4=8D=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E4=BB=B6=E4=B8=BA=E6=9C=AA=E6=AD=A3=E7=A1=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/service/BomNewEbomParentService.java | 1 + 1 file changed, 1 insertion(+) 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 0c82235c..da88d3df 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 @@ -384,6 +384,7 @@ public class BomNewEbomParentService extends ServiceImpl Date: Sat, 25 May 2024 17:36:49 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E8=BD=AC31=E7=A0=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/domain/EBom/EBomToPBomFor31.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 2c5e5584..1c9a64c1 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 @@ -93,8 +93,8 @@ public class EBomToPBomFor31 extends EBomToPbomBase { } hasConvert.add(hasConvertKey); //构建变更明细 - buildUpgradeChangeDetail(vo, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE); - buildUpgradeChangeDetail(vo, VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE); +// buildUpgradeChangeDetail(vo, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE); +// buildUpgradeChangeDetail(vo, VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE); //子级 List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId())).distinct().collect(Collectors.toList()); @@ -109,7 +109,7 @@ public class EBomToPBomFor31 extends EBomToPbomBase { //合并子级 for (BomNewEbomParentVO eb : mergeChild) { BomNewPbomChildEntity childEnt = new BomNewPbomChildEntity(); - BeanUtil.copyProperties(eb, childEnt); + BeanUtil.copyProperties(eb, childEnt,"sourceRowId"); childEnt.setRowId(IdWorker.getId()); childEnt.setParentRowId(parentEnt.getRowId()); childEnt.setFacCode(facCode); From a724c8f2f445f8c4737d4ec929b1b61d01419d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 17:39:38 +0800 Subject: [PATCH 11/13] =?UTF-8?q?feat(ebom):=20=E8=B0=83=E6=95=B4=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/EbomApi.java | 7 +++++- .../service/BomNewEbomParentService.java | 24 +++++++++++++------ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 6d225b67..842ff080 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -452,9 +452,14 @@ public class EbomApi extends BaseApi { return ResultVO.success(bomNewEbomParentService.getSource(rowId)); } + /** + * 批量查询物料信息 + * @param query query + * @return 物料信息 + */ @PostMapping("queryMaterials") @ApiOperation("批量查询物料信息") - public ResultVO> queryMaterials(@Valid @RequestBody QueryMaterialsQuery query) { + public ResultVO> queryMaterials(@Valid @RequestBody @NotEmpty List query) { return ResultVO.success(bomNewEbomParentService.queryMaterials(query)); } } 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 da88d3df..c53c9ab4 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 @@ -2350,13 +2350,23 @@ public class BomNewEbomParentService extends ServiceImpl queryMaterials(QueryMaterialsQuery query) { - if (query.getType() == 0) { - return SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(query.getKeys()); - } else if (query.getType() == 1) { - return SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(query.getKeys()); - } else { - throw new NflgBusinessException(STATE.BusinessError, "无效的类别"); + public List queryMaterials(List query) { + List datas = new ArrayList<>(); + List keys = query.stream().map(QueryMaterialsQuery::getMaterialNo) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(keys)) { + datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(keys)); } + keys = query.stream() + .filter(it -> StrUtil.isBlank(it.getMaterialNo()) && StrUtil.isNotBlank(it.getDrawingNo())) + .map(QueryMaterialsQuery::getDrawingNo) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(keys)) { + datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys)); + } + return datas; } } From 70696f4ea4f3647c9406e53838353d672c019e7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 17:40:03 +0800 Subject: [PATCH 12/13] =?UTF-8?q?feat(dqbom):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/api/user/DQBomApi.java | 4 +-- .../pojo/query/QueryMaterialsQuery.java | 18 +++++-------- .../product/bomnew/service/DQBomService.java | 26 ++++++++++++------- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java index e5d6dcf0..564e2179 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java @@ -254,9 +254,9 @@ public class DQBomApi extends BaseApi { * @param query 查询条件 * @return */ - @PostMapping("queryMaterial") + @PostMapping("queryMaterials") @ApiOperation("批量查询物料信息") - public ResultVO> queryMaterial(@Valid @RequestBody QueryMaterialsQuery query) { + public ResultVO> queryMaterials(@Valid @RequestBody @NotEmpty List query) { return ResultVO.success(dQBomService.queryMaterials(query)); } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java index 962a62a5..12f311e1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java @@ -5,10 +5,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.List; - /** * @author 曹鹏飞 * @date 2024/5/25 14:17:04 @@ -19,16 +15,14 @@ import java.util.List; public class QueryMaterialsQuery { /** - * 数据类别,0-物料编号;1-图号 + * 图号 */ - @ApiModelProperty(value = "数据类别,0-物料编号;1-图号") - @NotNull - private Integer type; + @ApiModelProperty(value = "图号") + private String drawingNo; /** - * 物料编号或者图号 + * 物料编码 */ - @ApiModelProperty(value = "物料编号或者图号") - @NotEmpty - private List keys; + @ApiModelProperty(value = "物料编码") + private String materialNo; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index a861a0c5..5af786c0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.product.base.core.conmon.util.SessionUtil; -import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; @@ -26,7 +25,6 @@ import com.nflg.product.bomnew.util.BomUtil; import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VersionUtil; import lombok.extern.slf4j.Slf4j; -import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -668,13 +666,23 @@ public class DQBomService { return datas; } - public List queryMaterials(QueryMaterialsQuery query) { - if (query.getType() == 0) { - return SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(query.getKeys()); - } else if (query.getType() == 1) { - return SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(query.getKeys()); - } else { - throw new NflgBusinessException(STATE.BusinessError, "无效的类别"); + public List queryMaterials(List query) { + List datas = new ArrayList<>(); + List keys = query.stream().map(QueryMaterialsQuery::getMaterialNo) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(keys)) { + datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(keys)); } + keys = query.stream() + .filter(it -> StrUtil.isBlank(it.getMaterialNo()) && StrUtil.isNotBlank(it.getDrawingNo())) + .map(QueryMaterialsQuery::getDrawingNo) + .distinct() + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(keys)) { + datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys)); + } + return datas; } } From ac7a5e454ea1ae153fddf4973b080be1a7a933a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sat, 25 May 2024 17:50:20 +0800 Subject: [PATCH 13/13] =?UTF-8?q?feat(ebom):=20=E5=AF=BC=E5=85=A5=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E7=9A=84=E5=BF=85=E5=A1=AB=E5=AD=97=E6=AE=B5=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E2=80=9C*=E2=80=9D=E7=AC=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/pojo/dto/BomNewEBomImportExcelDTO.java | 5 ++--- .../java/com/nflg/product/bomnew/pojo/dto/EbomExcelDTO.java | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/BomNewEBomImportExcelDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/BomNewEBomImportExcelDTO.java index e685a25a..c3332bf1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/BomNewEBomImportExcelDTO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/BomNewEBomImportExcelDTO.java @@ -1,7 +1,6 @@ package com.nflg.product.bomnew.pojo.dto; -import com.baomidou.mybatisplus.annotation.TableField; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; import io.swagger.annotations.ApiModelProperty; @@ -24,7 +23,7 @@ public class BomNewEBomImportExcelDTO { private String projectType; - @ExcelColumn(value = "物料编码") + @ExcelColumn(value = "物料编码*") private String materialNo; @@ -36,7 +35,7 @@ public class BomNewEBomImportExcelDTO { private String materialDesc; - @ExcelColumn(value = "数量") + @ExcelColumn(value = "数量*") private BigDecimal num; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EbomExcelDTO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EbomExcelDTO.java index 35eb6479..080e5cd3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EbomExcelDTO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/dto/EbomExcelDTO.java @@ -15,7 +15,7 @@ public class EbomExcelDTO extends BaseImportExcelDTO { /** * 父级物料编号 */ - @ExcelColumn("抬头物料") + @ExcelColumn("抬头物料*") private String parentMaterialNo; /** @@ -33,7 +33,7 @@ public class EbomExcelDTO extends BaseImportExcelDTO { /** * 物料编号 */ - @ExcelColumn("项目物料") + @ExcelColumn("项目物料*") private String materialNo; /** @@ -45,7 +45,7 @@ public class EbomExcelDTO extends BaseImportExcelDTO { /** * 数量 */ - @ExcelColumn("数量") + @ExcelColumn("数量*") private BigDecimal num; /**