fangpy 11 mēneši atpakaļ
vecāks
revīzija
9a3c357795

+ 22 - 22
rw-aps-server/src/main/java/com/rongwei/rwapsserver/aps/listener/TaskStartTimeListener.java

@@ -115,7 +115,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
 //        preProcessCheck(scoreDirector,process);
     }
 
-    private void preProcessCheck(ScoreDirector<ApsSolution> scoreDirector,ProductionProcesses process){
+    /*private void preProcessCheck(ScoreDirector<ApsSolution> scoreDirector,ProductionProcesses process){
         if(process.getPreviousProcesses() != null && process.getPreviousProcesses().size()>1){
             for (ProductionProcesses previousProcess : process.getPreviousProcesses()) {
                 if(previousProcess.getMaxWaitTime() != null && previousProcess.getMaxWaitTime()>0){
@@ -138,9 +138,9 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                                 }
                             }
                         }
-                        /*if("6473acca9af24b95956a891520b21357".equals(previousProcess.getId())){
+                        *//*if("6473acca9af24b95956a891520b21357".equals(previousProcess.getId())){
                             log.info("最大等待时间处理-当前工序开始时间:"+startTime);
-                        }*/
+                        }*//*
                         scoreDirector.beforeVariableChanged(process, "startTime");
                         previousProcess.setStartTime(startTime);
                         scoreDirector.afterVariableChanged(process, "startTime");
@@ -150,7 +150,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                 }
             }
         }
-    }
+    }*/
 
     private List<EquipmentRunTime> getZyTime(ProductionProcesses process){
         List<EquipmentRunTime> equipmentRunTimes = process.getEquipment().getEquipmentRunTimes();
@@ -218,14 +218,14 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
      * 设置开始时间
      * @param process
      */
-    private LocalDateTime startTimeSet(ProductionProcesses process,ScoreDirector<ApsSolution> scoreDirector){
+    /*private LocalDateTime startTimeSet(ProductionProcesses process,ScoreDirector<ApsSolution> scoreDirector){
         // 时间设定
         LocalDateTime toUpdateStartTime = null;
         if(process.getEquipment() != null){
-           /* if("ec0e36791ac845f4bd7aa21dc5ad45ba".equals(process.getId()) && "0001be252874536843730b100020".equals(process.getEquipment().getId())){
+           *//* if("ec0e36791ac845f4bd7aa21dc5ad45ba".equals(process.getId()) && "0001be252874536843730b100020".equals(process.getEquipment().getId())){
                 System.out.println("process.getId():"+process.getId()+";process.getEquipment().getId():"+process.getEquipment().getId()+";process.getDelay():"+process.getDelay());
                 process.getId();
-            }*/
+            }*//*
             // 获取所有规划实体对象数据
             ApsSolution workingSolution = scoreDirector.getWorkingSolution();
             // 最大单批次生产时间
@@ -292,7 +292,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                             allRunTimes.add(copy);
                         }
                     }
-                    /*if(process.getEquipment().getProcessesList() != null && process.getEquipment().getProcessesList().size()>0){
+                    *//*if(process.getEquipment().getProcessesList() != null && process.getEquipment().getProcessesList().size()>0){
                         for (ProductionProcesses productionProcesses : process.getEquipment().getProcessesList()) {
                             if(productionProcesses.getStartTime() != null && productionProcesses.getEndTime() != null && !productionProcesses.getId().equals(process.getId())){
                                 EquipmentRunTime copy = new EquipmentRunTime();
@@ -301,7 +301,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                                 allRunTimes.add(copy);
                             }
                         }
-                    }*/
+                    }*//*
                     // 按照开始时间排序
                     allRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
 
@@ -362,10 +362,10 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                             lzTimes = preProcess.getMinWaitTime();
                         }
 
-                        /**
+                        *//**
                          * 后道工序批次生产时间大于等于前道工序批次生产时间
                          * 从第一批次开始往后排程
-                         */
+                         *//*
 
                         if(preProcess.getMaxWaitTime() != null){
                             lastFirstMaxWaitTime = startTime.plusMinutes(preProcess.getUnitProduceTime()).plusMinutes(preProcess.getMaxWaitTime());
@@ -375,10 +375,10 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                             lastStartTime = startTime.plusMinutes(preProcess.getUnitProduceTime()).plusMinutes(lzTimes);
                             process.setEndTime(lastStartTime.plusMinutes(process.getProduceTime()));
                         }
-                        /**
+                        *//**
                          * 后道工序批次生产时间小于前道工序批次生产时间
                          * 从最后批次开始往前排程
-                         */
+                         *//*
                         else{
                             // 开始时间:最后一批次结束时间加流转时间,再往前倒排批次数减一乘以单批次生产时间
                             lastStartTime = endTime.plusMinutes(lzTimes).minusMinutes(process.getUnitProduceTime() * (process.getProducePcNum() - 1));
@@ -398,7 +398,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                                 allRunTimes.add(copy);
                             }
                         }
