From beedcbeb2756db9233b28a56f141f8d86ad28938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 25 Apr 2024 16:55:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=B5=E6=B0=94bom=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nflg/product/bomnew/api/user/DQBomApi.java | 9 ++++++--- .../bomnew/service/BomNewDQbomExceptionCheckService.java | 3 ++- .../nflg/product/bomnew/service/DQBomImportService.java | 4 ++++ .../com/nflg/product/bomnew/service/DQBomService.java | 7 ++++--- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java index 5cd096c5..efad7653 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java @@ -15,6 +15,7 @@ import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.DQBomImportService; import com.nflg.product.bomnew.service.DQBomService; import com.nflg.product.bomnew.util.EecExcelUtil; +import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import nflg.product.common.vo.ResultVO; @@ -139,7 +140,7 @@ public class DQBomApi extends BaseApi { @PostMapping("checkException") @ApiOperation("异常检查") public ResultVO checkException(@Valid @RequestBody @NotEmpty List bomRowIds) { - dQBomService.checkException(bomRowIds.get(0)); + bomRowIds.forEach(dQBomService::checkException); return ResultVO.success(); } @@ -151,7 +152,7 @@ public class DQBomApi extends BaseApi { @PostMapping("deleteBom") @ApiOperation("删除bom") public ResultVO deleteBom(@Valid @RequestBody @NotEmpty List rootBomRowIds) { - dQBomService.deleteBom(rootBomRowIds.get(0)); + rootBomRowIds.forEach(dQBomService::deleteBom); return ResultVO.success(); } @@ -163,6 +164,7 @@ public class DQBomApi extends BaseApi { @PostMapping("exportBom") @ApiOperation("导出bom") public void exportBom(@Valid @RequestBody @NotEmpty List rootBomRowIds, HttpServletResponse response) throws IOException { + VUtils.isTure(rootBomRowIds.size() > 1).throwMessage("每次只能导出1条"); List data = dQBomService.exportBom(rootBomRowIds.get(0)); EecExcelUtil.export(response, data, DQbomExcelVO.class, "电气专用bom"); } @@ -175,7 +177,7 @@ public class DQBomApi extends BaseApi { @PostMapping("convertToPbom") @ApiOperation("生成pbom") public ResultVO convertToPbom(@Valid @RequestBody @NotEmpty List rootBomRowIds) { - dQBomService.convertToPbom(rootBomRowIds.get(0)); + rootBomRowIds.forEach(dQBomService::convertToPbom); return ResultVO.success(); } @@ -211,6 +213,7 @@ public class DQBomApi extends BaseApi { @PostMapping("importToSAP") @ApiOperation("导入到SAP") public ResultVO importToSAP(@Valid @RequestBody @NotEmpty List rootBomRowIds) { + VUtils.isTure(rootBomRowIds.size() > 1).throwMessage("每次只能导入1条"); return dQBomService.importToSAP(rootBomRowIds.get(0)); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java index 6063cd52..69e7f056 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java @@ -130,7 +130,8 @@ public class BomNewDQbomExceptionCheckService { // } else if (parent.getMaterialNo().startsWith(BomConstant.NO_TEMPORARY_PREFIX)) { // status = EBomExceptionStatusEnum.EXCEPT_NO_4; } else { - BaseMaterialVO materialVO = materialVOS.stream().filter(v -> v.getMaterialNo().equals(parent.getMaterialNo())) + BaseMaterialVO materialVO = materialVOS.stream() + .filter(v -> v.getMaterialNo().equals(parent.getMaterialNo())) .findFirst() .orElse(null); if (materialVO == null) { 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 e73652b7..39bce886 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 @@ -375,6 +375,10 @@ public class DQBomImportService { dQbomExcelVO.setNum(BigDecimal.ONE); } } + if (StrUtil.equals(dQbomExcelVO.getMaterialNo(), "9000000000")) { + dQbomExcelVO.setProjectType("T"); + } + dQbomExcelVO.setCurrentVersion(""); excelContextTL.get().add(dQbomExcelVO); } 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 9237d0a1..6adfb1a4 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 @@ -224,8 +224,9 @@ public class DQBomService { if (Objects.isNull(query.getParent()) || query.getParent().getBomRowId() == 0) { //新增父级节点 - BomNewDQbomParentEntity oldParent = dQBomParentService.lambdaQuery().eq(BomNewDQbomParentEntity::getMaterialNo, query.getParent().getMaterialNo()) - .eq(BomNewDQbomParentEntity::getLastVersionIs, 1) + BomNewDQbomParentEntity oldParent = dQBomParentService.lambdaQuery() + .eq(BomNewDQbomParentEntity::getMaterialNo, query.getParent().getMaterialNo()) + .eq(BomNewDQbomParentEntity::getStatus, DQBomStatusEnum.WAIT_CONVERT.getValue()) .one(); VUtils.isTure(oldParent != null && !oldParent.getCreatedBy().equals(SessionUtil.getUserCode())) .throwMessage("父级已被其他人创建"); @@ -380,7 +381,7 @@ public class DQBomService { t1.setMATNR(d.getParentMaterialNo()); t1.setIDNRK(d.getMaterialNo()); t1.setMEINS(d.getMaterialUnit()); - t1.setMENGE("1"); + t1.setMENGE(d.getNum().toString()); t1.setPOSTP(d.getProjectType()); t1.setDATUM(dateYMD); t1s.add(t1);