Forráskód Böngészése

aps-校验订单时,增加校验坯料计划的输出成品是否完全相同

sucheng 1 éve
szülő
commit
4ddca5b264

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

@@ -656,7 +656,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
         });
         stopWatch.stop();
-        log.error("工序作业备份时长: {}"+stopWatch.getTotalTimeSeconds());
+        log.error("工序作业备份时长: {}" + stopWatch.getTotalTimeSeconds());
         StopWatch stopWatch1 = new StopWatch();
         stopWatch1.start();
         List<List<ApsProcessOperationProcessEquDo>> partition = Lists.partition(apsProcessOperationProcessEquDos, 100);
@@ -665,7 +665,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     currentUser == null ? null : currentUser.getId(), currentUser == null ? null : currentUser.getName());
         });
         stopWatch1.stop();
-        log.error("工序作业明细备份时长: {}"+stopWatch1.getTotalTimeSeconds());
+        log.error("工序作业明细备份时长: {}" + stopWatch1.getTotalTimeSeconds());
     }
 
     /**
@@ -1816,6 +1816,31 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             }
         }
 
+        //如果存在订单产品和输出单卷重都相同坯料输出成品,错误提示:以下坯料输出成品重复:{订单产品1}{输出单卷重}{数量单位},{订单产品2}{输出单卷重}{数量单位}
+        //组装一下list
+        List<String> processOutputDesList = apsProcessOutputProductDoList.stream().map(item -> {
+            String unit = "吨";
+            if (item.getCountunit().equals(SaveConstans.CountUnit.KG)) {
+                unit = "千克";
+            }
+            return item.getProductname() + item.getOutputonerollweigth() + unit;
+        }).collect(Collectors.toList());
+
+        //用于判断是否重复
+        List<String> checkOutputDesList = new LinkedList<>();
+        //有重复数据订单产品的数组
+        List<String> endCheckOutputDesList = new LinkedList<>();
+        for (String s : processOutputDesList) {
+            if (checkOutputDesList.contains(s)) {
+                endCheckOutputDesList.add(s);
+            } else {
+                checkOutputDesList.add(s);
+            }
+        }
+        if (endCheckOutputDesList.size() > 0) {
+            String join = String.join(",", endCheckOutputDesList);
+            return R.error("第" + j + "个坯料计划 以下坯料输出成品重复:" + join);
+        }
 
         if (checkLevel == 3) {
             //============校验工艺路线=============