|
@@ -1091,6 +1091,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 退火合并
|
|
|
if(thproMap != null && thproMap.size()>0){
|
|
|
thproMap.forEach((k,v)->{
|
|
|
+ // 未锁定的退火合并
|
|
|
if(v.size()>1){
|
|
|
// 作业卷数大于1,合并退火
|
|
|
List<Equipment> equipments = equipmentList.stream().filter(eq -> eq.getId().equals(v.get(0).getOptionalEquipments().get(0))).collect(Collectors.toList());
|
|
@@ -1134,12 +1135,15 @@ public class ApsServiceImpl implements ApsService {
|
|
|
}
|
|
|
|
|
|
List<List<ProductionProcesses>> chunks = new ArrayList<>();
|
|
|
- if(v.get(0).getIfLock()){
|
|
|
- Collections.sort(v,(p1,p2)->{
|
|
|
+
|
|
|
+ List<ProductionProcesses> lockpps = v.stream().filter(m -> m.getIfLock()).collect(Collectors.toList());
|
|
|
+ List<ProductionProcesses> notlockpps = v.stream().filter(m -> !m.getIfLock()).collect(Collectors.toList());
|
|
|
+ if(lockpps != null && lockpps.size()>0){
|
|
|
+ Collections.sort(lockpps,(p1,p2)->{
|
|
|
return p1.getStartTime().compareTo(p2.getStartTime());
|
|
|
});
|
|
|
Map<String, List<ProductionProcesses>> map = new TreeMap<>();
|
|
|
- for (ProductionProcesses productionProcesses : v) {
|
|
|
+ for (ProductionProcesses productionProcesses : lockpps) {
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
String startStr = productionProcesses.getStartTime().format(formatter);
|
|
|
if(map.containsKey(startStr)){
|
|
@@ -1155,10 +1159,11 @@ public class ApsServiceImpl implements ApsService {
|
|
|
chunks.add(entry.getValue());
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
- int listSize = v.size();
|
|
|
+ }
|
|
|
+ if(notlockpps != null && notlockpps.size()>0) {
|
|
|
+ int listSize = notlockpps.size();
|
|
|
for (int i = 0; i < listSize; i += a) {
|
|
|
- chunks.add(v.subList(i, Math.min(i + a, listSize)));
|
|
|
+ chunks.add(notlockpps.subList(i, Math.min(i + a, listSize)));
|
|
|
}
|
|
|
}
|
|
|
// 合并退火作业
|