|
@@ -460,16 +460,19 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
log.error("该作业已发布,不能调整开工时间");
|
|
|
throw new RuntimeException("该作业已发布,不能调整开工时间");
|
|
|
}
|
|
|
+ // 当前工序的加工方式
|
|
|
+ String processway = operationDo.getProcessway();
|
|
|
+
|
|
|
// 获取更新之前的存在冲突的工序作业
|
|
|
List<ApsProcessOperationProcessEquDo> beforeUpdatingConflictId = this.baseMapper.getConflictId(changeStartTimeVo.getEquId(), changeStartTimeVo.getId(),
|
|
|
- processEquDo.getPlanstartdate(), processEquDo.getPlanenddate());
|
|
|
+ processEquDo.getPlanstartdate(), processEquDo.getPlanenddate(), processway);
|
|
|
affectedIdList.addAll(beforeUpdatingConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()));
|
|
|
// 找到更新时间之后存在冲突的工序作业
|
|
|
List<ApsProcessOperationProcessEquDo> afterTheUpdateConflictId = this.baseMapper.getConflictId(changeStartTimeVo.getEquId(), changeStartTimeVo.getId(),
|
|
|
- changeStartTimeVo.getPlanStartTime(), changeStartTimeVo.getPlanEndTime());
|
|
|
+ changeStartTimeVo.getPlanStartTime(), changeStartTimeVo.getPlanEndTime(), processway);
|
|
|
affectedIdList.addAll(afterTheUpdateConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()));
|
|
|
if (!beforeUpdatingConflictId.isEmpty()) {
|
|
|
- updateProcessEquBeforeAddConflictsDesc(beforeUpdatingConflictId, EQ_TIME_CROSS);
|
|
|
+ updateProcessEquBeforeAddConflictsDesc(beforeUpdatingConflictId, EQ_TIME_CROSS, processway);
|
|
|
}
|
|
|
|
|
|
if (!afterTheUpdateConflictId.isEmpty()) {
|
|
@@ -559,15 +562,16 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
apsProcessOperationProcessEquDo.setPlanenddate(new Date(apsProcessOperationProcessEquDo.getPlanenddate().getTime() + jobDetailsVo.getPlanStartTime().getTime() - oldPlanstartdate.getTime()));
|
|
|
// 获取更新之前的存在冲突的工序作业
|
|
|
List<ApsProcessOperationProcessEquDo> beforeUpdatingConflictId = this.baseMapper.getConflictId(
|
|
|
- oldEquId, id, oldPlanstartdate, oldPlanenddate);
|
|
|
+ oldEquId, id, oldPlanstartdate, oldPlanenddate,apsProcessOperationDo.getProcessway());
|
|
|
affectedIdList.addAll(beforeUpdatingConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()));
|
|
|
// 找到更新时间之后存在冲突的工序作业
|
|
|
List<ApsProcessOperationProcessEquDo> afterTheUpdateConflictId = this.baseMapper.getConflictId(
|
|
|
apsProcessOperationProcessEquDo.getProcessdeviceid(), id,
|
|
|
- apsProcessOperationProcessEquDo.getPlanstartdate(), apsProcessOperationProcessEquDo.getPlanenddate());
|
|
|
+ apsProcessOperationProcessEquDo.getPlanstartdate(), apsProcessOperationProcessEquDo.getPlanenddate(),
|
|
|
+ apsProcessOperationDo.getProcessway());
|
|
|
affectedIdList.addAll(afterTheUpdateConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()));
|
|
|
if (!beforeUpdatingConflictId.isEmpty()) {
|
|
|
- updateProcessEquBeforeAddConflictsDesc(beforeUpdatingConflictId, EQ_TIME_CROSS);
|
|
|
+ updateProcessEquBeforeAddConflictsDesc(beforeUpdatingConflictId, EQ_TIME_CROSS,apsProcessOperationDo.getProcessway());
|
|
|
}
|
|
|
|
|
|
if (!afterTheUpdateConflictId.isEmpty()) {
|
|
@@ -756,13 +760,14 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
* @param removeConflictsDesc 需要被删除的冲突描述
|
|
|
*/
|
|
|
public void updateProcessEquBeforeAddConflictsDesc(List<ApsProcessOperationProcessEquDo> beforeUpdatingConflictId,
|
|
|
- String removeConflictsDesc) {
|
|
|
+ String removeConflictsDesc,String processway) {
|
|
|
if (beforeUpdatingConflictId.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
|
beforeUpdatingConflictId.forEach(info -> {
|
|
|
- // 判断是否和其他工序作业明细存在从头
|
|
|
- List<ApsProcessOperationProcessEquDo> conflictId = this.baseMapper.getConflictId(info.getProcessdeviceid(), info.getId(), info.getPlanstartdate(), info.getPlanenddate());
|
|
|
+ // 判断是否和其他工序作业明细存在冲突
|
|
|
+ List<ApsProcessOperationProcessEquDo> conflictId = this.baseMapper.getConflictId(info.getProcessdeviceid(),
|
|
|
+ info.getId(), info.getPlanstartdate(), info.getPlanenddate(), processway);
|
|
|
if (!conflictId.isEmpty()) {
|
|
|
info.setConflictdes(removeConflictsDesc(info.getConflictdes(), removeConflictsDesc));
|
|
|
info.setHasconflict(StringUtils.isBlank(info.getConflictdes()) &&
|