Browse Source

bugFix 待加工料卷批次号流转异常的问题

xiahan 1 year ago
parent
commit
04536ae4bf

+ 12 - 3
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ReportCheckServiceImpl.java

@@ -172,7 +172,10 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         currentProcessOperationEqu.setBachmaterialprocess("");
         apsProcessOperationProcessEquService.updateById(currentProcessOperationEqu);
         // 更新 更新该报工检验记录所有输出物料 以及待加工料卷批次号
-        updateProcessOutputMater(apsWorkInProgressInventoryDos, reportOutputDos, operationOutMaterDoList, currentProcessOperationMainDo);
+        updateProcessOutputMater(apsWorkInProgressInventoryDos, reportOutputDos,
+                operationOutMaterDoList,
+                currentProcessOperationMainDo,
+                currentProcessOperationEqu);
         // 更新报工输出物料 检验状态
         apsReportOutputService.update(new LambdaUpdateWrapper<ApsReportOutputDo>()
                 .in(ApsReportOutputDo::getId, reportOutputDos.stream().map(ApsReportOutputDo::getId).collect(Collectors.toList()))
@@ -365,7 +368,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
     public void updateProcessOutputMater(List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos,
                                          List<ApsReportOutputDo> reportOutputDos,
                                          List<ApsProcessOperationOutMaterDo> operationOutMaterDoList,
-                                         ApsProcessOperationDo currentProcessOperationMainDo) {
+                                         ApsProcessOperationDo currentProcessOperationMainDo,
+                                         ApsProcessOperationProcessEquDo currentProcessOperationEqu) {
         log.info("开始更新工序作业的输出物料和在制品相关信息");
         // 需要作为待加工料卷批次号的批次号
         Map<String, List<String>> toBeProcessedDataMap = new HashMap<>();
@@ -451,8 +455,13 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 log.error("无法获取对应输出物料:{}的工序作业信息", toBeProcessedDataMap.keySet());
                 throw new CustomException("未找到下一个工序作业信息!");
             }
+            String nextProcessesIds = currentProcessOperationEqu.getNextprocessesids();
+            if(StringUtils.isBlank(nextProcessesIds)){
+                log.error("当前工序作业明细需要流转的下一个工序作业明细为空");
+                throw new CustomException("无法找到下一个工序作业明细");
+            }
             List<ApsProcessOperationProcessEquDo> nextProcessOperationProcessEquDos = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
-                    .in(ApsProcessOperationProcessEquDo::getProcessid, nextProcessOperations.stream().map(ApsProcessOperationDo::getId).collect(Collectors.toList()))
+                    .in(ApsProcessOperationProcessEquDo::getId, Arrays.asList(nextProcessesIds.split(",")))
                     .eq(BaseDo::getDeleted, NO_DELETED));
             List<ApsProcessOperationDo> updateProcessData = new ArrayList<>();
             List<ApsProcessOperationProcessEquDo> updateProcessEquData = new ArrayList<>();