Forráskód Böngészése

退火调度新模型排程优化

fangpengyuan 3 hónapja
szülő
commit
a4549d5e7e

+ 6 - 2
rw-aps-server/src/main/java/com/rongwei/rwapsserver/aps/score/ApsConstraintProvider.java

@@ -3162,8 +3162,12 @@ public class ApsConstraintProvider implements ConstraintProvider {
                             ProductionProcesses bfpps = hasStartTimeProcess.get(i);
                             ProductionProcesses afpps = hasStartTimeProcess.get(i+1);
 
-                            List<EquipmentRunTime> bfppsRunTimes = equipment.getEquipmentRunTimes().stream().filter(v -> v.getStartRunTime().compareTo(bfpps.getStartTime()) == 0).collect(Collectors.toList());
-                            List<EquipmentRunTime> afppsRunTimes = equipment.getEquipmentRunTimes().stream().filter(v -> v.getStartRunTime().compareTo(afpps.getStartTime()) == 0).collect(Collectors.toList());
+                            List<EquipmentRunTime> bfppsRunTimes = null;
+                            List<EquipmentRunTime> afppsRunTimes = null;
+                            if(equipment.getEquipmentRunTimes() != null && equipment.getEquipmentRunTimes().size()>0){
+                                bfppsRunTimes = equipment.getEquipmentRunTimes().stream().filter(v -> v.getStartRunTime().compareTo(bfpps.getStartTime()) == 0).collect(Collectors.toList());
+                                afppsRunTimes = equipment.getEquipmentRunTimes().stream().filter(v -> v.getStartRunTime().compareTo(afpps.getStartTime()) == 0).collect(Collectors.toList());
+                            }
 
                             boolean hasNowApsPros = true;
                             // 前后道工序都是本批次排程的任务

+ 5 - 1
rw-aps-server/src/main/java/com/rongwei/rwapsserver/aps/service/impl/DdApsServiceImpl.java

@@ -1174,7 +1174,11 @@ public class DdApsServiceImpl implements DdApsService {
                                         }
                                     }
                                     if(newList){
-                                        minpreendTime = processes1.getPreviousProcesses().get(0).getEndTime();
+                                        if(processes1.getPreviousProcesses() == null){
+                                            int aa = 0;
+                                        }else{
+                                            minpreendTime = processes1.getPreviousProcesses().get(0).getEndTime();
+                                        }
                                         List<ProductionProcesses> thps = new ArrayList<>();
                                         thps.add(processes1);
                                         chunks.add(thps);