diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 51517b7a..7eb6d4f3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -10,12 +10,10 @@ import com.mzt.logapi.starter.annotation.LogRecord; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.pojo.dto.*; +import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; -import com.nflg.product.bomnew.pojo.vo.BomNewEbomEditDetailVO; -import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; -import com.nflg.product.bomnew.pojo.vo.BomNewEbomUpgradeChangeVO; -import com.nflg.product.bomnew.pojo.vo.OperationErrorMsgVO; +import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.EecExcelUtil; import com.nflg.product.bomnew.util.VUtils; @@ -411,7 +409,7 @@ public class EbomApi extends BaseApi { @PostMapping("intiException") @ApiOperation("初始化错误类型") @LogRecord(success = "Ebom-初始化错误类型,操作结果:{{#_ret}}", bizNo = "{{#bomRowIds.toString()}}", type = "Ebom-初始化错误类型") - public ResultVO intiException(@RequestBody List bomRowIds) throws ExecutionException, InterruptedException { + public ResultVO intiException(@RequestBody List bomRowIds) { bomNewEbomParentService.batchCheckAndSaveEBomException(bomRowIds); return ResultVO.success(true); @@ -464,4 +462,15 @@ public class EbomApi extends BaseApi { VUtils.isTure(rootBomRowIds.size() > 1).throwMessage("每次只能导入1条"); return bomNewEbomParentService.importToSAP(rootBomRowIds.get(0)); } + + /** + * 获取节点异常状态 + * @param query query + * @return 节点异常状态 + */ + @PostMapping("getBomException") + @ApiOperation("获取节点异常状态") + public ResultVO> getBomException(@Valid @RequestBody @NotEmpty List query) { + return ResultVO.success(bomNewEbomParentService.getBomException(query)); + } } 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 8e912e98..522c931a 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 @@ -24,6 +24,7 @@ import com.nflg.product.bomnew.pojo.dto.*; import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; import com.nflg.product.bomnew.pojo.entity.*; +import com.nflg.product.bomnew.pojo.query.BomExceptionQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; import com.nflg.product.bomnew.pojo.vo.*; @@ -527,10 +528,8 @@ public class BomNewEbomParentService extends ServiceImpl getBomTree(Long rowId, Boolean generateLevelNumberFlag) throws ExecutionException, InterruptedException { + public List getBomTree(Long rowId, Boolean generateLevelNumberFlag) { List bomDetail = this.getBaseMapper().getParentChild(rowId); // EBomDetailTask detailTask = new EBomDetailTask(bomDetail); @@ -719,7 +718,7 @@ public class BomNewEbomParentService extends ServiceImpl bomRowIds) throws ExecutionException, InterruptedException { + public void batchCheckAndSaveEBomException(List bomRowIds) { for (Long bomRowId : bomRowIds) { CheckEBomException checkEBomException = new CheckEBomException(bomRowId); checkEBomException.initException(); @@ -2258,4 +2257,32 @@ public class BomNewEbomParentService extends ServiceImpl getBomException(List query) { + List datas = new ArrayList<>(); + for (int index = 0, count = query.size(); index < count; index++) { + BomExceptionQuery bom = query.get(index); + BomExceptionVO vo = new BomExceptionVO(); + if (index == 0) { + batchCheckAndSaveEBomException(Collections.singletonList(bom.getBomRowId())); + + BomNewEbomParentEntity parent = getById(bom.getBomRowId()); + vo.setMaterialNo(parent.getMaterialNo()); + vo.setExceptionStatus(parent.getExceptionStatus()); + } else { + BomNewEbomChildEntity child = ebomChildService.getById(bom.getRowId()); + vo.setMaterialNo(child.getMaterialNo()); + if (Objects.equals(child.getExceptionStatus(), EBomExceptionStatusEnum.OK.getValue())) { + BomNewEbomParentEntity parent = getById(bom.getBomRowId()); + vo.setExceptionStatus(parent.getExceptionStatus()); + } else { + vo.setExceptionStatus(child.getExceptionStatus()); + } + } + vo.setBomRowId(bom.getBomRowId()); + vo.setRowId(bom.getRowId()); + datas.add(vo); + } + return datas; + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java index 95f69909..b7ee4e03 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java @@ -21,7 +21,6 @@ import nflg.product.common.constant.STATE; import java.math.BigDecimal; import java.util.*; -import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; /** @@ -53,7 +52,7 @@ public class CheckEBomException { } - public CheckEBomException(Long bomRowId) throws ExecutionException, InterruptedException { + public CheckEBomException(Long bomRowId) { allBomDetail = SpringUtil.getBean(BomNewEbomParentService.class).getBomTree(bomRowId, true); //只检查待复核和自己的