Kaynağa Gözat

aps-开工和报工控制不能重复开工和报工

sucheng 10 ay önce
ebeveyn
işleme
dfbb173ee0

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

@@ -317,6 +317,11 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
 
         //根据作业明细ID查询作业明细详情
         ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(req.getUseDeviceId());
+        //如果已开工卷数!= 已报工卷数,说明已经开工了,提示已开工
+        if (!apsProcessOperationProcessEquDo.getStartingroll().equals(apsProcessOperationProcessEquDo.getReportroll())) {
+            return R.error("此作业已开工,请刷新列表后重试");
+        }
+
         //查询工序作业的详情
         ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
         //查询坯料计划的详情
@@ -726,6 +731,12 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
     public R saveReport(SaveReportReq req) {
         //报工主表
         ApsReportRecordsDo apsReportRecordsDo = req.getApsReportRecordsDo();
+        //防止同时报工
+        ApsReportRecordsDo recordsDo = this.getById(apsReportRecordsDo.getId());
+        if (ObjectUtil.isEmpty(recordsDo) || !recordsDo.getReportworkstatus().equals("已开工")) {
+            return R.error("此作业已取消开工或已报工,请刷新列表后重试");
+        }
+
         //报工输出物料
         List<ApsReportOutputDo> apsReportOutputDoList = req.getApsReportOutputDoList();
         //报工加工参数