Kaynağa Gözat

aps-开工、报工、小卷开工加锁,防止重复

sucheng 10 ay önce
ebeveyn
işleme
2758e9445c

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

@@ -346,6 +346,19 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             if (apsProcessOperationProcessEquDo.getPlanprocessrall() - apsProcessOperationProcessEquDo.getReportroll() - apsProcessOperationProcessEquDo.getCancelroll() <= 0) {
                 return R.error("此作业已全部开工完毕,请刷新列表后重试");
             }
+            if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
+                if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess())) {
+                    List<String> list1 = Arrays.asList(req.getInputBatchNumber().split(","));
+                    List<String> list2 = Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(","));
+                    for (String s : list1) {
+                        if (!list2.contains(s)) {
+                            return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
+                        }
+                    }
+                } else {
+                    return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
+                }
+            }
 
             //查询工序作业的详情
             ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
@@ -1209,7 +1222,19 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             if (apsProcessOperationProcessEquDo.getPlanprocessrall() - apsProcessOperationProcessEquDo.getReportroll() - apsProcessOperationProcessEquDo.getCancelroll() <= 0) {
                 return R.error("此作业已全部开工完毕,请刷新列表后重试");
             }
-
+            if (ObjectUtil.isNotEmpty(req.getInputBatchNumberList())) {
+                if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getBachmaterialprocess())) {
+                    List<String> list1 = req.getInputBatchNumberList();
+                    List<String> list2 = Arrays.asList(apsProcessOperationProcessEquDo.getBachmaterialprocess().split(","));
+                    for (String s : list1) {
+                        if (!list2.contains(s)) {
+                            return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
+                        }
+                    }
+                } else {
+                    return R.error("批次号不在待加工料卷批次号中或已被使用,请刷新列表后重试");
+                }
+            }
 //        String useDeviceId = req.getUseDeviceId();
 //        ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(useDeviceId);
             ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());