|
@@ -728,8 +728,11 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 工序作业相关数据初始化
|
|
|
productionProcessesInit(operationDo,produceOrder,processesList,operationProductionProcesses,apsBlankOrderVo,productionScheduleVo,proEqus);
|
|
|
}
|
|
|
- // 前后关联关系初始化
|
|
|
- processesRelationInit(rootOperationDo,operationProductionProcesses,operationMaps,apsBlankOrderVo);
|
|
|
+ // 第一次排程需要建立关联关系
|
|
|
+ if(!"Y".equals(apsBlankOrderVo.getIfcp())){
|
|
|
+ // 前后关联关系初始化
|
|
|
+ processesRelationInit(rootOperationDo,operationProductionProcesses,operationMaps,apsBlankOrderVo);
|
|
|
+ }
|
|
|
|
|
|
blankProcessIds.put(apsBlankOrderVo.getId(), processIdss);
|
|
|
}
|
|
@@ -1106,6 +1109,14 @@ public class ApsServiceImpl implements ApsService {
|
|
|
processes.setId(processDetail.getId());
|
|
|
processes.setIfLock(true);
|
|
|
processes.setEquipmentId(processDetail.getProcessdeviceid());
|
|
|
+ // 锁定作业的关联关系设置
|
|
|
+ if(StrUtil.isNotBlank(processDetail.getPreviousprocessesids())){
|
|
|
+ processes.setPreviousProcessesIds(new ArrayList<>(Arrays.asList(processDetail.getPreviousprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if(StrUtil.isNotBlank(processDetail.getNextprocessesids())){
|
|
|
+ processes.setNextProcessesIds(new ArrayList<>(Arrays.asList(processDetail.getNextprocessesids().split(","))));
|
|
|
+ }
|
|
|
+
|
|
|
List<String> opeqs = new ArrayList<>();
|
|
|
opeqs.add(processDetail.getProcessdeviceid());
|
|
|
processes.setOptionalEquipments(opeqs);
|
|
@@ -1155,7 +1166,25 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 已排程的作业明细数据保持ID不变
|
|
|
if(processEquDos != null && i<processEquDos.size()){
|
|
|
processes.setId(processEquDos.get(i).getId());
|
|
|
+ // 锁定作业的关联关系设置
|
|
|
+ if(StrUtil.isNotBlank(processEquDos.get(i).getPreviousprocessesids())){
|
|
|
+ processes.setPreviousProcessesIds(new ArrayList<>(Arrays.asList(processEquDos.get(i).getPreviousprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if(StrUtil.isNotBlank(processEquDos.get(i).getNextprocessesids())){
|
|
|
+ processes.setNextProcessesIds(new ArrayList<>(Arrays.asList(processEquDos.get(i).getNextprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if("Y".equals(processEquDos.get(i).getLockmarkdetail())){
|
|
|
+ processes.setIfLock(true);
|
|
|
+ processes.setEquipmentId(processEquDos.get(i).getProcessdeviceid());
|
|
|
+ List<String> opeqs = new ArrayList<>();
|
|
|
+ opeqs.add(processEquDos.get(i).getProcessdeviceid());
|
|
|
+ processes.setOptionalEquipments(opeqs);
|
|
|
+ processes.setDelay(0);
|
|
|
+ processes.setStartTime(processEquDos.get(i).getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ processes.setEndTime(processEquDos.get(i).getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
if(apsBlankOrderVo.getPlanhavematerialdate() != null){
|
|
|
// 全局配置
|
|
|
ApsOverallConfig apsOverallConfig = new ApsOverallConfig();
|
|
@@ -1202,6 +1231,23 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 已排程的作业明细数据保持ID不变
|
|
|
if(processEquDos != null && i<processEquDos.size()){
|
|
|
processes.setId(processEquDos.get(i).getId());
|
|
|
+ // 锁定作业的关联关系设置
|
|
|
+ if(StrUtil.isNotBlank(processEquDos.get(i).getPreviousprocessesids())){
|
|
|
+ processes.setPreviousProcessesIds(new ArrayList<>(Arrays.asList(processEquDos.get(i).getPreviousprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if(StrUtil.isNotBlank(processEquDos.get(i).getNextprocessesids())){
|
|
|
+ processes.setNextProcessesIds(new ArrayList<>(Arrays.asList(processEquDos.get(i).getNextprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if("Y".equals(processEquDos.get(i).getLockmarkdetail())){
|
|
|
+ processes.setIfLock(true);
|
|
|
+ processes.setEquipmentId(processEquDos.get(i).getProcessdeviceid());
|
|
|
+ List<String> opeqs = new ArrayList<>();
|
|
|
+ opeqs.add(processEquDos.get(i).getProcessdeviceid());
|
|
|
+ processes.setOptionalEquipments(opeqs);
|
|
|
+ processes.setDelay(0);
|
|
|
+ processes.setStartTime(processEquDos.get(i).getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ processes.setEndTime(processEquDos.get(i).getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ }
|
|
|
}
|
|
|
if(apsBlankOrderVo.getPlanhavematerialdate() != null){
|
|
|
// 全局配置
|
|
@@ -1237,6 +1283,23 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 已排程的作业明细数据保持ID不变
|
|
|
if(processEquDos != null && i<processEquDos.size()){
|
|
|
processes.setId(processEquDos.get(i).getId());
|
|
|
+ // 锁定作业的关联关系设置
|
|
|
+ if(StrUtil.isNotBlank(processEquDos.get(i).getPreviousprocessesids())){
|
|
|
+ processes.setPreviousProcessesIds(new ArrayList<>(Arrays.asList(processEquDos.get(i).getPreviousprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if(StrUtil.isNotBlank(processEquDos.get(i).getNextprocessesids())){
|
|
|
+ processes.setNextProcessesIds(new ArrayList<>(Arrays.asList(processEquDos.get(i).getNextprocessesids().split(","))));
|
|
|
+ }
|
|
|
+ if("Y".equals(processEquDos.get(i).getLockmarkdetail())){
|
|
|
+ processes.setIfLock(true);
|
|
|
+ processes.setEquipmentId(processEquDos.get(i).getProcessdeviceid());
|
|
|
+ List<String> opeqs = new ArrayList<>();
|
|
|
+ opeqs.add(processEquDos.get(i).getProcessdeviceid());
|
|
|
+ processes.setOptionalEquipments(opeqs);
|
|
|
+ processes.setDelay(0);
|
|
|
+ processes.setStartTime(processEquDos.get(i).getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ processes.setEndTime(processEquDos.get(i).getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ }
|
|
|
}
|
|
|
if(apsBlankOrderVo.getPlanhavematerialdate() != null){
|
|
|
// 全局配置
|