|
@@ -1657,6 +1657,12 @@ public class ApsConstraintProvider implements ConstraintProvider {
|
|
|
pp.setBsProcessesId(Arrays.asList(new String[]{"haspcprocess"}));
|
|
|
pp.setTotalVolumeWidth(equipmentRunTime.getTotalVolumeWidth());
|
|
|
pp.setTotalSinglerollweight(equipmentRunTime.getTotalSinglerollweight());
|
|
|
+ pp.setMaxVolumeWidth(equipmentRunTime.getMaxVolumeWidth());
|
|
|
+ pp.setMinVolumeWidth(equipmentRunTime.getMinVolumeWidth());
|
|
|
+ pp.setMaxSinglerollweight(equipmentRunTime.getMaxSinglerollweight());
|
|
|
+ pp.setMinSinglerollweight(equipmentRunTime.getMinSinglerollweight());
|
|
|
+ pp.setMaxThickness(equipmentRunTime.getMaxThickness());
|
|
|
+ pp.setMinThickness(equipmentRunTime.getMinThickness());
|
|
|
pp.setVolumeThickness(equipmentRunTime.getTotalThickness());
|
|
|
pp.setConflictRoptions(new HashMap<>());
|
|
|
pp.setOpeProducePcNum(equipmentRunTime.getPcNum());
|
|
@@ -1805,7 +1811,31 @@ public class ApsConstraintProvider implements ConstraintProvider {
|
|
|
processTypeSet.add(productionProcesses.getProcessType());
|
|
|
metalstateSet.add(productionProcesses.getVolumeMetalstate());
|
|
|
// 宽度
|
|
|
- if(productionProcesses.getVolumeWidth() != null){
|
|
|
+ // 最大宽度
|
|
|
+ BigDecimal maxVolumeWidth1 = productionProcesses.getMaxVolumeWidth();
|
|
|
+ if(maxVolumeWidth1 == null){
|
|
|
+ maxVolumeWidth1 = productionProcesses.getVolumeWidth();
|
|
|
+ }
|
|
|
+ if(maxVolumeWidth == null){
|
|
|
+ maxVolumeWidth = maxVolumeWidth1;
|
|
|
+ }else{
|
|
|
+ if(maxVolumeWidth1.compareTo(maxVolumeWidth)>0){
|
|
|
+ maxVolumeWidth = maxVolumeWidth1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 最小宽度
|
|
|
+ BigDecimal minVolumeWidth1 = productionProcesses.getMinVolumeWidth();
|
|
|
+ if(minVolumeWidth1 == null){
|
|
|
+ minVolumeWidth1 = productionProcesses.getVolumeWidth();
|
|
|
+ }
|
|
|
+ if(minVolumeWidth == null){
|
|
|
+ minVolumeWidth = minVolumeWidth1;
|
|
|
+ }else{
|
|
|
+ if(minVolumeWidth1.compareTo(minVolumeWidth)<0){
|
|
|
+ minVolumeWidth = minVolumeWidth1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /*if(productionProcesses.getVolumeWidth() != null){
|
|
|
if(maxVolumeWidth == null){
|
|
|
maxVolumeWidth = productionProcesses.getVolumeWidth();
|
|
|
}else{
|
|
@@ -1820,9 +1850,34 @@ public class ApsConstraintProvider implements ConstraintProvider {
|
|
|
minVolumeWidth = productionProcesses.getVolumeWidth();
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
// 厚度
|
|
|
+ // 最大厚度
|
|
|
+ BigDecimal maxThickness = productionProcesses.getMaxThickness();
|
|
|
+ if(maxThickness == null){
|
|
|
+ maxThickness = productionProcesses.getVolumeThickness();
|
|
|
+ }
|
|
|
if(maxVolumeThickness == null){
|
|
|
+ maxVolumeThickness = maxThickness;
|
|
|
+ }else{
|
|
|
+ if(maxThickness.compareTo(maxVolumeThickness)>0){
|
|
|
+ maxVolumeThickness = maxThickness;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //最小厚度
|
|
|
+ BigDecimal minThickness = productionProcesses.getMinThickness();
|
|
|
+ if(minThickness == null){
|
|
|
+ minThickness = productionProcesses.getVolumeThickness();
|
|
|
+ }
|
|
|
+ if(minVolumeThickness == null){
|
|
|
+ minVolumeThickness = minThickness;
|
|
|
+ }else{
|
|
|
+ if(minThickness.compareTo(minVolumeThickness)<0){
|
|
|
+ minVolumeThickness = minThickness;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*if(maxVolumeThickness == null){
|
|
|
maxVolumeThickness = productionProcesses.getVolumeThickness();
|
|
|
}else{
|
|
|
if(productionProcesses.getVolumeThickness().compareTo(maxVolumeThickness)>0){
|
|
@@ -1835,9 +1890,34 @@ public class ApsConstraintProvider implements ConstraintProvider {
|
|
|
if(productionProcesses.getVolumeThickness().compareTo(minVolumeThickness)<0){
|
|
|
minVolumeThickness = productionProcesses.getVolumeThickness();
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
// 重量
|
|
|
- if(productionProcesses.getSinglerollweight() != null){
|
|
|
+ // 最大重量
|
|
|
+ BigDecimal maxSinglerollweight1 = productionProcesses.getMaxSinglerollweight();
|
|
|
+ if(maxSinglerollweight1 == null){
|
|
|
+ maxSinglerollweight1 = productionProcesses.getSinglerollweight();
|
|
|
+ }
|
|
|
+ if(maxSinglerollweight == null){
|
|
|
+ maxSinglerollweight = maxSinglerollweight1;
|
|
|
+ }else{
|
|
|
+ if(maxSinglerollweight1.compareTo(maxSinglerollweight)>0){
|
|
|
+ maxSinglerollweight = maxSinglerollweight1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 最小重量
|
|
|
+ BigDecimal minSinglerollweight1 = productionProcesses.getMinSinglerollweight();
|
|
|
+ if(minSinglerollweight1 == null){
|
|
|
+ minSinglerollweight1 = productionProcesses.getSinglerollweight();
|
|
|
+ }
|
|
|
+ if(minSinglerollweight == null){
|
|
|
+ minSinglerollweight = minSinglerollweight1;
|
|
|
+ }else{
|
|
|
+ if(minSinglerollweight1.compareTo(minSinglerollweight)<0){
|
|
|
+ minSinglerollweight = minSinglerollweight1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*if(productionProcesses.getSinglerollweight() != null){
|
|
|
if(maxSinglerollweight == null){
|
|
|
maxSinglerollweight = productionProcesses.getSinglerollweight();
|
|
|
}else{
|
|
@@ -1852,7 +1932,7 @@ public class ApsConstraintProvider implements ConstraintProvider {
|
|
|
minSinglerollweight = productionProcesses.getSinglerollweight();
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
// 校验退火实际装炉卷数是否大于最大装炉卷数
|
|
|
if(minZljs == 0){
|