소스 검색

aps-调度修改连续判断

sucheng 3 달 전
부모
커밋
d08e3e4f7d
1개의 변경된 파일18개의 추가작업 그리고 19개의 파일을 삭제
  1. 18 19
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

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

@@ -4926,7 +4926,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         List<ApsProcessOperationProcessEquDo> notNeedUnLockList = new LinkedList<>();
 
         //调度之前的连续开始,需要推导后续连续去清除需要解锁的明细
-        List<ApsProcessOperationProcessEquDo> cleanNeedUnLockList = new LinkedList<>();
+//        List<ApsProcessOperationProcessEquDo> cleanNeedUnLockList = new LinkedList<>();
         //后道工序在当前工序之前,并且不参与排程,则需要将后道工序和其所有的后道工序都不解锁
         List<ApsProcessOperationProcessEquDo> cleanNeedUnLockList2 = new LinkedList<>();
 
@@ -4984,19 +4984,19 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                 boolean isConnect = isConnectProcess(nowProcess, previousProcess, processOperationEquDoList, apsProcessOperationProcessEquDo, previousEqu);
                                 //如果连续
                                 if (isConnect) {
-                                    //如果连续的上一道在重排开始时间之前,不解锁,并且不解锁后道与其连续的
-                                    if (previousEqu.getPlanstartdate().before(chongpaiStartDate)) {
-                                        cleanNeedUnLockList.add(previousEqu);
-                                        previousprocessesid = previousEqu.getPreviousprocessesids();
-                                        nowProcess = previousProcess;
-                                        canUnLock = false;
-                                        continue;
-                                    }
+//                                    //如果连续的上一道在重排开始时间之前,不解锁,并且不解锁后道与其连续的
+//                                    if (previousEqu.getPlanstartdate().before(chongpaiStartDate)) {
+//                                        cleanNeedUnLockList.add(previousEqu);
+//                                        previousprocessesid = previousEqu.getPreviousprocessesids();
+//                                        nowProcess = previousProcess;
+//                                        canUnLock = false;
+//                                        continue;
+//                                    }
                                     needUnLockList.add(previousEqu);
                                     if (ObjectUtil.isNotEmpty(previousEqu.getPreviousprocessesids())) {
                                         previousprocessesid = previousEqu.getPreviousprocessesids();
                                         nowProcess = previousProcess;
-                                        canUnLock = false;
+//                                        canUnLock = false;
                                     } else {
                                         break;
                                     }
@@ -5027,13 +5027,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 getNextProcess(apsProcessOperationProcessEquDo.getNextprocessesids(), nowProcess, needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList, cleanNeedUnLockList2);
             }
         }
-        //查询需要清除的明细及其后续 连续的明细
-        for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : cleanNeedUnLockList) {
-            if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
-                notNeedUnLockList.add(apsProcessOperationProcessEquDo);
-                getCleanNextProcess(apsProcessOperationProcessEquDo, apsProcessOperationProcessEquDo.getNextprocessesids(), allProcessEquList, allProcessEquIdList, notNeedUnLockList, allProcessList, processOperationEquDoList);
-            }
-        }
+//        //查询需要清除的明细及其后续 连续的明细
+//        for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : cleanNeedUnLockList) {
+//            if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
+//                notNeedUnLockList.add(apsProcessOperationProcessEquDo);
+//                getCleanNextProcess(apsProcessOperationProcessEquDo, apsProcessOperationProcessEquDo.getNextprocessesids(), allProcessEquList, allProcessEquIdList, notNeedUnLockList, allProcessList, processOperationEquDoList);
+//            }
+//        }
         //清除记录的所有后道工序
         for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : cleanNeedUnLockList2) {
             if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
@@ -5090,8 +5090,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                      ApsProcessOperationProcessEquDo previousEqu) {
         //如果本道工序和前道工序 的工序类型相同,并且最小等待时间为空/0,并且可选设备和辊相同 ,并且本道工序开始时间和前道工序结束时间差<11分钟,加入待解锁集合
         if (nowProcess.getProcess().equals(previousProcess.getProcess())
-                && (nowProcess.getMinflowwaitmin() == null || nowProcess.getMinflowwaitmin().intValue() == 0)
-                && DateUtil.between(previousEqu.getPlanenddate(), nowEqu.getPlanstartdate(), DateUnit.MINUTE) < 11) {
+                && (nowProcess.getMinflowwaitmin() == null || nowProcess.getMinflowwaitmin().intValue() == 0)) {
             //对比确认是否存在相同的设备和辊
             boolean have = false;
             //查询当前工序作业的可选设备