|
@@ -66,6 +66,9 @@ public class TaskStartTimeListenerTa implements ListVariableListener<ApsSolution
|
|
|
if (ObjectNull.isNull(tasks) || tasks.size() - 1 < index) {
|
|
|
return;
|
|
|
}
|
|
|
+ if(tasks.size() == 3){
|
|
|
+ int aaa = 0;
|
|
|
+ }
|
|
|
|
|
|
index = 0;
|
|
|
ProductionProcessesTa productionProcessesTa = tasks.get(index);
|
|
@@ -235,8 +238,31 @@ public class TaskStartTimeListenerTa implements ListVariableListener<ApsSolution
|
|
|
BigDecimal hasMergeMinThickness = null;
|
|
|
BigDecimal hasMergeMaxWeight = null;
|
|
|
BigDecimal hasMergeMinWeight = null;
|
|
|
+
|
|
|
+ int mergeProsminZljs = 0;
|
|
|
+ int mergeProstotalPcNum = 0;
|
|
|
if(mergePros.size()>0){
|
|
|
for (ProductionProcessesTa mergePro : mergePros) {
|
|
|
+ mergeProstotalPcNum = mergeProstotalPcNum + mergePro.getOpeProducePcNum();
|
|
|
+ if(mergePro.getProduceOrder() != null && mergePro.getProduceOrder().size()>0){
|
|
|
+ Integer nowzljs = mergePro.getProduceOrder().get(0).getMaxheatroll();
|
|
|
+ if(equipmentTa.getEquipmentParameter().getMaxfurance() != null && equipmentTa.getEquipmentParameter().getMaxfurance()>0){
|
|
|
+ if(nowzljs>0 && nowzljs>equipmentTa.getEquipmentParameter().getMaxfurance()){
|
|
|
+ nowzljs = equipmentTa.getEquipmentParameter().getMaxfurance();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(nowzljs != null && nowzljs>0){
|
|
|
+ if(mergeProsminZljs == 0){
|
|
|
+ mergeProsminZljs = nowzljs;
|
|
|
+ }else{
|
|
|
+ if(nowzljs < mergeProsminZljs){
|
|
|
+ mergeProsminZljs = nowzljs;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// 最大宽度
|
|
|
if(hasMergeMaxWidth == null){
|
|
|
hasMergeMaxWidth = mergePro.getVolumeWidth();
|
|
@@ -288,6 +314,15 @@ public class TaskStartTimeListenerTa implements ListVariableListener<ApsSolution
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 最大装炉卷数
|
|
|
+ if(process.getProduceOrder().get(0).getMaxheatroll()<mergeProsminZljs){
|
|
|
+ mergeProsminZljs = process.getProduceOrder().get(0).getMaxheatroll();
|
|
|
+ }
|
|
|
+ if(mergeProsminZljs == 0){
|
|
|
+ mergeProsminZljs = 4;
|
|
|
+ }
|
|
|
+ mergeProstotalPcNum = mergeProstotalPcNum + process.getOpeProducePcNum();
|
|
|
+
|
|
|
// 最大、最小宽度
|
|
|
BigDecimal maxVolumeWidth = hasMergeMaxWidth;
|
|
|
BigDecimal minVolumeWidth = hasMergeMinWidth;
|
|
@@ -381,7 +416,7 @@ public class TaskStartTimeListenerTa implements ListVariableListener<ApsSolution
|
|
|
btSinglerollweight = ztjzc;
|
|
|
}
|
|
|
if(maxVolumeWidth.subtract(minVolumeWidth).compareTo(btVolumeWidth)<=0 && maxVolumeThickness.subtract(minVolumeThickness).compareTo(btVolumeThickness)<=0
|
|
|
- && maxSinglerollweight.subtract(minSinglerollweight).compareTo(btSinglerollweight)<=0){
|
|
|
+ && maxSinglerollweight.subtract(minSinglerollweight).compareTo(btSinglerollweight)<=0 && mergeProsminZljs>=mergeProstotalPcNum){
|
|
|
hasMergeTh = true;
|
|
|
}
|
|
|
}
|