From 9d4845492b6cef0cdf8040dfdeae8f59f9ed347a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 21 Mar 2024 09:44:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=80=80=E5=9B=9E=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=97=B6=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E5=8F=AF=E9=80=80?= =?UTF-8?q?=E5=9B=9E=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C=E5=88=99=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewEbomParentService.java | 2 ++ 1 file changed, 2 insertions(+) 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 5653cfa4..019df4ed 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 @@ -1141,6 +1141,8 @@ public class BomNewEbomParentService extends ServiceImpl Date: Thu, 21 Mar 2024 10:10:39 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8E=9F=E5=A7=8BBOM=E8=BD=ACEbom=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=94=B9=E4=B8=BAList=EF=BC=8C=E5=B0=86?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=A4=B1=E8=B4=A5=E7=9A=84=E5=8E=9F=E5=9B=A0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/api/user/OriginalBomApi.java | 10 ++++------ .../service/BomNewOriginalParentService.java | 16 +++++++++++----- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java index e8b5b688..458a3ab2 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java @@ -157,16 +157,16 @@ public class OriginalBomApi extends BaseApi { @LogRecord(success = "删除BOM-图号:{{#bom.drawingNo}} 版本:{{#bom.currentVersion}},操作结果:{{#_ret}}", bizNo = "{{#bomRowIds.toString()}}" ,type = "原始BOM转Ebom") @Transactional(rollbackFor = Exception.class) - public ResultVO convertToEBom(@RequestBody List bomRowIds) throws ExecutionException, InterruptedException { + public ResultVO> convertToEBom(@RequestBody List bomRowIds) throws ExecutionException, InterruptedException { VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要转换的BOM"); VUtils.isTure(bomRowIds.size() > 20).throwMessage("你选择的BOM数据大于20"); - originalParentService.convertToEBom(bomRowIds); + List result = originalParentService.convertToEBom(bomRowIds); //更新物料使用 bomNewEbomChildMapper.updateEBomMaterialUse(); //更新-原始BOM跟节点 - CompletableFuture.runAsync(()->{ + CompletableFuture.runAsync(() -> { originalParentService.getBaseMapper().updateRootState_2(OriginalStatusEnum.OVER_CONVERT.getValue()); originalParentService.getBaseMapper().updateRootState_3(OriginalStatusEnum.OVER_CONVERT.getValue()); }); @@ -174,9 +174,7 @@ public class OriginalBomApi extends BaseApi { //跟新EBom 根节点 ebomParentService.getBaseMapper().updateRootState(); - - return ResultVO.success(true); - + return ResultVO.success(result); } @GetMapping("getOriginalBomExcelTemplate") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java index a6bcc939..37ad37e7 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java @@ -472,32 +472,38 @@ public class BomNewOriginalParentService extends ServiceImpl bomRowIds) throws ExecutionException, InterruptedException { + public List convertToEBom(List bomRowIds) throws ExecutionException, InterruptedException { List bomNewOriginalParentEntities = this.getBaseMapper().selectBatchIds(bomRowIds); //List convertedBom = bomNewOriginalParentEntities.stream().filter(u -> OriginalStatusEnum.OVER_CONVERT.equalsValue(u.getStatus())).collect(Collectors.toList()); // VUtils.isTure(CollUtil.isNotEmpty(convertedBom)).throwMessage("所选BOM中存在已转换的BOM"); //检查:有子级的物料编码不能为空 + List importOriginalBomVOList = new ArrayList<>(); //开始转换 for (BomNewOriginalParentEntity parent : bomNewOriginalParentEntities) { if (!Objects.equals(parent.getCreatedBy(), SessionUtil.getUserCode())){ + importOriginalBomVOList.add(new ImportOriginalBomVO(parent.getDrawingNo(),"非本人创建")); log.warn(SessionUtil.getRealName()+"("+SessionUtil.getUserCode()+")转换原始bom("+parent.getRowId().toString()+")到ebom的操作被阻止"); continue; } LogRecordContext.putVariable("bom",parent); Long ebomRowId = IdWorker.getId(); - convertToEBomDo(parent, ebomRowId); + + try { + convertToEBomDo(parent, ebomRowId); + } catch (Exception e) { + importOriginalBomVOList.add(new ImportOriginalBomVO(parent.getDrawingNo(), "操作失败:" + e.getMessage())); + throw e; + } //更新并保存异常信息 ebomParentService.checkAndSaveEBomException(ebomRowId); - } - return true; - + return importOriginalBomVOList; } /** From 1761db79655ae3137a371579c77501e65452a9ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 21 Mar 2024 11:29:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?ebom=E6=AD=A3=E5=BC=8F=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E8=A1=A8=E7=B2=BE=E7=A1=AE=E6=90=9C=E7=B4=A2=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=AD=98=E5=9C=A8=E7=89=A9=E6=96=99=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AF=E6=AD=A4=E7=89=A9=E6=96=99=E4=B8=8D=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E4=B8=8B=E7=BA=A7=E6=97=B6=EF=BC=8C=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E2=80=9C=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=AD=A4BOM=E7=89=A9?= =?UTF-8?q?=E6=96=99=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewEbomParentService.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 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 ac737861..e05eebe6 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 @@ -10,6 +10,7 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; @@ -23,10 +24,7 @@ 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.pojo.dto.*; -import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; -import com.nflg.product.bomnew.pojo.entity.BomNewEbomMaterialUseEntity; -import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; -import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; +import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; import com.nflg.product.bomnew.pojo.vo.*; @@ -256,7 +254,21 @@ public class BomNewEbomParentService extends ServiceImpl formalWorksheet(BomNewEbomParentQuery query) { Page result = this.getBaseMapper().formalWorksheet(new Page<>(query.getPage(), query.getPageSize()), query); - materialMainService.intiMaterialInfo(result.getRecords()); + if (CollUtil.isNotEmpty(result.getRecords())) { + materialMainService.intiMaterialInfo(result.getRecords()); + } else { + //查bom是否存在 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (StrUtil.isNotBlank(query.getDrawingNo())) { + wrapper.eq(BomNewEbomChildEntity::getDrawingNo, query.getDrawingNo()); + } else if (StrUtil.isNotBlank(query.getMaterialNo())) { + wrapper.eq(BomNewEbomChildEntity::getMaterialNo, query.getMaterialNo()); + } + if (wrapper.nonEmptyOfWhere() && ebomChildService.getBaseMapper().selectCount(wrapper) > 0) { + VUtils.isTure(true).throwMessage("不存在此BOM物料"); + } + } + return result; }