|
@@ -86,7 +86,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
if(currentUser == null){
|
|
|
currentUser = CXCommonUtils.getCurrentUser();
|
|
|
}
|
|
|
- String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
|
|
|
+ String tenantId = CXCommonUtils.getCurrentUserFactoryId(currentUser);
|
|
|
if (StringUtils.isBlank(tenantId)) {
|
|
|
throw new CustomException("所属工厂不能为空");
|
|
|
}
|
|
@@ -754,6 +754,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
productionScheduleVo.setWashingtime(apsScheduleConfig.getWashingtime());
|
|
|
productionScheduleVo.setStandingtime(apsScheduleConfig.getStandingtime());
|
|
|
productionScheduleVo.setStandingyield(apsScheduleConfig.getStandingyield());
|
|
|
+ productionScheduleVo.setExpecteddays(apsScheduleConfig.getExpecteddays());
|
|
|
if(productionScheduleVo.getStandingyield() == null){
|
|
|
productionScheduleVo.setStandingyield(60);
|
|
|
}
|
|
@@ -798,6 +799,11 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 坯料计划订单
|
|
|
ProduceOrder produceOrder = new ProduceOrder(apsBlankOrderVo.getId(), apsBlankOrderVo.getMaterialname(), apsBlankOrderVo.getDeliverydate() == null ? null : DateUtil.offsetHour(apsBlankOrderVo.getDeliverydate(), -apsBlankOrderVo.getDeliverytime()));
|
|
|
produceOrder.setMaxheatroll(apsBlankOrderVo.getMaxheatroll());
|
|
|
+ // 期望交货天数
|
|
|
+ produceOrder.setExpecteddays(productionScheduleVo.getExpecteddays());
|
|
|
+ if(apsBlankOrderVo.getExpecteddays() != null && apsBlankOrderVo.getExpecteddays()>0){
|
|
|
+ produceOrder.setExpecteddays(apsBlankOrderVo.getExpecteddays());
|
|
|
+ }
|
|
|
// 获取所有订单工序
|
|
|
List<ApsProcessOperationDo> operationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
|
|
|
.eq(ApsProcessOperationDo::getBlankid, apsBlankOrderVo.getId()));
|
|
@@ -860,7 +866,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
|
|
|
String[] sbIds = operationDo.getCanchoosedeviceid().split(",");
|
|
|
for (String equIds : sbIds) {
|
|
|
- if(equIds.equals("0001be252874536843730b100055")){
|
|
|
+ if(equIds.equals("0001be252874536843730b100052")){
|
|
|
System.out.println(equIds);
|
|
|
}
|
|
|
AspCheckItemsDo checkItemsD = eqMaps.get(equIds);
|
|
@@ -981,6 +987,8 @@ public class ApsServiceImpl implements ApsService {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+ // 设备占用时间段
|
|
|
+ List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
|
|
|
// 查询相关工序作业
|
|
|
Set<String> processIds = new HashSet<>();
|
|
|
if (processEqus != null && processEqus.size() > 0) {
|
|
@@ -995,7 +1003,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
//
|
|
|
List<ApsProcessOperationOutMaterDo> outMaterDosAll = apsProcessOperationOutMaterService.list(new LambdaQueryWrapper<ApsProcessOperationOutMaterDo>()
|
|
|
.in(ApsProcessOperationOutMaterDo::getMainid, processIds));
|
|
|
- List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
|
|
|
+
|
|
|
for (ApsProcessOperationProcessEquDo equs : processEqus) {
|
|
|
EquipmentRunTime er = new EquipmentRunTime();
|
|
|
er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
@@ -1034,22 +1042,24 @@ public class ApsServiceImpl implements ApsService {
|
|
|
}
|
|
|
equipmentRunTimes.add(er);
|
|
|
}
|
|
|
- // 设备日历不可用时间段
|
|
|
- List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
|
|
|
- new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, apsPlanStartDate)
|
|
|
- .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
|
|
|
- if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
|
|
|
- for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
|
|
|
- EquipmentRunTime er = new EquipmentRunTime();
|
|
|
- er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- er.setOccupyType("maintenance");
|
|
|
- equipmentRunTimes.add(er);
|
|
|
- }
|
|
|
+ }
|
|
|
+ // 设备日历不可用时间段
|
|
|
+ List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
|
|
|
+ new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdendtime, apsPlanStartDate)
|
|
|
+ .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
|
|
|
+ if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
|
|
|
+ for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
|
|
|
+ EquipmentRunTime er = new EquipmentRunTime();
|
|
|
+ er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ er.setOccupyType("maintenance");
|
|
|
+ equipmentRunTimes.add(er);
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ if(equipmentRunTimes != null && equipmentRunTimes.size()>0){
|
|
|
equipment.setEquipmentRunTimes(equipmentRunTimes);
|
|
|
}
|
|
|
+
|
|
|
equipmentList.add(equipment);
|
|
|
}
|
|
|
}
|
|
@@ -1158,7 +1168,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 锁定的作业
|
|
|
if(LOCKMARK_Y.equals(operationDo.getLockmark())){
|
|
|
List<ApsProcessOperationProcessEquDo> processDetails = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getProcessid, operationDo.getId()));
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessid, operationDo.getId()).orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate));
|
|
|
for (ApsProcessOperationProcessEquDo processDetail : processDetails) {
|
|
|
ProductionProcesses processes = productionProcessesDetailInit(operationDo, produceOrder, optionalEquipments,outMaterDos,apsBlankOrderVo);
|
|
|
processes.setIfLock(true);
|