|
@@ -560,9 +560,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
if (!updateConflictVoList.isEmpty()) {
|
|
|
updateConflictVoList.forEach(data -> {
|
|
|
ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = data.getApsProcessOperationProcessEquDo();
|
|
|
+ this.updateById(apsProcessOperationProcessEquDo);
|
|
|
affectedIdList.addAll(checkProcessingTimeConflict(apsProcessOperationProcessEquDo,
|
|
|
data.getOldPlanStartdate(), data.getOldPlanEnddate(), data.getOldEquId(), data.getCurrentProcessWay(), returnAboutIds));
|
|
|
// 判断是否存在设备不可用
|
|
|
+ apsProcessOperationProcessEquDo = this.getById(apsProcessOperationProcessEquDo.getId());
|
|
|
inspectionEquipmentIsAvailable(apsProcessOperationProcessEquDo,
|
|
|
apsProcessOperationProcessEquDo.getProcessdeviceid(),
|
|
|
apsProcessOperationProcessEquDo.getPlanstartdate(),
|
|
@@ -678,7 +680,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
//如果作业明细计划完工时间超出订单期望交货期,记录警告:完工时间超出订单交货期
|
|
|
//警告
|
|
|
String newSoftconflictdes = apsProcessOperationProcessEquDo.getSoftconflictdes();
|
|
|
- if (apsProcessOperationProcessEquDo.getPlanenddate().compareTo(apsBlankOrderDo.getDeliverydate()) > 0){
|
|
|
+ if (apsProcessOperationProcessEquDo.getPlanenddate().compareTo(apsBlankOrderDo.getDeliverydate()) > 0) {
|
|
|
apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),
|
|
|
"作业明细计划完工时间:" + apsProcessOperationProcessEquDo.getPlanenddate() + ",坯料计划期望交货期:" + apsBlankOrderDo.getDeliverydate(), PLAN_END_DATE_AFTER_DELIVERY_DATE, 1, null);
|
|
|
newSoftconflictdes = addNewConflictsDesc(newSoftconflictdes, PLAN_END_DATE_AFTER_DELIVERY_DATE);
|
|
@@ -693,11 +695,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
Date earlyPlanStartDate = this.baseMapper.getEarltPlanStartDate(apsProcessOperationProcessEquDo.getBlankid());
|
|
|
if (DateUtil.between(apsProcessOperationProcessEquDo.getPlanenddate(), earlyPlanStartDate, DateUnit.DAY) > apsBlankOrderDo.getExpecteddays()) {
|
|
|
apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),
|
|
|
- "作业明细计划完工时间:" + apsProcessOperationProcessEquDo.getPlanenddate() + ",该坯料计划非铸轧作业明细的最早计划开工时间:" + earlyPlanStartDate+",坯料计划冷轧交货天数:"+apsBlankOrderDo.getExpecteddays(), NO_ABOUT_EXPECTED_DAYS, 1, null);
|
|
|
+ "作业明细计划完工时间:" + apsProcessOperationProcessEquDo.getPlanenddate() + ",该坯料计划非铸轧作业明细的最早计划开工时间:" + earlyPlanStartDate + ",坯料计划冷轧交货天数:" + apsBlankOrderDo.getExpecteddays(), NO_ABOUT_EXPECTED_DAYS, 1, null);
|
|
|
newSoftconflictdes = addNewConflictsDesc(newSoftconflictdes, NO_ABOUT_EXPECTED_DAYS);
|
|
|
} else {
|
|
|
apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),
|
|
|
- "作业明细计划完工时间:" + apsProcessOperationProcessEquDo.getPlanenddate() + ",该坯料计划非铸轧作业明细的最早计划开工时间:" + earlyPlanStartDate+",坯料计划冷轧交货天数:"+apsBlankOrderDo.getExpecteddays(), NO_ABOUT_EXPECTED_DAYS, 2, null);
|
|
|
+ "作业明细计划完工时间:" + apsProcessOperationProcessEquDo.getPlanenddate() + ",该坯料计划非铸轧作业明细的最早计划开工时间:" + earlyPlanStartDate + ",坯料计划冷轧交货天数:" + apsBlankOrderDo.getExpecteddays(), NO_ABOUT_EXPECTED_DAYS, 2, null);
|
|
|
newSoftconflictdes = removeConflictsDesc(newSoftconflictdes, NO_ABOUT_EXPECTED_DAYS);
|
|
|
}
|
|
|
}
|
|
@@ -830,9 +832,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
}
|
|
|
updateConflictVos.forEach(data -> {
|
|
|
ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = data.getApsProcessOperationProcessEquDo();
|
|
|
+ this.updateById(apsProcessOperationProcessEquDo);
|
|
|
affectedIdList.addAll(checkProcessingTimeConflict(apsProcessOperationProcessEquDo,
|
|
|
data.getOldPlanStartdate(), data.getOldPlanEnddate(), data.getOldEquId(), data.getCurrentProcessWay(), returnAboutIds));
|
|
|
// 判断是否存在设备不可用
|
|
|
+ apsProcessOperationProcessEquDo = this.getById(apsProcessOperationProcessEquDo.getId());
|
|
|
inspectionEquipmentIsAvailable(apsProcessOperationProcessEquDo,
|
|
|
apsProcessOperationProcessEquDo.getProcessdeviceid(),
|
|
|
apsProcessOperationProcessEquDo.getPlanstartdate(),
|
|
@@ -926,18 +930,21 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
});
|
|
|
//避免合并加工时,找到除去本身之外同一计划开工日期同一设备‘更新时间’更改之后存在冲突的工序作业明细
|
|
|
this.updateBatchById(changeApsProcessEquList);
|
|
|
+ ApsProcessOperationProcessEquDo finalApsProcessOperationProcessEquDo = apsProcessOperationProcessEquDo;
|
|
|
changeApsProcessEquList.forEach(detail -> {
|
|
|
//当工序作业为合并加工时处理工序作业明细冲突
|
|
|
- String oldEquId = apsProcessOperationProcessEquDo.getProcessdeviceid();
|
|
|
- Date oldPlanstartdate = apsProcessOperationProcessEquDo.getPlanstartdate();
|
|
|
- Date oldPlanenddate = apsProcessOperationProcessEquDo.getPlanenddate();
|
|
|
+ String oldEquId = finalApsProcessOperationProcessEquDo.getProcessdeviceid();
|
|
|
+ Date oldPlanstartdate = finalApsProcessOperationProcessEquDo.getPlanstartdate();
|
|
|
+ Date oldPlanenddate = finalApsProcessOperationProcessEquDo.getPlanenddate();
|
|
|
+ this.updateById(finalApsProcessOperationProcessEquDo);
|
|
|
// 增加受影响的工序作业信息
|
|
|
affectedIdList.addAll(checkProcessingTimeConflict(detail, oldPlanstartdate,
|
|
|
oldPlanenddate, oldEquId, apsProcessOperationDo.getProcessway(), new ArrayList<>()));
|
|
|
// 判断是否存在设备不可用
|
|
|
+ detail = this.getById(detail.getId());
|
|
|
inspectionEquipmentIsAvailable(detail, detail.getProcessdeviceid()
|
|
|
, detail.getPlanstartdate(), detail.getPlanenddate());
|
|
|
- if (!detail.getId().equals(apsProcessOperationProcessEquDo.getId())) {
|
|
|
+ if (!detail.getId().equals(finalApsProcessOperationProcessEquDo.getId())) {
|
|
|
mergeWorkerIdList.add(detail.getId());
|
|
|
}
|
|
|
});
|
|
@@ -966,12 +973,14 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
// 自动计算计划完工时间=原完工时间+新计划开工时间-原计划开工时间
|
|
|
apsProcessOperationProcessEquDo.setPlanenddate(new Date(apsProcessOperationProcessEquDo.getPlanenddate().getTime() +
|
|
|
jobDetailsVo.getPlanStartTime().getTime() - oldPlanstartdate.getTime()));
|
|
|
+ this.updateById(apsProcessOperationProcessEquDo);
|
|
|
// 增加受影响的工序作业信息
|
|
|
affectedIdList.addAll(checkProcessingTimeConflict(apsProcessOperationProcessEquDo, oldPlanstartdate,
|
|
|
oldPlanenddate, oldEquId, apsProcessOperationDo.getProcessway(), new ArrayList<>()));
|
|
|
}
|
|
|
- this.updateById(apsProcessOperationProcessEquDo);
|
|
|
+// this.updateById(apsProcessOperationProcessEquDo);
|
|
|
// 判断是否存在设备不可用
|
|
|
+ apsProcessOperationProcessEquDo = this.getById(apsProcessOperationProcessEquDo.getId());
|
|
|
inspectionEquipmentIsAvailable(apsProcessOperationProcessEquDo, apsProcessOperationProcessEquDo.getProcessdeviceid()
|
|
|
, apsProcessOperationProcessEquDo.getPlanstartdate(), apsProcessOperationProcessEquDo.getPlanenddate());
|
|
|
}
|
|
@@ -1241,15 +1250,16 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
newDo.setCreatedate(new Date());
|
|
|
newDo.setModifydate(new Date());
|
|
|
affectedIdList.add(newDo.getId());
|
|
|
+ this.save(newDo);
|
|
|
// 增加受影响的工序作业信息
|
|
|
affectedIdList.addAll(checkProcessingTimeConflict(newDo, newDo.getPlanstartdate(),
|
|
|
newDo.getPlanenddate(), newDo.getProcessdeviceid(),
|
|
|
currentProcessOperationDo.getProcessway(), new ArrayList<>()));
|
|
|
- this.save(newDo);
|
|
|
+ newDo = this.getById(newDo.getId());
|
|
|
newDataList.add(newDo);
|
|
|
}
|
|
|
});
|
|
|
- this.saveOrUpdateBatch(newDataList);
|
|
|
+// this.saveOrUpdateBatch(newDataList);
|
|
|
newDataList.forEach(newDo -> {
|
|
|
// 判断是否存在设备不可用
|
|
|
inspectionEquipmentIsAvailable(newDo, newDo.getProcessdeviceid()
|
|
@@ -1680,6 +1690,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
Date olddate1 = DateUtil.offsetDay(oldPlanstartdate, -5);
|
|
|
Date olddate2 = DateUtil.offsetDay(oldPlanenddate, 5);
|
|
|
List<ProcessVo> oldList = this.baseMapper.selectMyProcessVo(oldEquId, olddate1, olddate2);
|
|
|
+// for (ProcessVo item : oldList) {
|
|
|
+// if (item.getProcessEquId().equals(apsProcessOperationProcessEquDo.getId())) {
|
|
|
+// item.setPlanStartTime(apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
+// item.setPlanEndTime(apsProcessOperationProcessEquDo.getPlanenddate());
|
|
|
+// }
|
|
|
+// }
|
|
|
List<ProcessVo> needRemoveTimeOverLapList = checkNeedRemove(oldList,
|
|
|
oldPlanstartdate,
|
|
|
oldPlanenddate,
|
|
@@ -1697,6 +1713,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
DateTime newdate1 = DateUtil.offsetDay(apsProcessOperationProcessEquDo.getPlanstartdate(), -5);
|
|
|
DateTime newdate2 = DateUtil.offsetDay(apsProcessOperationProcessEquDo.getPlanenddate(), 5);
|
|
|
List<ProcessVo> newList = this.baseMapper.selectMyProcessVo(apsProcessOperationProcessEquDo.getProcessdeviceid(), newdate1, newdate2);
|
|
|
+// for (ProcessVo item : newList) {
|
|
|
+// if (item.getProcessEquId().equals(apsProcessOperationProcessEquDo.getId())) {
|
|
|
+// item.setPlanStartTime(apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
+// item.setPlanEndTime(apsProcessOperationProcessEquDo.getPlanenddate());
|
|
|
+// }
|
|
|
+// }
|
|
|
List<ProcessVo> needAddTimeOverLapList = checkNeedAdd(newList,
|
|
|
apsProcessOperationProcessEquDo.getPlanstartdate(),
|
|
|
apsProcessOperationProcessEquDo.getPlanenddate(),
|
|
@@ -1800,7 +1822,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
// });
|
|
|
// }
|
|
|
// }
|
|
|
- apsProcessOperationProcessEquDo = this.getById(apsProcessOperationProcessEquDo.getId());
|
|
|
+// apsProcessOperationProcessEquDo = this.getById(apsProcessOperationProcessEquDo.getId());
|
|
|
return affectedIdList;
|
|
|
}
|
|
|
|