Ver código fonte

排程优化-退火合并优化

fangpy 8 meses atrás
pai
commit
72e0ec1798

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

@@ -428,7 +428,11 @@ public class ApsServiceImpl implements ApsService {
                 }
                 // 退火锁定的工序添加到待排程的设备占用时间中
                 if(equipmentRunTimes.size()>0){
-                    v.get(0).getEquipment().getEquipmentRunTimes().addAll(equipmentRunTimes);
+                    if(v.get(0).getEquipment().getEquipmentRunTimes() == null){
+                        v.get(0).getEquipment().setEquipmentRunTimes(equipmentRunTimes);
+                    }else{
+                        v.get(0).getEquipment().getEquipmentRunTimes().addAll(equipmentRunTimes);
+                    }
                     equipmentRunTimeMerge(v.get(0).getEquipment(),v.get(0).getApsOverallConfig().getFurnaceInstallations());
                 }
             }else{
@@ -1124,10 +1128,14 @@ public class ApsServiceImpl implements ApsService {
                                             // 退火前一道作业设置下一作业ID
                                             ProductionProcesses prepro = thps.get(i).getPreviousProcesses().get(0);
                                             // 合并后关联关系重置
+                                            if(prepro.getNextProcessesIds().contains(thps.get(i).getId())){
+                                                prepro.getNextProcessesIds().remove(thps.get(i).getId());
+                                            }
                                             if(!prepro.getNextProcessesIds().contains(thps.get(0).getId())){
                                                 int i1 = prepro.getNextProcessesIds().indexOf(thps.get(i).getId());
                                                 prepro.getNextProcessesIds().set(i1,thps.get(0).getId());
                                             }
+
                                             List<String> list = new ArrayList<>();
                                             Set<String> set = new LinkedHashSet<>();
                                             for (String nextProcessesId : prepro.getNextProcessesIds()) {

+ 10 - 2
rw-aps-server/src/test/java/com/rongwei/rwapsserver/RwApsServerApplicationTests.java

@@ -1,11 +1,15 @@
 package com.rongwei.rwapsserver;
 
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import com.rongwei.rwapsserver.aps.domain.ProductionProcesses;
+import org.drools.util.DateUtils;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
@@ -39,9 +43,13 @@ class RwApsServerApplicationTests {
             System.out.println("b:"+b);
         }*/
 
-        long between = DateUtil.between(DateUtil.parseDateTime("2024-11-24 04:12:00")
+        /*long between = DateUtil.between(DateUtil.parseDateTime("2024-11-24 04:12:00")
                 , DateUtil.parseDateTime("2024-11-26 09:49:00"), DateUnit.MINUTE);
-        System.out.println("分钟差:"+between);
+        System.out.println("分钟差:"+between);*/
+
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+        DateTime dateTime = DateUtil.date().offset(DateField.HOUR, 8);
+        System.out.println(dateTime);
     }
 
 }