|
@@ -506,6 +506,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProcessOperationProcessEqu.setConflictdes(process.getConflictDes());
|
|
|
apsProcessOperationProcessEqu.setSoftconflictdes(process.getSoftconflictdes());
|
|
|
apsProcessOperationProcessEqu.setDeleted("0");
|
|
|
+ apsProcessOperationProcessEqu.setUnfinishroll(process.getProducePcNum());
|
|
|
apsProcessOperationProcessEquDos.add(apsProcessOperationProcessEqu);
|
|
|
}
|
|
|
// 合并生产工序
|
|
@@ -538,6 +539,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProcessOperationProcessEqu.setConflictdes(process.getConflictDes());
|
|
|
apsProcessOperationProcessEqu.setSoftconflictdes(process.getSoftconflictdes());
|
|
|
apsProcessOperationProcessEqu.setDeleted("0");
|
|
|
+ apsProcessOperationProcessEqu.setUnfinishroll(v.size());
|
|
|
apsProcessOperationProcessEquDos.add(apsProcessOperationProcessEqu);
|
|
|
});
|
|
|
}
|
|
@@ -641,7 +643,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
Map<String, Integer> roamTime = new HashMap<>();
|
|
|
Integer workshopin = new BigDecimal(apsScheduleConfig.getWorkshopin()).multiply((looseness.divide(new BigDecimal("100"))).add(new BigDecimal("1")))
|
|
|
.setScale(0, RoundingMode.CEILING).intValue();
|
|
|
- Integer workshopcross = new BigDecimal(apsScheduleConfig.getWorkshopin()).multiply((looseness.divide(new BigDecimal("100"))).add(new BigDecimal("1")))
|
|
|
+ Integer workshopcross = new BigDecimal(apsScheduleConfig.getWorkshopcross()).multiply((looseness.divide(new BigDecimal("100"))).add(new BigDecimal("1")))
|
|
|
.setScale(0, RoundingMode.CEILING).intValue();
|
|
|
roamTime.put("WORKSHOP_IN", workshopin);
|
|
|
roamTime.put("WORKSHOP_CROSS", workshopcross);
|
|
@@ -712,15 +714,17 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
.orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
);
|
|
|
// 查询当前设备最后一个生产任务、连续生产需要考虑使用
|
|
|
- List<ApsProcessOperationProcessEquDo> processLastEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ List<ApsProcessOperationProcessEquDo> lastpros = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
.eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
.gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
- .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ .orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
);
|
|
|
- if (processLastEqus != null && processLastEqus.size() > 0) {
|
|
|
- ApsProcessOperationProcessEquDo lastpro = processLastEqus.get(processLastEqus.size() - 1);
|
|
|
+ if(lastpros != null && lastpros.size()>0){
|
|
|
+ ApsProcessOperationProcessEquDo lastpro = lastpros.get(0);
|
|
|
ApsProcessOperationDo lastop = apsProcessOperationService.getById(lastpro.getProcessid());
|
|
|
equipment.setLastProcessType(lastop.getProcess());
|
|
|
+ equipment.setLastProcessEndTime(lastpro.getPlanenddate());
|
|
|
+ equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
|
|
|
// 铸轧
|
|
|
if ("铸轧".equals(lastop.getProcess())) {
|
|
|
// 合金+宽度
|
|
@@ -731,6 +735,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 合金+输入物料+宽度
|
|
|
equipment.setLastSeriesProduceMark(lastop.getMetal() + "^_^" + lastop.getPlaninput() + "^_^" + lastop.getProwidth());
|
|
|
}
|
|
|
+ equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
|
|
|
}
|
|
|
// 查询相关工序作业
|
|
|
Set<String> processIds = new HashSet<>();
|
|
@@ -749,7 +754,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
EquipmentRunTime er = new EquipmentRunTime();
|
|
|
er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
er.setEndRunTime(equs.getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- equipmentRunTimes.add(er);
|
|
|
// 设备占用时间设置连续生产标识,参与排程
|
|
|
if (processOperationDos != null) {
|
|
|
List<ApsProcessOperationDo> pos = processOperationDos.stream().filter(v -> v.getId().equals(equs.getProcessid())).collect(Collectors.toList());
|
|
@@ -766,8 +770,11 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 合金+输入物料+宽度
|
|
|
er.setSeriesProduceMark(operationDo.getMetal() + "^_^" + operationDo.getPlaninput() + "^_^" + operationDo.getProwidth());
|
|
|
}
|
|
|
+ er.setPrepressworkmin(processesDo.getPrepressworkmin() == null ? null : processesDo.getPrepressworkmin().intValue());
|
|
|
+ er.setCutfinishmin(processesDo.getCutfinishmin() == null ? null : processesDo.getCutfinishmin().intValue());
|
|
|
}
|
|
|
}
|
|
|
+ equipmentRunTimes.add(er);
|
|
|
}
|
|
|
equipment.setEquipmentRunTimes(equipmentRunTimes);
|
|
|
}
|
|
@@ -828,7 +835,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 合金+输入物料+宽度
|
|
|
processes.setSeriesProduceMark(operationDo.getMetal() + "^_^" + operationDo.getPlaninput() + "^_^" + operationDo.getProwidth());
|
|
|
}
|
|
|
-
|
|
|
+ processes.setPrepressworkmin(operationDo.getPrepressworkmin() == null ? null : operationDo.getPrepressworkmin().intValue());
|
|
|
+ processes.setCutfinishmin(operationDo.getCutfinishmin() == null ? null : operationDo.getCutfinishmin().intValue());
|
|
|
processesList.add(processes);
|
|
|
}
|
|
|
}
|