|
@@ -807,6 +807,16 @@ public class ApsServiceImpl implements ApsService {
|
|
|
|
|
|
private List<String> equipmentListInit(ApsProcessOperationDo operationDo,List<Equipment> equipmentList,Map<String, AspCheckItemsDo> eqMaps
|
|
|
,List<String> blankids,Set<String> opId,ProductionScheduleVo productionScheduleVo,ApsScheduleConfigDo apsScheduleConfig){
|
|
|
+ // 当前工序排程开始时间
|
|
|
+ Date apsPlanStartDate = productionScheduleVo.getApsPlanStartDate();
|
|
|
+ if(productionScheduleVo.getProcesses() != null && productionScheduleVo.getProcesses().size()>0){
|
|
|
+ List<ProductionProcesses> bsProcess = productionScheduleVo.getProcesses().stream().filter(v -> v.getBsProcessesId().get(0).equals(operationDo.getId())).collect(Collectors.toList());
|
|
|
+ if(bsProcess != null && bsProcess.size()>0){
|
|
|
+ if(bsProcess.get(0).getApsOverallConfig() != null && bsProcess.get(0).getApsOverallConfig().getStartTime() != null){
|
|
|
+ apsPlanStartDate = Date.from(bsProcess.get(0).getApsOverallConfig().getStartTime().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// 设备列表
|
|
|
List<String> optionalEquipments = new ArrayList<>();
|
|
|
if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
|
|
@@ -843,7 +853,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
.eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
.eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
// .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
- .ge(ApsProcessOperationProcessEquDo::getPlanenddate, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
.orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
);
|
|
|
}else if(opId != null && opId.size()>0){
|
|
@@ -851,7 +861,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
.eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
.eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
// .notIn(ApsProcessOperationProcessEquDo::getProcessid, opId)
|
|
|
- .ge(ApsProcessOperationProcessEquDo::getPlanenddate, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanenddate, apsPlanStartDate)
|
|
|
.orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
);
|
|
|
}
|
|
@@ -863,7 +873,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
.eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
.eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
// .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
- .lt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .lt(ApsProcessOperationProcessEquDo::getPlanstartdate, apsPlanStartDate)
|
|
|
.orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate).last(" limit 100")
|
|
|
);
|
|
|
}else if(opId != null && opId.size()>0){
|
|
@@ -871,7 +881,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
.eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
.eq(ApsProcessOperationProcessEquDo::getLockmark, "y")
|
|
|
// .notIn(ApsProcessOperationProcessEquDo::getProcessid, opId)
|
|
|
- .lt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .lt(ApsProcessOperationProcessEquDo::getPlanstartdate, apsPlanStartDate)
|
|
|
.orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate).last(" limit 100")
|
|
|
);
|
|
|
}
|
|
@@ -987,7 +997,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
}
|
|
|
// 设备日历不可用时间段
|
|
|
List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
|
|
|
- new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, apsPlanStartDate)
|
|
|
.eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
|
|
|
if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
|
|
|
for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
|