Pārlūkot izejas kodu

aps-调度重排

sucheng 6 mēneši atpakaļ
vecāks
revīzija
1dce6452f8

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

@@ -4255,7 +4255,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 }
                 //后道明细不为空
                 if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
-                    getNextProcess(apsProcessOperationProcessEquDo.getNextprocessesids(), needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList);
+                    getNextProcess(apsProcessOperationProcessEquDo.getNextprocessesids(), needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList);
                 }
             }
             //需要解锁的明细ID
@@ -4332,7 +4332,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                                 List<String> needScheduleIdList,
                                 List<ApsProcessOperationProcessEquDo> allProcessEquList,
                                 List<String> allProcessEquIdList,
-                                List<ApsProcessOperationProcessEquDo> needUnLockList) {
+                                List<ApsProcessOperationProcessEquDo> needUnLockList,
+                                List<ApsProcessOperationDo> allProcessList) {
         if (ObjectUtil.isEmpty(nextprocessesids)) {
             return;
         }
@@ -4342,10 +4343,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 //下一个明细
                 ApsProcessOperationProcessEquDo nextEqu = allProcessEquList.stream().filter(item -> item.getId().equals(nextProcessEquId)).findFirst().orElse(null);
                 if (ObjectUtil.isNotEmpty(nextEqu)) {
-                    needUnLockList.add(nextEqu);
-                    if (ObjectUtil.isNotEmpty(nextEqu.getPreviousprocessesids())) {
-                        String nextNewProcessesids = nextEqu.getPreviousprocessesids();
-                        getNextProcess(nextNewProcessesids, needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList);
+                    //查询对应明细的工序作业
+                    ApsProcessOperationDo nextProcess = allProcessList.stream().filter(item -> item.getId().equals(nextEqu.getProcessid())).findFirst().orElse(null);
+                    if (ObjectUtil.isNotEmpty(nextProcess)
+                            && !Arrays.asList("铸轧", "成退", "小卷成退", "中退").contains(nextProcess.getProcess())) {
+                        needUnLockList.add(nextEqu);
+                        if (ObjectUtil.isNotEmpty(nextEqu.getPreviousprocessesids())) {
+                            String nextNewProcessesids = nextEqu.getPreviousprocessesids();
+                            getNextProcess(nextNewProcessesids, needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList);
+                        }
                     }
                 }
             }