From 5e6c611477104704a3827cad2509fbc69ce41e46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 21 May 2024 16:18:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix(dqbom):=20=E4=BF=AE=E5=A4=8D=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9Ebom=E6=9A=82?= =?UTF-8?q?=E5=AD=98=E5=90=8E=E5=86=8D=E6=8F=90=E4=BA=A4=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nflg/product/bomnew/service/DQBomService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 5b917b99..6a59f401 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 @@ -238,7 +238,10 @@ public class DQBomService { parent.setCreatedJob(userRoleService.technician() ? UserJobEnum.ENGINEER.getValue() : UserJobEnum.DESIGNER.getValue()); parent.setSource(2); dQBomParentService.save(parent); - query.getParent().setBomRowId(parent.getRowId()); + BomNewDQbomVO pvo = Convert.convert(BomNewDQbomVO.class, parent); + pvo.setBomRowId(parent.getRowId()); + query.setParent(pvo); + //query.getParent().setBomRowId(parent.getRowId()); } else { //删除所有子级关系 dQBomChildService.deleteAllChildren(query.getParent().getBomRowId()); From c99cbcf8523a59cb599566b5d643a390ad4c0e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 23 May 2024 13:47:59 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix(dqbom):=20=E4=BF=AE=E5=A4=8D=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=AD=90=E7=BA=A7=E7=9A=84sql=E5=9C=A8=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=8E=AF=E5=A2=83=E6=AD=A3=E5=B8=B8=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E6=98=AF=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/DQBomChildService.java | 13 ++++++++++++- .../mapper/master/BomNewDQbomChildMapper.xml | 13 ++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomChildService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomChildService.java index 8eb4d313..62f462c0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomChildService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomChildService.java @@ -1,12 +1,15 @@ package com.nflg.product.bomnew.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.product.bomnew.mapper.master.BomNewDQbomChildMapper; import com.nflg.product.bomnew.pojo.entity.BomNewDQbomChildEntity; +import com.nflg.product.bomnew.pojo.entity.BomNewDQbomParentEntity; import com.nflg.product.bomnew.pojo.vo.BomNewDQbomVO; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; /** @@ -16,8 +19,16 @@ import java.util.List; @Service public class DQBomChildService extends ServiceImpl { + @Resource + private DQBomParentService dQBomParentService; + public void deleteAllChildren(Long parentRowId) { - this.getBaseMapper().deleteAllChildren(parentRowId); + this.getBaseMapper().delete(Wrappers.lambdaQuery(BomNewDQbomChildEntity.class) + .eq(BomNewDQbomChildEntity::getParentRowId, parentRowId)); + dQBomParentService.lambdaUpdate() + .set(BomNewDQbomParentEntity::getBomExist, 0) + .eq(BomNewDQbomParentEntity::getRowId, parentRowId) + .update(); } public List getByParentRowId(Long parentRowId) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewDQbomChildMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewDQbomChildMapper.xml index 583e062c..afa579d2 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewDQbomChildMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewDQbomChildMapper.xml @@ -1,20 +1,11 @@ - - DELETE - FROM t_bom_new_dqbom_child - WHERE parent_row_id = #{parentRowId}; - UPDATE t_bom_new_dqbom_parent - SET bom_exist=0 - WHERE row_id = #{parentRowId}; - - \ No newline at end of file From 04516d4d2f69a2e576eadc0f7c737d27ad4428a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 23 May 2024 15:14:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix(dqbom):=20=E4=BF=AE=E5=A4=8D=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/DQBomImportService.java | 43 +++++++++++-------- .../product/bomnew/service/DQBomService.java | 37 ++++++---------- 2 files changed, 38 insertions(+), 42 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 251ef872..aea6e2b9 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 @@ -247,20 +247,23 @@ public class DQBomImportService { .map(d -> OperationErrorMsgVO.create("第" + d.getRowNum() + "行", "编号和图号都为空")) .collect(Collectors.toList())); + List materialBaseInfos; //如果编号不为空,则图号使用主物料图号 List materialNos = datas.stream() .map(DQbomExcelVO::getMaterialNo) .filter(StrUtil::isNotBlank) .distinct() .collect(Collectors.toList()); - List materialBaseInfos = materialMainService.getMaterialBaseInfo(materialNos); - for (DQbomExcelVO d : datas) { - BaseMaterialVO vo = materialBaseInfos.stream() - .filter(m -> m.getMaterialNo().equals(d.getMaterialNo())) - .findFirst() - .orElse(null); - if (Objects.nonNull(vo)) { - d.setDrawingNo(vo.getDrawingNo()); + if (CollUtil.isNotEmpty(materialNos)) { + materialBaseInfos = materialMainService.getMaterialBaseInfo(materialNos); + for (DQbomExcelVO d : datas) { + BaseMaterialVO vo = materialBaseInfos.stream() + .filter(m -> m.getMaterialNo().equals(d.getMaterialNo())) + .findFirst() + .orElse(null); + if (Objects.nonNull(vo)) { + d.setDrawingNo(vo.getDrawingNo()); + } } } @@ -270,17 +273,19 @@ public class DQBomImportService { .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() + "行", "图号不存在")); + if (CollUtil.isNotEmpty(drawingNos)) { + 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() + "行", "图号不存在")); + } } } } 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 6a59f401..871312b2 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 @@ -593,13 +593,6 @@ public class DQBomService { wrapper.eq(BomNewDQbomParentEntity::getMaterialNo, parent.getMaterialNo()); wrapper.ne(BomNewDQbomParentEntity::getRowId, parent.getRowId()); dQBomParentService.getBaseMapper().delete(wrapper); - List cc = dQBomChildService.getByParentRowId(parent.getRowId()); - cc.forEach(c -> { - c.setStatus(2); - c.setEditStatus(2); - c.setModifyTime(LocalDateTime.now()); - }); - children.addAll(cc); BomNewPbomParentEntity pp = bomNewPbomParentService.lambdaQuery().eq(BomNewPbomParentEntity::getMaterialNo, parent.getMaterialNo()) .orderByDesc(BomNewPbomParentEntity::getRowId) @@ -611,20 +604,9 @@ public class DQBomService { , parent.getCurrentVersion(), pp.getCurrentVersion())); } else { if (pp.getStatus() >= 4) { - // List dqChildren = getChild(parent.getRowId()); - // Set pChildren = bomNewPbomChildService.lambdaQuery() - // .select(BomNewPbomChildEntity::getMaterialNo) - // .eq(BomNewPbomChildEntity::getParentRowId, pp.getRowId()) - // .list() - // .stream() - // .map(BomNewPbomChildEntity::getMaterialNo) - // .collect(Collectors.toSet()); - // if (dqChildren.size() != pChildren.size() - // || !Sets.difference(dqChildren.stream().map(BomNewDQbomVO::getMaterialNo).collect(Collectors.toSet()), pChildren).isEmpty()) { parent.setCurrentVersion(VersionUtil.getNextVersion(pp.getCurrentVersion())); pp.setLastVersionIs(0); bomNewPbomParentService.updateById(pp); - // } } else { parent.setCurrentVersion(pp.getCurrentVersion()); bomNewPbomParentService.getBaseMapper().deleteById(pp.getRowId()); @@ -636,11 +618,20 @@ public class DQBomService { parent.setCurrentVersion(VersionUtil.getNextVersion("")); } //处理子级 - dQBomParentService.lambdaQuery() - .in(BomNewDQbomParentEntity::getMaterialNo, cc.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toList())) - .eq(BomNewDQbomParentEntity::getStatus, 1) - .list() - .forEach(p -> buildTree(p, parents, children)); + List cc = dQBomChildService.getByParentRowId(parent.getRowId()); + if (CollUtil.isNotEmpty(cc)) { + cc.forEach(c -> { + c.setStatus(2); + c.setEditStatus(2); + c.setModifyTime(LocalDateTime.now()); + }); + children.addAll(cc); + dQBomParentService.lambdaQuery() + .in(BomNewDQbomParentEntity::getMaterialNo, cc.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toList())) + .eq(BomNewDQbomParentEntity::getStatus, 1) + .list() + .forEach(p -> buildTree(p, parents, children)); + } } private int versionCompare(String version1, String version2) {