소스 검색

aps-保存坯料计划时,增加重复输出成品校验

sucheng 1 년 전
부모
커밋
fa810e263e
1개의 변경된 파일25개의 추가작업 그리고 0개의 파일을 삭제
  1. 25 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

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

@@ -1510,6 +1510,31 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 已修改或已删除,并已开工,计划输出订单重量 不能大于 0");
             }
         }
+        //如果存在订单产品和输出单卷重都相同坯料输出成品,错误提示:以下坯料输出成品重复:{订单产品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("以下坯料输出成品重复:" + join);
+        }
 
         //===========坯料计划保存之前的校验=============
         //校验坯料需求