|
@@ -1021,6 +1021,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<ProductionProcesses> lastProcess = new ArrayList<>();
|
|
|
if (productionScheduleRetVo.getProcesses() != null && productionScheduleRetVo.getProcesses().size() > 0) {
|
|
|
for (ProductionProcesses process : productionScheduleRetVo.getProcesses()) {
|
|
|
+ // 锁定的数据不参与更新
|
|
|
+ if(process.isIfLock()){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
ApsProcessOperationProcessEquDo apsProcessOperationProcessEqu = new ApsProcessOperationProcessEquDo();
|
|
|
apsProcessOperationProcessEqu.setId(process.getId());
|
|
|
apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
|
|
@@ -4216,16 +4220,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
needScheduleDate = DateUtil.format(chongpaiStartDate, "yyyy-MM-dd");
|
|
|
}
|
|
|
if (ObjectUtil.isNotEmpty(needScheduleDate)) {
|
|
|
-
|
|
|
+ String tenantId = CXCommonUtils.getCurrentUserFactoryId(currentUser);
|
|
|
//将实际完工时间大于明天的作业挪到实际完工时间
|
|
|
- this.baseMapper.updateFinishDateAboutProcessEqu(needScheduleDate, CXCommonUtils.getCurrentUserFactoryId(currentUser), chongpaiStartDate, chongpaiEndDate);
|
|
|
+ this.baseMapper.updateFinishDateAboutProcessEqu(needScheduleDate, tenantId, chongpaiStartDate, chongpaiEndDate);
|
|
|
//锁定所有 未锁定的 作业和作业明细
|
|
|
apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
.set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "y")
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n"));
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
|
|
|
apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
|
|
|
.set(ApsProcessOperationDo::getLockmark, "y")
|
|
|
- .eq(ApsProcessOperationDo::getLockmark, "n"));
|
|
|
+ .eq(ApsProcessOperationDo::getLockmark, "n")
|
|
|
+ .eq(ApsProcessOperationDo::getTenantid, tenantId));
|
|
|
//排程设置
|
|
|
ApsScheduleConfigDo apsScheduleConfigDo = apsScheduleConfigService.getById("1");
|
|
|
try {
|
|
@@ -4237,23 +4243,25 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//锁定所有 未锁定的 作业和作业明细
|
|
|
apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
.set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "y")
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n"));
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
|
|
|
apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
|
|
|
.set(ApsProcessOperationDo::getLockmark, "y")
|
|
|
- .eq(ApsProcessOperationDo::getLockmark, "n"));
|
|
|
+ .eq(ApsProcessOperationDo::getLockmark, "n")
|
|
|
+ .eq(ApsProcessOperationDo::getTenantid, tenantId));
|
|
|
}
|
|
|
|
|
|
//推算非退火、非铸轧的重叠数据,按序排列
|
|
|
- sortLenZha(chongpaiEndDate);
|
|
|
+ sortLenZha(chongpaiEndDate, tenantId);
|
|
|
//推算退火,按序排列
|
|
|
- sortTuiHuo(chongpaiEndDate);
|
|
|
+ sortTuiHuo(chongpaiEndDate, tenantId);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void sortTuiHuo(DateTime chongpaiEndDate) {
|
|
|
+ public void sortTuiHuo(DateTime chongpaiEndDate, String tenantId) {
|
|
|
//查询后续所有的明细(退火)
|
|
|
- List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortTuiHuo(chongpaiEndDate);
|
|
|
+ List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortTuiHuo(chongpaiEndDate, tenantId);
|
|
|
//根据设备分组聚合
|
|
|
Map<String, List<ApsProcessOperationProcessEquDo>> map = list.stream().collect(Collectors.groupingBy(ApsProcessOperationProcessEquDo::getProcessdeviceid));
|
|
|
|
|
@@ -4383,7 +4391,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
int count = apsScheduleLogService.count(new LambdaQueryWrapper<ApsScheduleLogDo>()
|
|
|
.eq(ApsScheduleLogDo::getTenantid, tenantId)
|
|
|
.eq(ApsScheduleLogDo::getScheduletype, "调度排程")
|
|
|
- .eq(ApsScheduleLogDo::getSucess,"是")
|
|
|
+ .eq(ApsScheduleLogDo::getSucess, "是")
|
|
|
.le(ApsScheduleLogDo::getSchedulestarttime, needScheduleDate)
|
|
|
.ge(ApsScheduleLogDo::getScheduleendtime, needScheduleDate));
|
|
|
if (count > 0) {
|
|
@@ -4406,9 +4414,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
//去除后续的冲突
|
|
|
@Override
|
|
|
- public void sortLenZha(DateTime chongpaiEndDate) {
|
|
|
+ public void sortLenZha(DateTime chongpaiEndDate, String tenantId) {
|
|
|
//查询后续所有的明细(非退火、非铸轧)
|
|
|
- List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortLenZha(chongpaiEndDate);
|
|
|
+ List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortLenZha(chongpaiEndDate, tenantId);
|
|
|
//根据设备分组聚合
|
|
|
Map<String, List<ApsProcessOperationProcessEquDo>> map = list.stream().collect(Collectors.groupingBy(ApsProcessOperationProcessEquDo::getProcessdeviceid));
|
|
|
|