|
@@ -66,6 +66,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
private ApsEquipmentCalendarServiceImpl apsEquipmentCalendarService;
|
|
|
@Autowired
|
|
|
private GanttService ganttService;
|
|
|
+ @Autowired
|
|
|
+ private ApsConflictLogServiceImpl apsConflictLogService;
|
|
|
|
|
|
/**
|
|
|
* 更新工序的待加工批次号信息
|
|
@@ -407,7 +409,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
String previousprocessesids = newProcessEqu.getPreviousprocessesids();
|
|
|
if (StringUtils.isNotBlank(previousprocessesids)) {
|
|
|
ApsProcessOperationProcessEquDo previousProcessEqu = this.getById(previousprocessesids);
|
|
|
- if(previousProcessEqu==null){
|
|
|
+ if (previousProcessEqu == null) {
|
|
|
throw new CustomException("无法找到上一个工序作业明细信息");
|
|
|
}
|
|
|
this.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
@@ -477,7 +479,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
apsProcessOperationProcessEquDo.getPlanenddate());
|
|
|
});
|
|
|
}
|
|
|
- blankIds.forEach(data->{
|
|
|
+ blankIds.forEach(data -> {
|
|
|
// 更新坯料交货期
|
|
|
apsBlankOrderService.updateBlankDeliveryDate(null, data);
|
|
|
});
|
|
@@ -516,7 +518,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
log.debug("根据工序作业明细:{},获取可选设备", operationJobDetailsId);
|
|
|
// 防止工序作业ID重复
|
|
|
operationJobDetailsId = operationJobDetailsId.stream().distinct().filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
|
|
- List<OptionalEquipmentVo> optionalEquipment = this.baseMapper.getOptionalEquipmentById(null,currentUserFactoryId);
|
|
|
+ List<OptionalEquipmentVo> optionalEquipment = this.baseMapper.getOptionalEquipmentById(null, currentUserFactoryId);
|
|
|
if (optionalEquipment.isEmpty()) {
|
|
|
log.error("当前所选作业不存在共同的加工设备");
|
|
|
return R.error("没有可共用的加工设备,无法合并换线");
|
|
@@ -702,11 +704,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
.distinct()
|
|
|
.filter(StringUtils::isNotBlank)
|
|
|
.collect(Collectors.toList());
|
|
|
- if(previousIds.isEmpty()){
|
|
|
+ if (previousIds.isEmpty()) {
|
|
|
log.error("无法找到当前工序作业明细的上一个工序作业明细信息");
|
|
|
throw new CustomException("无法找到前道工序作业明细信息");
|
|
|
}
|
|
|
- List<ApsProcessOperationProcessEquDo> previousApsProcessOperationProcessEquDos = this.getBaseMapper().selectBatchIds(previousIds) ;
|
|
|
+ List<ApsProcessOperationProcessEquDo> previousApsProcessOperationProcessEquDos = this.getBaseMapper().selectBatchIds(previousIds);
|
|
|
// 获取工序作业信息
|
|
|
List<String> processId = apsProcessOperationProcessEquDos.stream()
|
|
|
.map(ApsProcessOperationProcessEquDo::getProcessid)
|
|
@@ -715,7 +717,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
.collect(Collectors.toList());
|
|
|
if (processId.isEmpty()) {
|
|
|
log.error("无法根据工序作业明细获取工序作业信息");
|
|
|
- throw new CustomException("无法获取到工序作业信息");
|
|
|
+ throw new CustomException("无法获取到工序作业信息");
|
|
|
}
|
|
|
List<ApsProcessOperationDo> apsProcessOperationDos = (List<ApsProcessOperationDo>) apsProcessOperationService.listByIds(processId);
|
|
|
// 合并加工
|
|
@@ -1064,7 +1066,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
public void updateProcessEquBeforeAddConflictsDesc(List<ApsProcessOperationProcessEquDo> beforeUpdatingConflictId,
|
|
|
String removeConflictsDesc, String processway,
|
|
|
Date newPlanStartDate,
|
|
|
- Date newOldEndDate) {
|
|
|
+ Date newOldEndDate,
|
|
|
+ String aboutId) {
|
|
|
if (beforeUpdatingConflictId.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
@@ -1084,6 +1087,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
StringUtils.isBlank(info.getSoftconflictdes()) ?
|
|
|
LOCKMARK_N : LOCKMARK_Y);
|
|
|
info.setModifydate(new Date());
|
|
|
+ apsConflictLogService.recordLog(info.getId(),
|
|
|
+ aboutId, removeConflictsDesc, 2, null);
|
|
|
} else {
|
|
|
if (newPlanStartDate.compareTo(info.getPlanenddate()) > 0 ||
|
|
|
newOldEndDate.compareTo(info.getPlanstartdate()) < 0) {
|
|
@@ -1092,9 +1097,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
StringUtils.isBlank(info.getSoftconflictdes()) ?
|
|
|
LOCKMARK_N : LOCKMARK_Y);
|
|
|
info.setModifydate(new Date());
|
|
|
+ apsConflictLogService.recordLog(info.getId(),
|
|
|
+ aboutId, removeConflictsDesc, 2, null);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
// else {
|
|
|
// info.setConflictdes(addNewConflictsDesc(info.getConflictdes(), removeConflictsDesc));
|
|
|
// info.setHasconflict(LOCKMARK_Y);
|
|
@@ -1111,7 +1119,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
* @param conflictsDesc 冲突描述
|
|
|
*/
|
|
|
public void updateProcessEquAfterAddConflictsDesc(List<ApsProcessOperationProcessEquDo> afterTheUpdateConflictId,
|
|
|
- String conflictsDesc) {
|
|
|
+ String conflictsDesc,String aboutId) {
|
|
|
if (afterTheUpdateConflictId.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
@@ -1121,6 +1129,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
info.setHasconflict(StringUtils.isBlank(info.getConflictdes()) && StringUtils.isBlank(info.getSoftconflictdes()) ?
|
|
|
LOCKMARK_N : LOCKMARK_Y);
|
|
|
info.setModifydate(new Date());
|
|
|
+ apsConflictLogService.recordLog(info.getId(),aboutId, EQ_TIME_CROSS, 1, null);
|
|
|
});
|
|
|
this.updateBatchById(afterTheUpdateConflictId);
|
|
|
}
|
|
@@ -1159,14 +1168,17 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
);
|
|
|
String newConflictdes;
|
|
|
if (list.isEmpty()) {
|
|
|
+ apsConflictLogService.recordLog(processEquDo.getId(), "", EQUIPMENT_RUN_TIME, 2, null);
|
|
|
newConflictdes = removeConflictsDesc(processEquDo.getConflictdes(), EQUIPMENT_RUN_TIME);
|
|
|
} else {
|
|
|
+ apsConflictLogService.recordLog(processEquDo.getId(),
|
|
|
+ list.stream().map(ApsEquipmentCalendarDo::getId).collect(Collectors.joining(",")), EQUIPMENT_RUN_TIME, 1, null);
|
|
|
newConflictdes = addNewConflictsDesc(processEquDo.getConflictdes(), EQUIPMENT_RUN_TIME);
|
|
|
}
|
|
|
this.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
.eq(ApsProcessOperationProcessEquDo::getId, processEquDo.getId())
|
|
|
.set(ApsProcessOperationProcessEquDo::getConflictdes, newConflictdes)
|
|
|
- .set(BaseDo::getModifydate,new Date())
|
|
|
+ .set(BaseDo::getModifydate, new Date())
|
|
|
.set(ApsProcessOperationProcessEquDo::getHasconflict, StringUtils.isBlank(newConflictdes) &&
|
|
|
StringUtils.isBlank(processEquDo.getSoftconflictdes()) ? LOCKMARK_N : LOCKMARK_Y)
|
|
|
);
|
|
@@ -1193,7 +1205,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
affectedIdList.addAll(beforeUpdatingConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()));
|
|
|
updateProcessEquBeforeAddConflictsDesc(beforeUpdatingConflictId, EQ_TIME_CROSS, currentProcessWay,
|
|
|
apsProcessOperationProcessEquDo.getPlanstartdate(),
|
|
|
- apsProcessOperationProcessEquDo.getPlanenddate());
|
|
|
+ apsProcessOperationProcessEquDo.getPlanenddate(), apsProcessOperationProcessEquDo.getId());
|
|
|
}
|
|
|
|
|
|
// 找到更新时间之后存在冲突的工序作业
|
|
@@ -1207,10 +1219,13 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
// 更新当前工序作业增加新的冲突
|
|
|
String newConflictsDesc = addNewConflictsDesc(apsProcessOperationProcessEquDo.getConflictdes(), EQ_TIME_CROSS);
|
|
|
apsProcessOperationProcessEquDo.setConflictdes(newConflictsDesc);
|
|
|
- updateProcessEquAfterAddConflictsDesc(afterTheUpdateConflictId, EQ_TIME_CROSS);
|
|
|
+ apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),
|
|
|
+ afterTheUpdateConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.joining(",")), EQ_TIME_CROSS, 1, null);
|
|
|
+ updateProcessEquAfterAddConflictsDesc(afterTheUpdateConflictId, EQ_TIME_CROSS,apsProcessOperationProcessEquDo.getId());
|
|
|
} else {
|
|
|
// 去掉工序作业的冲突
|
|
|
String newConflictsDesc = removeConflictsDesc(apsProcessOperationProcessEquDo.getConflictdes(), EQ_TIME_CROSS);
|
|
|
+ apsConflictLogService.recordLog(apsProcessOperationProcessEquDo.getId(),"", EQ_TIME_CROSS, 2, null);
|
|
|
apsProcessOperationProcessEquDo.setConflictdes(newConflictsDesc);
|
|
|
apsProcessOperationProcessEquDo.setHasconflict(StringUtils.isBlank(apsProcessOperationProcessEquDo.getConflictdes()) &&
|
|
|
StringUtils.isBlank(apsProcessOperationProcessEquDo.getSoftconflictdes()) ?
|
|
@@ -1219,7 +1234,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
.eq(ApsProcessOperationProcessEquDo::getId, apsProcessOperationProcessEquDo.getId())
|
|
|
.set(ApsProcessOperationProcessEquDo::getConflictdes, newConflictsDesc)
|
|
|
.set(ApsProcessOperationProcessEquDo::getHasconflict, apsProcessOperationProcessEquDo.getHasconflict())
|
|
|
- .set(BaseDo::getModifydate,new Date())
|
|
|
+ .set(BaseDo::getModifydate, new Date())
|
|
|
);
|
|
|
}
|
|
|
return affectedIdList;
|