From ae56989682a515e57a6f14eb0706dc1f20c23a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 16 May 2024 10:15:47 +0800 Subject: [PATCH 1/4] =?UTF-8?q?1=E3=80=81=E4=B8=80=E8=88=AC=E9=9B=B6?= =?UTF-8?q?=E9=83=A8=E4=BB=B6=E9=A1=B9=E7=9B=AE=E7=B1=BB=E5=88=AB=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E4=B8=BAL=202=20=20=E6=9B=BF=E6=8D=A2=E7=89=A9?= =?UTF-8?q?=E6=96=99=E9=A1=B9=E7=9B=AE=E7=B1=BB=E5=88=AB=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=B8=BAL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/OriginalBom/OriginalBomToEBomV2Convert.java | 2 ++ .../service/domain/OriginalBom/PlmBomToOriginalConvertV2.java | 1 + 2 files changed, 3 insertions(+) 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 d832505a..de07bf2e 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 @@ -297,6 +297,7 @@ public class OriginalBomToEBomV2Convert extends BaseConvert { parentEntity.setMaterialTexture(baseMaterialVO.getMaterialTexture()); parentEntity.setMaterialUnit("KG"); parentEntity.setNum(parentEntity.getTotalWeight()); + parentEntity.setProjectType("L"); } else { parentEntity.setMaterialDesc(parentEntity.getMaterialName()); } @@ -340,6 +341,7 @@ public class OriginalBomToEBomV2Convert extends BaseConvert { childEntity.setNum(parent.getUnitWeight()); childEntity.setCreatedBy(SessionUtil.getUserCode()); childEntity.setMaterialUnit("KG"); + childEntity.setProjectType("L"); // this.eBomChildResult.add(childEntity); return childEntity; 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 4c4f331b..5610c468 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 @@ -198,6 +198,7 @@ public class PlmBomToOriginalConvertV2 extends BaseConvert { parentEntity.setMaterialName(baseMaterialVO.getMaterialName()); parentEntity.setMaterialDesc(baseMaterialVO.getMaterialDesc()); parentEntity.setMaterialTexture(baseMaterialVO.getMaterialTexture()); + parentEntity.setProjectType("L"); } } From 4a1c6c00d6f3e911ce2b61f5d9b2d6ad6935ba1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 16 May 2024 10:58:33 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=BB=8ECAD=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/mapper/master/BomNewOriginalChildMapper.java | 2 ++ .../bomnew/pojo/entity/BomOriginalCadChildEntity.java | 4 ++-- .../domain/OriginalBom/PlmBomToOriginalConvertV2.java | 2 +- .../resources/mapper/master/BomNewOriginalChildMapper.xml | 7 +++++++ .../nflg/product/base/core/conmon/util/SessionUtil.java | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java index ff00ace2..d2c792f7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalChildMapper.java @@ -40,4 +40,6 @@ public interface BomNewOriginalChildMapper extends BaseMapper rowIds); + + void deleteChildByParentRowIds(@Param("parentRowIds") List parentRowIds); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomOriginalCadChildEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomOriginalCadChildEntity.java index 966cf16e..6222d4bb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomOriginalCadChildEntity.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomOriginalCadChildEntity.java @@ -101,9 +101,9 @@ public class BomOriginalCadChildEntity implements Serializable { /** * 项目类别 */ - @TableField(value = "projectType") + @TableField(value = "project_type") @ApiModelProperty(value = "项目类别") - private String project_type; + private String projectType; /** * 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 5610c468..ec51e746 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 @@ -99,7 +99,7 @@ public class PlmBomToOriginalConvertV2 extends BaseConvert { originalParentService.getBaseMapper().deleteByMap(ImmutableMap.of("drawing_no", parent.getChartNo())); List oldParentRowIds = oldOriginalParents.stream().map(u -> u.getRowId()).collect(Collectors.toList()); if (CollUtil.isNotEmpty(oldParentRowIds)) { - originalChildService.getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id", oldOriginalParents)); + originalChildService.getBaseMapper().deleteChildByParentRowIds(oldParentRowIds); } //有子级(原始BOM-直接覆盖) if (CollUtil.isNotEmpty(childs)) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml index af3dd708..edd7986b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalChildMapper.xml @@ -86,4 +86,11 @@ #{rowId} ; + + + delete from t_bom_new_original_child where parent_row_id in + + #{rowId} + + 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..b60092de 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 @@ -33,7 +33,7 @@ public class SessionUtil { */ public static String getUserCode() { //return Optional.ofNullable(loginUser.get()).map(LoginUserInfoDTO::getUserCode).orElse("QHI17062100"); - return getUser().getUserCode(); + return "NFLG20231201"; } From 47da3a9d58131f1e44ff342b01970813935225a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 16 May 2024 10:58:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E4=BB=8ECAD=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96?= 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 b60092de..e833f0bb 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 @@ -33,7 +33,7 @@ public class SessionUtil { */ public static String getUserCode() { //return Optional.ofNullable(loginUser.get()).map(LoginUserInfoDTO::getUserCode).orElse("QHI17062100"); - return "NFLG20231201"; + return getUser().getUserCode(); } From d43c9153c9177e5ce8c14f500c6eb778e54c1d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 16 May 2024 11:35:47 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat(dqbom):=20=E4=BB=8Eexcel=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=97=B6=E5=A6=82=E6=9E=9C=E7=BC=96=E5=8F=B7=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=EF=BC=8C=E5=9B=BE=E5=8F=B7=E4=B8=8D=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=EF=BC=8C=E5=88=99=E7=BC=96=E5=8F=B7=E4=BD=BF=E7=94=A8=E4=B8=BB?= =?UTF-8?q?=E7=89=A9=E6=96=99=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/DQBomImportService.java | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java index 69642e0c..251ef872 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.NumberUtil; 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.baomidou.mybatisplus.core.toolkit.IdWorker; import com.fasterxml.jackson.core.JsonProcessingException; @@ -14,6 +15,7 @@ import com.nflg.product.bomnew.constant.BomConstant; import com.nflg.product.bomnew.constant.DQBomStatusEnum; import com.nflg.product.bomnew.constant.EBomExceptionStatusEnum; import com.nflg.product.bomnew.constant.UserJobEnum; +import com.nflg.product.bomnew.mapper.master.MaterialMainMapper; import com.nflg.product.bomnew.pojo.dto.BaseImportExcelDTO; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomParentEntity; @@ -240,18 +242,48 @@ public class DQBomImportService { ); } - List materialNos = datas.stream().map(DQbomExcelVO::getMaterialNo).distinct().collect(Collectors.toList()); + errorMsg.addAll(datas.stream() + .filter(d -> StrUtil.isBlank(d.getMaterialNo()) && StrUtil.isBlank(d.getDrawingNo())) + .map(d -> OperationErrorMsgVO.create("第" + d.getRowNum() + "行", "编号和图号都为空")) + .collect(Collectors.toList())); + + //如果编号不为空,则图号使用主物料图号 + List materialNos = datas.stream() + .map(DQbomExcelVO::getMaterialNo) + .filter(StrUtil::isNotBlank) + .distinct() + .collect(Collectors.toList()); List materialBaseInfos = materialMainService.getMaterialBaseInfo(materialNos); - datas.forEach(d -> { + for (DQbomExcelVO d : datas) { BaseMaterialVO vo = materialBaseInfos.stream() .filter(m -> m.getMaterialNo().equals(d.getMaterialNo())) .findFirst() .orElse(null); - if (!Objects.isNull(vo)) { + if (Objects.nonNull(vo)) { d.setDrawingNo(vo.getDrawingNo()); } - }); + } + //如果编号为空,图号不为空,则编号使用主物料编号 + List drawingNos = datas.stream() + .filter(d -> StrUtil.isNotBlank(d.getDrawingNo()) && StrUtil.isBlank(d.getMaterialNo())) + .map(DQbomExcelVO::getDrawingNo) + .distinct() + .collect(Collectors.toList()); + materialBaseInfos = SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(drawingNos); + for (DQbomExcelVO d : datas) { + if (StrUtil.isNotBlank(d.getDrawingNo()) && StrUtil.isBlank(d.getMaterialNo())) { + BaseMaterialVO vo = materialBaseInfos.stream() + .filter(m -> m.getDrawingNo().equals(d.getDrawingNo())) + .findFirst() + .orElse(null); + if (Objects.nonNull(vo)) { + d.setMaterialNo(vo.getMaterialNo()); + } else { + errorMsg.add(OperationErrorMsgVO.create("第" + d.getRowNum() + "行", "图号不存在")); + } + } + } return errorMsg; } @@ -266,27 +298,7 @@ public class DQBomImportService { BomNewDQbomParentEntity parent = parents.stream().filter(p -> p.getMaterialNo().equals(data.getMaterialNo())) .findFirst() .orElse(null); - //if (parent == null && (count - 1 != index || datas.get(index + 1).getLevel() > data.getLevel())) { if (parent == null && count - 1 > index && datas.get(index + 1).getLevel() > data.getLevel()) { - // if (index == 0) { - // BomNewDQbomParentEntity old = dQBomParentService.lambdaQuery() - // .eq(data.getProjectType().equals("L"), BomNewDQbomParentEntity::getMaterialNo, data.getMaterialNo()) - // .eq(data.getProjectType().equals("T"), BomNewDQbomParentEntity::getMaterialName, data.getMaterialName()) - // .orderByDesc(BomNewDQbomParentEntity::getRowId) - // .last(" limit 1") - // .one(); - // if (!Objects.isNull(old)) { - // VUtils.isTure(Objects.equals(data.getMaterialUnit(), old.getMaterialUnit()) - // || Objects.equals(data.getNum(), old.getNum()) - // || Objects.equals(data.getMaterialTexture(), old.getMaterialTexture())) - // .throwMessage("导入的数据已存在,请勿重复导入"); - // if (Objects.equals(old.getStatus(), DQBomStatusEnum.WAIT_CONVERT.getValue())) { - // VUtils.isTure(!Objects.equals(old.getCreatedBy(), SessionUtil.getUserCode())) - // .throwMessage(StrUtil.format("此物料已由{}导入过,不能再次导入", old.getCreatedName())); - // } - // } - // } - parent = new BomNewDQbomParentEntity(); parent.setRowId(IdWorker.getId()); parent.setLevel(data.getLevel());