|
@@ -223,6 +223,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
log.error("换线作业的工序作业不为空");
|
|
|
return R.error("工序作业不能为空");
|
|
|
}
|
|
|
+ // 对数据按照
|
|
|
|
|
|
// 工序作业明细ID
|
|
|
List<String> detailIds = changingWiresVos.stream().map(ChangingWiresVo::getId).collect(Collectors.toList());
|
|
@@ -238,6 +239,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
log.error("无法获取到工序作业明细");
|
|
|
return R.error("无法获取到工序作业明细");
|
|
|
}
|
|
|
+ if(apsProcessOperationProcessEquDos.size()!=changingWiresVos.size()){
|
|
|
+ log.error("本次换线操作存在无法获取作业明细的数据");
|
|
|
+ return R.error("本次换线操作存在无法获取作业明细的数据!请联系系统管理员");
|
|
|
+ }
|
|
|
+
|
|
|
// 校验是否存在已完工的工序作业
|
|
|
boolean hasCompletedWork = apsProcessOperationProcessEquDos.stream()
|
|
|
.anyMatch(info -> JOBSTATUS_TO_BE_END.equals(info.getWorkstatus()));
|
|
@@ -245,6 +251,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
log.error("存在已完工的工序作业无法换线");
|
|
|
return R.error("存在已完工的工序作业无法换线");
|
|
|
}
|
|
|
+ //对于换线作业的数据进行排序
|
|
|
+ Optional<Date> minDate = apsProcessOperationProcessEquDos.stream()
|
|
|
+ .map(ApsProcessOperationProcessEquDo::getPlanstartdate).min(Comparator.naturalOrder());
|
|
|
+ // 获取开工时间间隔=所选作业明细最早计划开工时间-所选加工开始时间
|
|
|
+ long timeInterval = minDate.get().getTime() - changingWiresVos.get(0).getProcessingTime().getTime();
|
|
|
+
|
|
|
// 是否需要清空备份
|
|
|
AtomicReference<Boolean> emptyBackup = new AtomicReference<>(false);
|
|
|
List<CheckConflictVo> checkConflictVos = new ArrayList<>();
|
|
@@ -257,8 +269,6 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
|
|
|
// 获取该工序作业最早的计划开始时间
|
|
|
Date planstartdate = processEqus.getPlanstartdate();
|
|
|
- // 获取开工时间间隔=所选作业明细最早计划开工时间-所选加工开始时间
|
|
|
- long timeInterval = planstartdate.getTime() - changingWiresVo.getProcessingTime().getTime();
|
|
|
|
|
|
// 待开工的直接修改
|
|
|
if (JOBSTATUS_TO_BE_START.equals(processEqus.getWorkstatus())) {
|