From 3e62befdeba82eeb30b3dc295403822ac0cf26a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 22 May 2024 11:45:25 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B8=85CAD=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BomNewOriginalParentV2Service.java | 66 +++++++++++-------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentV2Service.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentV2Service.java index 5060bb34..9381e6ea 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentV2Service.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentV2Service.java @@ -111,41 +111,49 @@ public class BomNewOriginalParentV2Service extends ServiceImpl pullFromCadAndToEBom(String userCode) throws ExecutionException, InterruptedException { - List parents = originalCadParentService.lambdaQuery().eq(BomOriginalCadParentEntity::getStatus, 1).eq(BomOriginalCadParentEntity::getCreatedBy, userCode).list(); - VUtils.isTure(CollUtil.isEmpty(parents)).throwMessage("没有你的数据,你无需转换"); - //检查物料编码在主数据中是否存在 - List childs=originalCadChildService.lambdaQuery().in(BomOriginalCadChildEntity::getParentRowId, parents.stream().map(u->u.getRowId()).collect(Collectors.toList())).list(); - checkMaterialHasExist(parents.stream().filter(u->StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadParentEntity::getMaterialNo).collect(Collectors.toList())); - checkMaterialHasExist(childs.stream().filter(u->StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadChildEntity::getMaterialNo).collect(Collectors.toList())); + List toEBomResult = new ArrayList(); + try { - //父级物料编码不能为空 - materialMainService.initMaterialForDrawdingNo(parents, BomOriginalCadParentEntity::getChartNo, BomOriginalCadParentEntity::setMaterialNo, BomOriginalCadParentEntity::setMaterialName); - List noMaterialNoChartNos = parents.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).map(u->u.getChartNo()).collect(Collectors.toList()); - VUtils.isTure(CollUtil.isNotEmpty(noMaterialNoChartNos)).throwMessage(StrUtil.join(",", noMaterialNoChartNos) + "物料编码为空,请检查(父级物料编码不能为空)"); + VUtils.isTure(CollUtil.isEmpty(parents)).throwMessage("没有你的数据,你无需转换"); + //检查物料编码在主数据中是否存在 + List childs = originalCadChildService.lambdaQuery().in(BomOriginalCadChildEntity::getParentRowId, parents.stream().map(u -> u.getRowId()).collect(Collectors.toList())).list(); + checkMaterialHasExist(parents.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadParentEntity::getMaterialNo).collect(Collectors.toList())); + checkMaterialHasExist(childs.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadChildEntity::getMaterialNo).collect(Collectors.toList())); - PlmBomToOriginalConvertV2 convert = new PlmBomToOriginalConvertV2(); - for (BomOriginalCadParentEntity parent : parents) { - //转原始BOM - convert.convertOriginalBom(parent); + //父级物料编码不能为空 + materialMainService.initMaterialForDrawdingNo(parents, BomOriginalCadParentEntity::getChartNo, BomOriginalCadParentEntity::setMaterialNo, BomOriginalCadParentEntity::setMaterialName); + List noMaterialNoChartNos = parents.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).map(u -> u.getChartNo()).collect(Collectors.toList()); + VUtils.isTure(CollUtil.isNotEmpty(noMaterialNoChartNos)).throwMessage(StrUtil.join(",", noMaterialNoChartNos) + "物料编码为空,请检查(父级物料编码不能为空)"); + PlmBomToOriginalConvertV2 convert = new PlmBomToOriginalConvertV2(); + for (BomOriginalCadParentEntity parent : parents) { + //转原始BOM + convert.convertOriginalBom(parent); + + } + if (CollUtil.isNotEmpty(convert.getResultParent())) { + this.saveOrUpdateBatch(convert.getResultParent()); + } + if (CollUtil.isNotEmpty(convert.getResultChild())) { + originalChildService.saveOrUpdateBatch(convert.getResultChild()); + } + //转Ebom + + if (CollUtil.isNotEmpty(convert.getResultParent())) { + toEBomResult = convertToEBomV2(convert.getResultParent().stream().map(u -> u.getRowId()).collect(Collectors.toList())); + } } - if (CollUtil.isNotEmpty(convert.getResultParent())) { - this.saveOrUpdateBatch(convert.getResultParent()); + catch (Exception ex){ + VUtils.isTure(true).throwMessage("转换失败:"+ex.getMessage()); } - if (CollUtil.isNotEmpty(convert.getResultChild())) { - originalChildService.saveOrUpdateBatch(convert.getResultChild()); - } - //转Ebom - List toEBomResult=new ArrayList(); - if (CollUtil.isNotEmpty(convert.getResultParent())) { - toEBomResult = convertToEBomV2(convert.getResultParent().stream().map(u -> u.getRowId()).collect(Collectors.toList())); - } - //删除cad临时表数据 - List delRowIds = parents.stream().map(BomOriginalCadParentEntity::getRowId).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(delRowIds)) { - originalCadParentService.getBaseMapper().deleteBatchIds(delRowIds); - originalCadParentService.getBaseMapper().delChildByParentRowIds(delRowIds); + finally { + //删除cad临时表数据 + List delRowIds = parents.stream().map(BomOriginalCadParentEntity::getRowId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(delRowIds)) { + originalCadParentService.getBaseMapper().deleteBatchIds(delRowIds); + originalCadParentService.getBaseMapper().delChildByParentRowIds(delRowIds); + } } return toEBomResult;