浏览代码

aps-流转和不合格卷数逻辑修改

sucheng 2 月之前
父节点
当前提交
436e67f7f3

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

@@ -644,10 +644,10 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         // 保存工序作业输出物料
         apsProcessOperationOutMaterService.saveOrUpdateBatch(operationOutMaterDoList);
         if (!nextProcessOperationProcessEquDos.isEmpty() && !nextProcessList.isEmpty()) {
-            // 批次号流转至下一工序
-            batchNumberCirculation(nextProcessOperationProcessEquDos, nextProcessList, toBeProcessedDataMap);
             // 更新流转取消数量
             circulationCancellation(nextProcessOperationProcessEquDos, nextProcessList, circulationCancellationMap);
+            // 批次号流转至下一工序
+            batchNumberCirculation(nextProcessOperationProcessEquDos, nextProcessList, toBeProcessedDataMap);
         } else {
             List<String> outPutNumbers = new LinkedList<>();
             for (String key : toBeProcessedDataMap.keySet()) {
@@ -679,7 +679,13 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         CancelProcessOperationVo cancelProcessOperationVo;
         for (Map.Entry<String, Integer> entry : circulationCancellationMap.entrySet()) {
             Integer value = entry.getValue();
-            for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : nextProcessOperationProcessEquDos) {
+            List<ApsProcessOperationDo> apsProcessOperationDos = nextProcessList.stream()
+                    .filter(info -> entry.getKey().equals(info.getPlaninputid()))
+                    .collect(Collectors.toList());
+            List<String> processIds = apsProcessOperationDos.stream().map(ApsProcessOperationDo::getId).collect(Collectors.toList());
+            List<ApsProcessOperationProcessEquDo> updateProcessEquList = nextProcessOperationProcessEquDos.stream().filter(info -> processIds.contains(info.getProcessid()))
+                    .sorted(Comparator.comparing(ApsProcessOperationProcessEquDo::getPlanstartdate)).collect(Collectors.toList());
+            for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : updateProcessEquList) {
                 if (value <= 0) {
                     return;
                 }
@@ -733,6 +739,8 @@ public class ReportCheckServiceImpl implements ReportCheckService {
             return;
         }
         log.debug("开始执行批次号流转逻辑!如下批次号需要流转:{}", toBeProcessedDataMap);
+        List<String> equIdList = nextProcessOperationProcessEquDos.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList());
+        nextProcessOperationProcessEquDos = apsProcessOperationProcessEquService.listByIds(equIdList).stream().collect(Collectors.toList());
         List<ApsProcessOperationDo> updateProcessData = new ArrayList<>();
         List<ApsProcessOperationProcessEquDo> updateProcessEquData = new ArrayList<>();
         ApsProcessOperationDo updateOperationDo;