ソースを参照

aps-冷轧、退火重排

sucheng 5 ヶ月 前
コミット
27b015c402

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

@@ -4279,8 +4279,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         .in(ApsProcessOperationDo::getId, needUnLockProcessIdList)
         );
 
-        //将调度时间范围内还未解锁的退火作业全部往后推一天
-        this.baseMapper.setTuiHuoNextDay(CXCommonUtils.getCurrentUserFactoryId(null),chongpaiStartDate,chongpaiEndDate);
+//        //将调度时间范围内还未解锁的退火作业全部往后推一天
+//        this.baseMapper.setTuiHuoNextDay(CXCommonUtils.getCurrentUserFactoryId(null),chongpaiStartDate,chongpaiEndDate);
 
         //重新排程
         String scheduletype = apsScheduleConfigDo.getScheduletype();
@@ -4442,8 +4442,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         .in(ApsProcessOperationDo::getId, needUnLockProcessIdList)
         );
 
-        //将调度时间范围内还未解锁的冷轧作业全部往后推一天
-        this.baseMapper.setLenZhaNextDay(CXCommonUtils.getCurrentUserFactoryId(null),chongpaiStartDate,chongpaiEndDate);
+//        //将调度时间范围内还未解锁的冷轧作业全部往后推一天
+//        this.baseMapper.setLenZhaNextDay(CXCommonUtils.getCurrentUserFactoryId(null),chongpaiStartDate,chongpaiEndDate);
 
         String scheduletype = apsScheduleConfigDo.getScheduletype();
         ApsTypeVo apsTypeVo = BeanUtil.toBean(scheduletype, ApsTypeVo.class);

+ 17 - 13
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsBlankOrderDao.xml

@@ -466,15 +466,17 @@
           and apo.PROCESS in ('中退','成退','小卷成退')
           and apope.WORKSTATUS = '待开工'
           and apope.PLANSTARTDATE >= #{chongpaiStartDate} -- 调度开始时间之后计划开工
-          AND (ifnull(apope.PREVIOUSPROCESSESIDS,'')='' -- 没有前道
-                   and apope.PLANSTARTDATE &lt; DATE_ADD(#{chongpaiStartDate}, INTERVAL 3 DAY) -- 调度开始时间+5天内计划开工
-            OR ifnull(apope.PREVIOUSPROCESSESIDS,'')!='' -- 有前道
-                   and preapope.PLANSTARTDATE &lt;= #{chongpaiStartDate} -- 前道计划开工时间在调度开始时间之前,表示该作业是需要调度的作业的第一道
-                   and date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间 小于 调度结束时间
-                                INTERVAL GREATEST(ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
-                                                  if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
-                                                     if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0))) MINUTE -- 机台流转时间
-                       ) &lt;= #{chongpaiEndDate} -- 调度结束时间之前可以开工
+          AND (
+            apope.PLANSTARTDATE &lt;= #{chongpaiEndDate} OR
+            (ifnull(apope.PREVIOUSPROCESSESIDS,'')='' -- 没有前道
+                and apope.PLANSTARTDATE &lt; DATE_ADD(#{chongpaiStartDate}, INTERVAL 3 DAY)) -- 调度开始时间+5天内计划开工
+                OR (ifnull(apope.PREVIOUSPROCESSESIDS,'')!='' -- 有前道
+                and preapope.PLANSTARTDATE &lt;= #{chongpaiStartDate} -- 前道计划开工时间在调度开始时间之前,表示该作业是需要调度的作业的第一道
+                and date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间 小于 调度结束时间
+                             INTERVAL GREATEST(ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
+                                               if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
+                                                  if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0))) MINUTE -- 机台流转时间
+                    ) &lt;= #{chongpaiEndDate}) -- 调度结束时间之前可以开工
             )
     </select>
     <select id="selectNeedRescheduleEqu3"
@@ -490,15 +492,17 @@
         and apo.PROCESS not in ('铸轧','中退','成退','小卷成退')
         and apope.WORKSTATUS = '待开工'
         and apope.PLANSTARTDATE >= #{chongpaiStartDate} -- 调度开始时间之后计划开工
-        AND (ifnull(apope.PREVIOUSPROCESSESIDS,'')='' -- 没有前道
-        and apope.PLANSTARTDATE &lt; DATE_ADD(#{chongpaiStartDate}, INTERVAL 3 DAY) -- 调度开始时间+5天内计划开工
-        OR ifnull(apope.PREVIOUSPROCESSESIDS,'')!='' -- 有前道
+        AND (
+            apope.PLANSTARTDATE &lt;= #{chongpaiEndDate} OR
+            (ifnull(apope.PREVIOUSPROCESSESIDS,'')='' -- 没有前道
+        and apope.PLANSTARTDATE &lt; DATE_ADD(#{chongpaiStartDate}, INTERVAL 3 DAY)) -- 调度开始时间+5天内计划开工
+        OR (ifnull(apope.PREVIOUSPROCESSESIDS,'')!='' -- 有前道
         and preapope.PLANSTARTDATE &lt;= #{chongpaiStartDate} -- 前道计划开工时间在调度开始时间之前,表示该作业是需要调度的作业的第一道
         and date_add(preapope.PLANENDDATE, -- 前道计划完工时间 + 流转时间 小于 调度结束时间
         INTERVAL GREATEST(ifnull(apo.MINFLOWWAITMIN,0), -- 最小流转等待时间
         if(apope.PROCESSWORKSHOPID!=preapope.PROCESSWORKSHOPID,#{workshopcross}, -- 车间流转时间
         if(apope.PROCESSDEVICEID!=preapope.PROCESSDEVICEID,#{workshopin},0))) MINUTE -- 机台流转时间
-        ) &lt;= #{chongpaiEndDate} -- 调度结束时间之前可以开工
+        ) &lt;= #{chongpaiEndDate}) -- 调度结束时间之前可以开工
         )
     </select>
 </mapper>