From 7545e35fbf5b27edb2df2f00c28b310e9f7a04d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 28 Apr 2024 10:54:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=B5=E6=B0=94bom?= =?UTF-8?q?=E5=AF=BC=E5=85=A5sap=E6=88=90=E5=8A=9F=E5=90=8E=EF=BC=8Cbom?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=BC=9A=E5=8F=98=E6=88=90=E5=BE=85=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=88=B0sap=E7=9A=84=E7=89=A9=E6=96=99=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8=E4=B8=BB=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/DQBomService.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) 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 50ebaa40..5154205e 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 @@ -3,7 +3,6 @@ package com.nflg.product.bomnew.service; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; @@ -387,6 +386,8 @@ public class DQBomService { List datas = getAll(rootBomRowId); datas.remove(0); + List materialNos = datas.stream().map(BomNewDQbomVO::getMaterialNo).collect(Collectors.toList()); + List materialBaseInfos = materialMainService.getMaterialBaseInfo(materialNos); ImportSapParamDTO sapDto = new ImportSapParamDTO(); sapDto.setZID(RandomUtil.randomNumbers(5)); sapDto.setI_WERKS("1"); @@ -397,28 +398,35 @@ public class DQBomService { T1DTO t1 = new T1DTO(); t1.setID(RandomUtil.randomNumbers(5)); t1.setMATNR(d.getParentMaterialNo()); - t1.setMEINS(d.getMaterialUnit()); t1.setMENGE(d.getNum().toString()); t1.setPOSTP(d.getProjectType()); + t1.setDATUM(dateYMD); + + t1.setMEINS(d.getMaterialUnit()); if (BomConstant.PROJECT_TYPE_TEMPORARY.equals(d.getProjectType())) { t1.setIDNRK(""); t1.setPOTX1(d.getMaterialName()); } else { t1.setIDNRK(d.getMaterialNo()); + BaseMaterialVO bm = materialBaseInfos.stream().filter(m -> m.getMaterialNo().equals(d.getMaterialNo())).findFirst().orElse(null); + if (!Objects.isNull(bm)) { + t1.setMEINS(bm.getMaterialUnit()); + } } - t1.setDATUM(dateYMD); + t1s.add(t1); }); sapDto.setT1(t1s); ResultVO resultVO = SpringUtil.getBean(SapOpUtilService.class).importToSapV2(sapDto, null); - if (resultVO.getState().equals(STATE.Success.getState())) { - BomNewDQbomParentEntity parentEntity = new BomNewDQbomParentEntity(); - parentEntity.setRowId(rootBomRowId); - parentEntity.setSapState(MBomConstantEnum.MBomStatusEnum.PUB_SAP.getValue()); - parentEntity.setSapTime(LocalDateTimeUtil.now()); - dQBomParentService.updateById(parentEntity); - } - return resultVO; + boolean update = dQBomParentService.lambdaUpdate() + .eq(BomNewDQbomParentEntity::getRowId, rootBomRowId) + .set(BomNewDQbomParentEntity::getSapTime, LocalDateTime.now()) + .set(resultVO.getState().equals(STATE.Success.getState()) + , BomNewDQbomParentEntity::getSapState, MBomConstantEnum.MBomStatusEnum.PUB_SAP.getValue()) + .set(!resultVO.getState().equals(STATE.Success.getState()) + , BomNewDQbomParentEntity::getSapState, MBomConstantEnum.MBomStatusEnum.PUB_ERROR.getValue()) + .update(); + return update ? resultVO : ResultVO.error("更新数据失败"); } public BomDQbomEditDetailVO editDetail(Long rowId, Long bomRowId) {