Browse Source

aps-报工的增加批次号重复校验

sucheng 11 months ago
parent
commit
41438e6e7b

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

@@ -727,6 +727,18 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         //查询对应的订单评审信息
         ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
 
+        //如果工序作业是否坯料工序=是,检查每个报工输出物料批次号
+        if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getIfblankprocess()) && apsProcessOperationDo.getIfblankprocess().equals("是")) {
+            //如果存在在制品的坯料批次号=输出物料批次号,错误提示:该坯料批次号已经存在
+            List<String> numbers = apsReportOutputDoList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
+
+            List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new QueryWrapper<ApsWorkInProgressInventoryDo>().lambda().eq(ApsWorkInProgressInventoryDo::getDeleted, "0").in(ApsWorkInProgressInventoryDo::getBatchnumber, numbers));
+            if (ObjectUtil.isNotEmpty(apsWorkInProgressInventoryDos)) {
+                List<String> batchNumbers = apsWorkInProgressInventoryDos.stream().map(ApsWorkInProgressInventoryDo::getBatchnumber).distinct().collect(Collectors.toList());
+                return R.error("该坯料批次号:{} 已经存在", String.join(",", batchNumbers));
+            }
+        }
+
         //=============更新作业明细信息=============
         Integer reduceNum = 1;
         if (ObjectUtil.isNotEmpty(nowReportRecordsDo.getBatchnumber())) {