|
@@ -903,9 +903,30 @@ public class ApsServiceImpl implements ApsService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //还原排程过程中,开工/报工的作业的计划时间
|
|
|
- apsProcessOperationProcessEquDao.repairePlanStartDate();
|
|
|
- apsProcessOperationProcessEquDao.repairePlanStartDate2();
|
|
|
+ //循环5次,如果执行成功,继续向下执行,如果出现sql超时,等待2分钟后重试,重试5次
|
|
|
+ boolean isSuccess = false;
|
|
|
+ for (int i = 0; i < 5; i++) {
|
|
|
+ if (isSuccess) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ List<String> processEquIdList = productionScheduleRetVo.getProcesses().stream().filter(item -> !item.isIfLock()).map(ProductionProcesses::getId).distinct().collect(Collectors.toList());
|
|
|
+ if (!processEquIdList.isEmpty()) {
|
|
|
+ //还原排程过程中,开工/报工的作业的计划时间
|
|
|
+ apsProcessOperationProcessEquDao.repairePlanStartDate(processEquIdList);
|
|
|
+ apsProcessOperationProcessEquDao.repairePlanStartDate2(processEquIdList);
|
|
|
+ }
|
|
|
+ isSuccess = true;
|
|
|
+ } catch (Exception e) {
|
|
|
+ try {
|
|
|
+ Thread.sleep(120000);
|
|
|
+ } catch (InterruptedException ignored) {
|
|
|
+ }
|
|
|
+ if (i == 4) {
|
|
|
+ throw new CustomException(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (StrUtil.isNotBlank(productionScheduleRetVo.getMsg())) {
|
|
|
// 排程异常后恢复历史排程结果为锁定状态
|