Ver Fonte

aps-报工检验优化

sucheng há 1 ano atrás
pai
commit
233255f7b3

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

@@ -439,14 +439,18 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         log.debug("需要向下一节点流转的批次号:{}", toBeProcessedDataMap);
         // 当前工序的下一个工序作业信息
         String nextprocessid = currentProcessOperationMainDo.getNextprocessid();
-        log.debug("当前工序的下一个工序:{}",nextprocessid);
+        log.debug("当前工序的下一个工序:{}", nextprocessid);
         // 当前工序存在下一个工序且 存在代加工的在制品信息时
         if (!toBeProcessedDataMap.isEmpty() && StringUtils.isNotBlank(nextprocessid)) {
             log.debug("更新剩余代报工卷数和待开工卷数");
             List<ApsProcessOperationDo> nextProcessOperations = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
                     .in(ApsProcessOperationDo::getId, Arrays.asList(nextprocessid.split(",")))
-                    .in(ApsProcessOperationDo::getPlaninputid, toBeProcessedDataMap.values())
+                    .in(ApsProcessOperationDo::getPlaninputid, toBeProcessedDataMap.keySet())
                     .eq(BaseDo::getDeleted, NO_DELETED));
+            if (nextProcessOperations.isEmpty()) {
+                log.error("无法获取对应输出物料:{}的工序作业信息", toBeProcessedDataMap.keySet());
+                throw new CustomException("未找到下一个工序作业信息!");
+            }
             List<ApsProcessOperationProcessEquDo> nextProcessOperationProcessEquDos = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                     .in(ApsProcessOperationProcessEquDo::getProcessid, nextProcessOperations.stream().map(ApsProcessOperationDo::getId).collect(Collectors.toList()))
                     .eq(BaseDo::getDeleted, NO_DELETED));
@@ -618,6 +622,9 @@ public class ReportCheckServiceImpl implements ReportCheckService {
         if (StringUtils.isBlank(oldValue) && (newValues == null || newValues.isEmpty())) {
             return "";
         }
+        if (oldValue == null) {
+            oldValue = "";
+        }
         List<String> oldValues = new ArrayList<>(Arrays.asList(oldValue.split(",")));
         oldValues.addAll(newValues);
         return oldValues.stream().distinct().filter(StringUtils::isNotBlank).collect(Collectors.joining(","));