|
@@ -44,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.Collator;
|
|
|
+import java.time.LocalTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -739,6 +740,21 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
@Override
|
|
|
public void blankOrderAps(List<ApsBlankOrderVo> apsBlankOrders) {
|
|
|
apsService.apsSchedule(apsBlankOrders, new ApsTypeVo(), null, null);
|
|
|
+ //调度排程
|
|
|
+ //判断是否是 18:00:00-24:00:00/00:00:00-5:00:00
|
|
|
+ // 获取当前时间
|
|
|
+ LocalTime now = LocalTime.now();
|
|
|
+ // 定义时间段
|
|
|
+ LocalTime startTime1 = LocalTime.of(18, 0); // 18:00:00
|
|
|
+ LocalTime endTime1 = LocalTime.of(23, 59, 59); // 23:59:59 (24:00:00 - 1 second)
|
|
|
+ LocalTime startTime2 = LocalTime.MIDNIGHT; // 00:00:00
|
|
|
+ LocalTime endTime2 = LocalTime.of(5, 0); // 05:00:00
|
|
|
+ // 检查当前时间是否在两个时间段之一内
|
|
|
+ boolean isInFirstRange = (now.isAfter(startTime1) || now.equals(startTime1)) && (now.isBefore(endTime1) || now.equals(endTime1));
|
|
|
+ boolean isInSecondRange = (now.isAfter(startTime2) || now.equals(startTime2)) && (now.isBefore(endTime2) || now.equals(endTime2));
|
|
|
+ if (isInFirstRange || isInSecondRange) {
|
|
|
+ apsScheduleRestart(null);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -4165,7 +4181,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//冷轧重排
|
|
|
lenzhaChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo);
|
|
|
//退火重排
|
|
|
-// tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo);
|
|
|
+ tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo);
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -4387,7 +4403,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : cleanNeedUnLockList) {
|
|
|
if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
|
|
|
notNeedUnLockList.add(apsProcessOperationProcessEquDo);
|
|
|
- getCleanNextProcess(apsProcessOperationProcessEquDo,apsProcessOperationProcessEquDo.getNextprocessesids(), allProcessEquList, allProcessEquIdList, notNeedUnLockList, allProcessList,processOperationEquDoList);
|
|
|
+ getCleanNextProcess(apsProcessOperationProcessEquDo, apsProcessOperationProcessEquDo.getNextprocessesids(), allProcessEquList, allProcessEquIdList, notNeedUnLockList, allProcessList, processOperationEquDoList);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -4472,7 +4488,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
}
|
|
|
|
|
|
- private void getCleanNextProcess(ApsProcessOperationProcessEquDo nowEqu,String nextprocessesids, List<ApsProcessOperationProcessEquDo> allProcessEquList, List<String> allProcessEquIdList, List<ApsProcessOperationProcessEquDo> notNeedUnLockList, List<ApsProcessOperationDo> allProcessList,List<ApsProcessOperationEquDo> processOperationEquDoList) {
|
|
|
+ private void getCleanNextProcess(ApsProcessOperationProcessEquDo nowEqu, String nextprocessesids, List<ApsProcessOperationProcessEquDo> allProcessEquList, List<String> allProcessEquIdList, List<ApsProcessOperationProcessEquDo> notNeedUnLockList, List<ApsProcessOperationDo> allProcessList, List<ApsProcessOperationEquDo> processOperationEquDoList) {
|
|
|
if (ObjectUtil.isEmpty(nextprocessesids)) {
|
|
|
return;
|
|
|
}
|
|
@@ -4488,14 +4504,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//判断是否连续
|
|
|
boolean isConnect = isConnectProcess(nextProcess, nowProcess, processOperationEquDoList);
|
|
|
//是连续
|
|
|
- if (isConnect){
|
|
|
+ if (isConnect) {
|
|
|
//下道不解锁,继续迭代
|
|
|
notNeedUnLockList.add(nowEqu);
|
|
|
if (ObjectUtil.isNotEmpty(nextEqu.getNextprocessesids())) {
|
|
|
String nextNewProcessesids = nextEqu.getNextprocessesids();
|
|
|
- getCleanNextProcess(nextEqu,nextNewProcessesids, allProcessEquList, allProcessEquIdList, notNeedUnLockList, allProcessList,processOperationEquDoList);
|
|
|
+ getCleanNextProcess(nextEqu, nextNewProcessesids, allProcessEquList, allProcessEquIdList, notNeedUnLockList, allProcessList, processOperationEquDoList);
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//结束迭代
|
|
|
return;
|
|
|
}
|