sucheng 6 mesi fa
parent
commit
078b52d902

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

@@ -4165,7 +4165,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             //冷轧重排
             lenzhaChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo);
             //退火重排
-            tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo);
+//            tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo);
 
         }
     }
@@ -4300,6 +4300,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     String previousprocessesid = apsProcessOperationProcessEquDo.getPreviousprocessesids();
                     //当前明细对应的工序作业
                     ApsProcessOperationDo nowProcess = allProcessList.stream().filter(item -> apsProcessOperationProcessEquDo.getProcessid().equals(item.getId())).findFirst().orElse(null);
+                    //是否可以解锁
+                    boolean canUnLock = true;
                     //循环寻找前道明细
                     while (true) {
                         if (StringUtils.isBlank(previousprocessesid)) {
@@ -4317,11 +4319,19 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                             if (ObjectUtil.isEmpty(previousProcess)) {
                                 break;
                             }
+                            //如果不可解锁,直接将前道明细放入不解锁
+                            if (!canUnLock){
+                                previousprocessesid = previousEqu.getPreviousprocessesids();
+                                nowProcess = previousProcess;
+                                notNeedUnLockList.add(previousEqu);
+                                continue;
+                            }
                             //如果前道明细不是待开工,不解锁,传入排程
                             if (!"待开工".equals(previousEqu.getWorkstatus())) {
                                 previousprocessesid = previousEqu.getPreviousprocessesids();
                                 nowProcess = previousProcess;
                                 notNeedUnLockList.add(previousEqu);
+                                canUnLock = false;
                             } else {
                                 //如果连续
                                 //如果本道工序和前道工序 的工序类型相同,并且最小等待时间为空/0,并且可选设备和辊相同 ,加入待解锁集合
@@ -4358,6 +4368,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                         if (ObjectUtil.isNotEmpty(previousEqu.getPreviousprocessesids())) {
                                             previousprocessesid = previousEqu.getPreviousprocessesids();
                                             nowProcess = previousProcess;
+                                            canUnLock = false;
                                         } else {
                                             break;
                                         }
@@ -4365,11 +4376,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                         previousprocessesid = previousEqu.getPreviousprocessesids();
                                         nowProcess = previousProcess;
                                         notNeedUnLockList.add(previousEqu);
+                                        canUnLock = false;
                                     }
                                 } else {
                                     previousprocessesid = previousEqu.getPreviousprocessesids();
                                     nowProcess = previousProcess;
                                     notNeedUnLockList.add(previousEqu);
+                                    canUnLock = false;
                                 }
                             }
 //                            //如果前道工序是 铸轧或退火  或者 前道明细不是 “待开工”,不解锁,但要传入排程