瀏覽代碼

aps-增加冲突:与前道间隔时间大于作业最大流转时间

sucheng 5 月之前
父節點
當前提交
ddd96acc58

+ 4 - 0
bs-common/src/main/java/com/rongwei/safecommon/utils/SaveConstans.java

@@ -833,6 +833,10 @@ public class SaveConstans {
          * 与前道间隔时间小于作业最小流转时间
          */
         public static final String SMALL_THAN_MIN_RETURN_TIME = "与前道间隔时间小于作业最小流转时间";
+        /**
+         * 与前道间隔时间大于作业最大流转时间
+         */
+        public static final String BIG_THAN_MAX_RETURN_TIME = "与前道间隔时间大于作业最大流转时间";
 
     }
 

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

@@ -723,6 +723,21 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                         "与前道工序作业间隔时间:" + betweenPrevious + ",作业最小流转时间:" + minReturnTime, SMALL_THAN_MIN_RETURN_TIME, 2, null);
                 newConflictdes = removeConflictsDesc(newConflictdes, SMALL_THAN_MIN_RETURN_TIME);
             }
+            //•如果与前道作业明细间隔时间>该作业最大流转等待时间,则记录当前作业明细冲突:与前道间隔时间大于作业最大流转时间;
+            //•如果与后道作业明细间隔时间>后道作业最大流转等待时间,则记录后道作业明细冲突:与前道间隔时间大于作业最大流转时间
+            //当前作业最大流转等时间
+            if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getMaxflowwaitmin())) {
+                long maxReturnTime = apsProcessOperationDo.getMaxflowwaitmin().longValue();
+                if (betweenPrevious > maxReturnTime) {
+                    apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),
+                            "与前道工序作业间隔时间:" + betweenPrevious + ",作业最大流转时间:" + maxReturnTime, BIG_THAN_MAX_RETURN_TIME, 1, null);
+                    newConflictdes = addNewConflictsDesc(newConflictdes, BIG_THAN_MAX_RETURN_TIME);
+                } else {
+                    apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),
+                            "与前道工序作业间隔时间:" + betweenPrevious + ",作业最大流转时间:" + maxReturnTime, BIG_THAN_MAX_RETURN_TIME, 2, null);
+                    newConflictdes = removeConflictsDesc(newConflictdes, BIG_THAN_MAX_RETURN_TIME);
+                }
+            }
         }
         //存在后道工序作业明细
         if (StringUtils.isNotBlank(apsProcessOperationProcessEquDo.getNextprocessesids())) {
@@ -791,6 +806,21 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                             "与前道工序作业间隔时间:" + betweenPrevious + ",作业最小流转时间:" + minReturnTime, SMALL_THAN_MIN_RETURN_TIME, 2, null);
                     nextNewConflictdes = removeConflictsDesc(nextNewConflictdes, SMALL_THAN_MIN_RETURN_TIME);
                 }
+                //•如果与前道作业明细间隔时间>该作业最大流转等待时间,则记录当前作业明细冲突:与前道间隔时间大于作业最大流转时间;
+                //•如果与后道作业明细间隔时间>后道作业最大流转等待时间,则记录后道作业明细冲突:与前道间隔时间大于作业最大流转时间
+                //当前作业最大流转等时间
+                if (ObjectUtil.isNotEmpty(nextProcessOperation.getMaxflowwaitmin())) {
+                    long maxReturnTime = nextProcessOperation.getMaxflowwaitmin().longValue();
+                    if (betweenPrevious > maxReturnTime) {
+                        apsConflictLogService.recordLog(nextProcessEqu.getId(),
+                                "与前道工序作业间隔时间:" + betweenPrevious + ",作业最大流转时间:" + maxReturnTime, BIG_THAN_MAX_RETURN_TIME, 1, null);
+                        newConflictdes = addNewConflictsDesc(newConflictdes, BIG_THAN_MAX_RETURN_TIME);
+                    } else {
+                        apsConflictLogService.recordLog(nextProcessEqu.getId(),
+                                "与前道工序作业间隔时间:" + betweenPrevious + ",作业最大流转时间:" + maxReturnTime, BIG_THAN_MAX_RETURN_TIME, 2, null);
+                        newConflictdes = removeConflictsDesc(newConflictdes, BIG_THAN_MAX_RETURN_TIME);
+                    }
+                }
                 this.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
                         .eq(ApsProcessOperationProcessEquDo::getId, nextProcessEqu.getId())
                         .set(ApsProcessOperationProcessEquDo::getConflictdes, nextNewConflictdes)

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

@@ -1103,6 +1103,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
              */
             Integer newLeaveWaitJobRoll = unfinishroll - apsProcessOperationProcessEquDo.getCancelroll();
             processEquWrapper.set(ApsProcessOperationProcessEquDo::getLeavewaitjobroll, newLeaveWaitJobRoll);
+            //开始时间
+            processEquWrapper.set(ApsProcessOperationProcessEquDo::getActualstartdate, apsReportRecordsDo.getStartworktime());
+            processEquWrapper.set(ApsProcessOperationProcessEquDo::getPlanstartdate, apsReportRecordsDo.getStartworktime());
             if (newLeaveWaitJobRoll > 0) {
                 processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "未完工");
             } else {
@@ -1113,8 +1116,6 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                         finishWorkTime = apsReportRecordsDo.getReportworktime();
                     }
                     processEquWrapper.set(ApsProcessOperationProcessEquDo::getActualfinishdate, finishWorkTime);
-                    processEquWrapper.set(ApsProcessOperationProcessEquDo::getActualstartdate, apsReportRecordsDo.getStartworktime());
-                    processEquWrapper.set(ApsProcessOperationProcessEquDo::getPlanstartdate, apsReportRecordsDo.getStartworktime());
                     processEquWrapper.set(ApsProcessOperationProcessEquDo::getPlanenddate, finishWorkTime);
 
                 }