浏览代码

aps-坯料计划保存校验输出成品对应的技术要求

sucheng 1 年之前
父节点
当前提交
df8d2c9f8b

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

@@ -230,7 +230,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         // 更新工序作业的状态
         apsProcessOperationDao.publish(collect);
         // 更新订单表的生产状态
-        blankIds.forEach(blankId->{
+        blankIds.forEach(blankId -> {
             processOperationProcessEquService.updateOrder(blankId);
         });
         // 根据坯料ID 删除 备份数据
@@ -287,7 +287,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         apsProcessOperationDao.publishCancel(collect);
         // 根据坯料ID 删除 备份数据
         // 更新订单表的生产状态
-        blankIds.forEach(blankId->{
+        blankIds.forEach(blankId -> {
             processOperationProcessEquService.updateOrder(blankId);
         });
         ApsUtils.clearBackup(null);
@@ -1518,6 +1518,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 已修改或已删除,并已开工,计划输出订单重量 不能大于 0");
             }
         }
+
+        /**
+         * 如果所选产品明细对应技术要求的坯料类型,或者坯料产品类型与当前坯料需求的不同,
+         * 错误提示:所选产品的坯料类型,或者坯料产品类型与当前坯料需求的技术要求不同,不可作为该坯料的输出成品
+         */
+        for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
+            if (!apsProcessOutputProductDo.getBlanktype().equals(apsBlankOrderDo.getBlanktype()) || !apsProcessOutputProductDo.getBlankproducttype().equals(apsBlankOrderDo.getProducttype())) {
+                return R.error("输出成品:" + apsProcessOutputProductDo.getProductname() + " 所选产品的坯料类型,或者坯料产品类型与当前坯料需求的技术要求不同,不可作为该坯料的输出成品");
+            }
+        }
+
+
         //如果存在订单产品和输出单卷重都相同坯料输出成品,错误提示:以下坯料输出成品重复:{订单产品1}{输出单卷重}{数量单位},{订单产品2}{输出单卷重}{数量单位}
         //组装一下list
         List<String> processOutputDesList = apsProcessOutputProductDoList.stream().map(item -> {
@@ -1770,6 +1782,16 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             }
         }
 
+        /**
+         * 如果所选产品明细对应技术要求的坯料类型,或者坯料产品类型与当前坯料需求的不同,
+         * 错误提示:所选产品的坯料类型,或者坯料产品类型与当前坯料需求的技术要求不同,不可作为该坯料的输出成品
+         */
+        for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
+            if (!apsProcessOutputProductDo.getBlanktype().equals(apsBlankOrderDo.getBlanktype()) || !apsProcessOutputProductDo.getBlankproducttype().equals(apsBlankOrderDo.getProducttype())) {
+                return R.error("第" + j + "个坯料计划 输出成品:" + apsProcessOutputProductDo.getProductname() + " 所选产品的坯料类型,或者坯料产品类型与当前坯料需求的技术要求不同,不可作为该坯料的输出成品");
+            }
+        }
+
 
         //============校验工艺路线=============
         //如果坯料需求的坯料输出成品字段值不等于坯料需求的工艺输出成品字段值,错误提示:工艺路线输出成品与坯料输出成品不一致