-                        /*if(process.getEquipment().getProcessesList() != null && process.getEquipment().getProcessesList().size()>0){
+                        *//*if(process.getEquipment().getProcessesList() != null && process.getEquipment().getProcessesList().size()>0){
                             for (ProductionProcesses productionProcesses : process.getEquipment().getProcessesList()) {
                                 if(productionProcesses.getStartTime() != null && productionProcesses.getEndTime() != null && !productionProcesses.getId().equals(process.getId())){
                                     EquipmentRunTime copy = new EquipmentRunTime();
@@ -407,7 +407,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                                     allRunTimes.add(copy);
                                 }
                             }
-                        }*/
+                        }*//*
                         // 按照开始时间排序
                         allRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
 
@@ -438,7 +438,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                         allRunTimes.add(copy);
                     }
                 }
-                /*if(process.getEquipment().getProcessesList() != null && process.getEquipment().getProcessesList().size()>0){
+                *//*if(process.getEquipment().getProcessesList() != null && process.getEquipment().getProcessesList().size()>0){
                     for (ProductionProcesses productionProcesses : process.getEquipment().getProcessesList()) {
                         if(productionProcesses.getStartTime() != null && productionProcesses.getEndTime() != null && !productionProcesses.getId().equals(process.getId())){
                             EquipmentRunTime copy = new EquipmentRunTime();
@@ -447,7 +447,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                             allRunTimes.add(copy);
                         }
                     }
-                }*/
+                }*//*
                 allRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
 
                 if(allRunTimes.size()>0){
@@ -463,15 +463,15 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
                 toUpdateStartTime = proStartTime;
             }
 
-            /*if("6473acca9af24b95956a891520b21357".equals(process.getId())){
+            *//*if("6473acca9af24b95956a891520b21357".equals(process.getId())){
                 log.info("前道工序开始时间:"+process.getPreviousProcesses().get(0).getStartTime());
                 log.info("前道工序结束时间:"+process.getPreviousProcesses().get(0).getEndTime());
 
                 log.info("当前工序开始时间:"+toUpdateStartTime);
-            }*/
+            }*//*
         }
         return toUpdateStartTime;
-    }
+    }*/
 
     private LocalDateTime startTimeNewSet(ProductionProcesses process,ScoreDirector<ApsSolution> scoreDirector){
         if(process.getId().equals("23b6aee636c2461cb3102fa82be48f28")){
@@ -533,12 +533,12 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
 
             LocalDateTime proEndTime = proStartTime.plusMinutes(process.getProduceTime());
             // 当前工序最大开始时间、结束时间
-            LocalDateTime proMaxStartTime = null;
+            /*LocalDateTime proMaxStartTime = null;
             LocalDateTime proMaxEndTime = null;
             if(preProcess != null && preProcess.getMaxWaitTime() != null && preProcess.getMaxWaitTime()>0){
                 proMaxStartTime = proStartTime.plusMinutes(preProcess.getMaxWaitTime());
                 proMaxEndTime = proEndTime.plusMinutes(preProcess.getMaxWaitTime());
-            }
+            }*/
 
             /*if(1 == 1){
                 return proStartTime;

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

@@ -49,7 +49,7 @@ public class ApsConstraintProvider implements ConstraintProvider {
                 // SOFT
                 processNear(constraintFactory),
                 eqTimeCrossMinTuihuoSoft(constraintFactory),
-                sameBsLzClose(constraintFactory),
+//                sameBsLzClose(constraintFactory),
                 preNextProcessSameEq(constraintFactory),
         };
     }

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

@@ -370,7 +370,7 @@ public class ApsServiceImpl implements ApsService {
                 } else if (mergeprocess.getProcessType().equals("铸轧")) {
                     othermergeprocesses.add(mergeprocess);
                 } else {
-                    if("是".equals(mergeprocess.getIssubsection())){
+                    if("是".equals(mergeprocess.getIssubsection()) || mergeprocess.getIfLock()){
                         othermergeprocesses.add(mergeprocess);
                     }else {
                         /*if(mergeprocess.getPreviousProcessesIds() == null || mergeprocess.getPreviousProcessesIds().size() == 0){
@@ -426,7 +426,7 @@ public class ApsServiceImpl implements ApsService {
                 if(!hasMerge.contains(process.getId())){
                     if(!process.getProcessType().equals("铸轧") && !process.getProcessType().equals("成退")
                             && !process.getProcessType().equals("中退") && !process.getProcessType().equals("小卷成退") && !"是".equals(process.getIssubsection())
-                            && process.getPreviousProcessesIds() != null && process.getPreviousProcessesIds().size()>0){
+                            && !process.getIfLock() && process.getPreviousProcessesIds() != null && process.getPreviousProcessesIds().size()>0){
                         sypros.add(process);
                     }
                 }