|
@@ -4375,51 +4375,61 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
.set(ApsProcessOperationDo::getLockmark, "y")
|
|
|
.eq(ApsProcessOperationDo::getLockmark, "n")
|
|
|
.eq(ApsProcessOperationDo::getTenantid, tenantId));
|
|
|
+ List<String> blankIdList = null;
|
|
|
+ if (StringUtils.isNotBlank(blankIds)) {
|
|
|
+ blankIdList = new LinkedList<>(Arrays.asList(blankIds.split(",")));
|
|
|
+ }
|
|
|
try {
|
|
|
- List<String> blankIdList = null;
|
|
|
- if (StringUtils.isNotBlank(blankIds)) {
|
|
|
- blankIdList = new LinkedList<>(Arrays.asList(blankIds.split(",")));
|
|
|
- }
|
|
|
+ log.info("开始冷轧重排");
|
|
|
//冷轧重排
|
|
|
lenzhaChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo, currentUser, blankIdList);
|
|
|
+ log.info("冷轧重排结束");
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("冷轧重排失败");
|
|
|
+ log.error(e);
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ log.info("开始退火重排");
|
|
|
//退火重排
|
|
|
tuihuoChongpai(chongpaiStartDate, chongpaiEndDate, apsScheduleConfigDo, currentUser, blankIdList);
|
|
|
+ log.info("退火重排结束");
|
|
|
} catch (Exception e) {
|
|
|
+ log.error("退火重排失败");
|
|
|
log.error(e);
|
|
|
- } finally {
|
|
|
- //锁定所有 未锁定的 作业和作业明细
|
|
|
- apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "y")
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
|
|
|
+ }
|
|
|
+ //锁定所有 未锁定的 作业和作业明细
|
|
|
+ apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "y")
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
|
|
|
+ apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .set(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmark, "n")
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
|
|
|
+ apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
|
|
|
+ .set(ApsProcessOperationDo::getLockmark, "y")
|
|
|
+ .eq(ApsProcessOperationDo::getLockmark, "n")
|
|
|
+ .eq(ApsProcessOperationDo::getTenantid, tenantId));
|
|
|
+
|
|
|
+ //调度排程结束
|
|
|
+ //将之前锁定的作业和明细重新解锁
|
|
|
+ if (!unLockingEquIdList.isEmpty()) {
|
|
|
apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .set(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmark, "n")
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
|
|
|
+ .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
|
|
|
+ .in(ApsProcessOperationProcessEquDo::getId, unLockingEquIdList));
|
|
|
+ }
|
|
|
+ if (!unLockingProcessIdList.isEmpty()) {
|
|
|
apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
|
|
|
- .set(ApsProcessOperationDo::getLockmark, "y")
|
|
|
- .eq(ApsProcessOperationDo::getLockmark, "n")
|
|
|
- .eq(ApsProcessOperationDo::getTenantid, tenantId));
|
|
|
-
|
|
|
- //调度排程结束
|
|
|
- //将之前锁定的作业和明细重新解锁
|
|
|
- if (!unLockingEquIdList.isEmpty()) {
|
|
|
- apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
|
|
|
- .in(ApsProcessOperationProcessEquDo::getId, unLockingEquIdList));
|
|
|
- }
|
|
|
- if (!unLockingProcessIdList.isEmpty()) {
|
|
|
- apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
|
|
|
- .set(ApsProcessOperationDo::getLockmark, "n")
|
|
|
- .in(ApsProcessOperationDo::getId, unLockingProcessIdList));
|
|
|
- }
|
|
|
+ .set(ApsProcessOperationDo::getLockmark, "n")
|
|
|
+ .in(ApsProcessOperationDo::getId, unLockingProcessIdList));
|
|
|
}
|
|
|
|
|
|
+ log.info("开始推算调度时间之后的重叠数据");
|
|
|
//推算非退火、非铸轧的重叠数据,按序排列
|
|
|
- sortLenZha(chongpaiStartDate, tenantId);
|
|
|
+ sortLenZha(chongpaiEndDate, tenantId);
|
|
|
//推算退火,按序排列
|
|
|
- sortTuiHuo(chongpaiStartDate, tenantId);
|
|
|
-
|
|
|
+ sortTuiHuo(chongpaiEndDate, tenantId);
|
|
|
+ log.info("调度排程结束");
|
|
|
}
|
|
|
}
|
|
|
|