|
@@ -214,265 +214,6 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 设置开始时间
|
|
|
- * @param process
|
|
|
- */
|
|
|
- /*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())){
|
|
|
- System.out.println("process.getId():"+process.getId()+";process.getEquipment().getId():"+process.getEquipment().getId()+";process.getDelay():"+process.getDelay());
|
|
|
- process.getId();
|
|
|
- }*//*
|
|
|
- // 获取所有规划实体对象数据
|
|
|
- ApsSolution workingSolution = scoreDirector.getWorkingSolution();
|
|
|
- // 最大单批次生产时间
|
|
|
- Integer maxUnitProduceTime = 0;
|
|
|
- // 最大流转时间
|
|
|
- Integer lzMaxTimes = 0;
|
|
|
- // 前道工序最小首批加工最大等待时间
|
|
|
- LocalDateTime lastFirstMaxWaitTime = null;
|
|
|
- if(process.getPreviousProcesses() != null && process.getPreviousProcesses().size()>0){
|
|
|
- // 瓶颈工序,简化为等待前道工序全部完成才加工后道工序
|
|
|
- if((process.getBottleneck() != null && process.getBottleneck())
|
|
|
- || (process.getPreviousProcesses().get(0).getBottleneck() != null && process.getPreviousProcesses().get(0).getBottleneck())){
|
|
|
- LocalDateTime lastMaxStartTime = null;
|
|
|
- LocalDateTime lastMinMaxWaitTime = null;
|
|
|
- for (ProductionProcesses previousProcess : process.getPreviousProcesses()) {
|
|
|
- if(previousProcess.getEquipment() == null){
|
|
|
- System.out.println("previousProcess.getEquipment() == null:"+process.getId());
|
|
|
- continue;
|
|
|
- }
|
|
|
- // 流转时间
|
|
|
- Integer lzTimes = 0;
|
|
|
- if(previousProcess.getEquipment().getWorkshopid() != null && previousProcess.getEquipment().getWorkshopid().equals(process.getEquipment().getWorkshopid())){
|
|
|
- lzTimes = process.getApsOverallConfig().getRoamTime().get("WORKSHOP_IN");
|
|
|
- }else{
|
|
|
- lzTimes = process.getApsOverallConfig().getRoamTime().get("WORKSHOP_CROSS");
|
|
|
- }
|
|
|
- if(lzMaxTimes<lzTimes){
|
|
|
- lzMaxTimes = lzTimes;
|
|
|
- }
|
|
|
- // 最小等待时间
|
|
|
- Integer minWaitTime = previousProcess.getMinWaitTime() == null ? 0 : previousProcess.getMinWaitTime();
|
|
|
- if(lzTimes>minWaitTime){
|
|
|
- minWaitTime = lzTimes;
|
|
|
- }
|
|
|
- if(lastMaxStartTime == null){
|
|
|
- lastMaxStartTime = previousProcess.getEndTime().plusMinutes(minWaitTime);
|
|
|
- }else {
|
|
|
- if(lastMaxStartTime.compareTo(previousProcess.getEndTime().plusMinutes(minWaitTime))<0){
|
|
|
- lastMaxStartTime = previousProcess.getEndTime().plusMinutes(minWaitTime);
|
|
|
- }
|
|
|
- }
|
|
|
- // 如有最大等待时间,计算首批次加工等待时间不能超过最大等待时间
|
|
|
- if(previousProcess.getMaxWaitTime() != null){
|
|
|
- if(lastMinMaxWaitTime == null){
|
|
|
- lastMinMaxWaitTime = previousProcess.getEndTime().plusMinutes(previousProcess.getMaxWaitTime());
|
|
|
- }else{
|
|
|
- if(previousProcess.getEndTime().plusMinutes(previousProcess.getMaxWaitTime()).compareTo(lastMinMaxWaitTime)<0){
|
|
|
- lastMinMaxWaitTime = previousProcess.getEndTime().plusMinutes(previousProcess.getMaxWaitTime());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // 对比设备已运行时间(包括排程中添加的作业)来修正时间
|
|
|
- LocalDateTime proStartTime = seriesWaitTime(workingSolution,process,lastMaxStartTime);
|
|
|
-
|
|
|
- LocalDateTime proEndTime = proStartTime.plusMinutes(process.getProduceTime());
|
|
|
- List<EquipmentRunTime> equipmentRunTimes = process.getEquipment().getEquipmentRunTimes();
|
|
|
- List<EquipmentRunTime> allRunTimes = new ArrayList<>();
|
|
|
- if(equipmentRunTimes != null && equipmentRunTimes.size()>0){
|
|
|
- for (EquipmentRunTime equipmentRunTime : equipmentRunTimes) {
|
|
|
- EquipmentRunTime copy = new EquipmentRunTime();
|
|
|
- copy.setStartRunTime(equipmentRunTime.getStartRunTime());
|
|
|
- copy.setEndRunTime(equipmentRunTime.getEndRunTime());
|
|
|
- allRunTimes.add(copy);
|
|
|
- }
|
|
|
- }
|
|
|
- *//*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();
|
|
|
- copy.setStartRunTime(productionProcesses.getStartTime());
|
|
|
- copy.setEndRunTime(productionProcesses.getEndTime());
|
|
|
- allRunTimes.add(copy);
|
|
|
- }
|
|
|
- }
|
|
|
- }*//*
|
|
|
- // 按照开始时间排序
|
|
|
- allRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
|
|
|
-
|
|
|
- if(allRunTimes.size()>0){
|
|
|
- for (EquipmentRunTime equipmentRunTime : allRunTimes) {
|
|
|
- if(proStartTime.compareTo(equipmentRunTime.getEndRunTime())>0 || proEndTime.compareTo(equipmentRunTime.getStartRunTime())<0){
|
|
|
- continue;
|
|
|
- }else{
|
|
|
- proStartTime = equipmentRunTime.getEndRunTime().plusMinutes(1);
|
|
|
- proEndTime = proStartTime.plusMinutes(process.getProduceTime());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- toUpdateStartTime = proStartTime;
|
|
|
- }
|
|
|
- // 非瓶颈工序,非瓶颈工序,默认前道工序只有一个
|
|
|
- else{
|
|
|
- // 此种情况简化为前道工序只有一个
|
|
|
- ProductionProcesses preProcess = process.getPreviousProcesses().get(0);
|
|
|
- if(preProcess.getStartTime() != null){
|
|
|
- maxUnitProduceTime = preProcess.getUnitProduceTime();
|
|
|
- // 前道工序的所有下道工序
|
|
|
- List<ProductionProcesses> nextProcesses = new ArrayList<>();
|
|
|
- if(preProcess.getNextProcesses() != null && preProcess.getNextProcesses().size()>0){
|
|
|
- for (ProductionProcesses nextProcess : preProcess.getNextProcesses()) {
|
|
|
- nextProcesses.add(nextProcess);
|
|
|
- }
|
|
|
- }
|
|
|
- Map<String,Integer> map = new HashMap<>();
|
|
|
- for (ProductionProcesses nextProcess : nextProcesses) {
|
|
|
- map.put(nextProcess.getId(),0);
|
|
|
- allNextProduceTime(nextProcess,map,nextProcess.getId());
|
|
|
- nextProcess.setNextAllProduceTime(map.get(nextProcess.getId()));
|
|
|
- }
|
|
|
- nextProcesses.sort((o1, o2) -> o1.getNextAllProduceTime().compareTo(o2.getNextAllProduceTime()));
|
|
|
- // 前道工序
|
|
|
- LocalDateTime startTime = preProcess.getStartTime();
|
|
|
- LocalDateTime endTime = preProcess.getStartTime();
|
|
|
- for (ProductionProcesses nextProcess : nextProcesses) {
|
|
|
- int i = preProcess.getUnitProduceTime() * nextProcess.getProducePcNum();
|
|
|
- if(!nextProcess.getId().equals(process.getId())){
|
|
|
- startTime = startTime.plusMinutes(i);
|
|
|
- }else{
|
|
|
- endTime = startTime.plusMinutes(i);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 流转时间
|
|
|
- Integer lzTimes = 0;
|
|
|
- if(preProcess.getEquipment().getWorkshopid() != null && preProcess.getEquipment().getWorkshopid().equals(process.getEquipment().getWorkshopid())){
|
|
|
- lzTimes = process.getApsOverallConfig().getRoamTime().get("WORKSHOP_IN");
|
|
|
- }else{
|
|
|
- lzTimes = process.getApsOverallConfig().getRoamTime().get("WORKSHOP_CROSS");
|
|
|
- }
|
|
|
- // 最小等待时间对比流转时间
|
|
|
- if(preProcess.getMinWaitTime() != null && lzTimes<preProcess.getMinWaitTime()){
|
|
|
- lzTimes = preProcess.getMinWaitTime();
|
|
|
- }
|
|
|
-
|
|
|
- *//**
|
|
|
- * 后道工序批次生产时间大于等于前道工序批次生产时间
|
|
|
- * 从第一批次开始往后排程
|
|
|
- *//*
|
|
|
-
|
|
|
- if(preProcess.getMaxWaitTime() != null){
|
|
|
- lastFirstMaxWaitTime = startTime.plusMinutes(preProcess.getUnitProduceTime()).plusMinutes(preProcess.getMaxWaitTime());
|
|
|
- }
|
|
|
- LocalDateTime lastStartTime = null;
|
|
|
- if(process.getUnitProduceTime()>=maxUnitProduceTime){
|
|
|
- lastStartTime = startTime.plusMinutes(preProcess.getUnitProduceTime()).plusMinutes(lzTimes);
|
|
|
- process.setEndTime(lastStartTime.plusMinutes(process.getProduceTime()));
|
|
|
- }
|
|
|
- *//**
|
|
|
- * 后道工序批次生产时间小于前道工序批次生产时间
|
|
|
- * 从最后批次开始往前排程
|
|
|
- *//*
|
|
|
- else{
|
|
|
- // 开始时间:最后一批次结束时间加流转时间,再往前倒排批次数减一乘以单批次生产时间
|
|
|
- lastStartTime = endTime.plusMinutes(lzTimes).minusMinutes(process.getUnitProduceTime() * (process.getProducePcNum() - 1));
|
|
|
- // 结束时间重新赋值
|
|
|
- process.setEndTime(endTime.plusMinutes(lzTimes).plusMinutes(process.getUnitProduceTime()));
|
|
|
- }
|
|
|
- // 对比设备已运行时间(包括排程中添加的作业)来修正时间
|
|
|
- LocalDateTime proStartTime = seriesWaitTime(workingSolution,process,lastStartTime);
|
|
|
- LocalDateTime proEndTime = process.getEndTime();
|
|
|
- List<EquipmentRunTime> equipmentRunTimes = process.getEquipment().getEquipmentRunTimes();
|
|
|
- List<EquipmentRunTime> allRunTimes = new ArrayList<>();
|
|
|
- if(equipmentRunTimes != null && equipmentRunTimes.size()>0){
|
|
|
- for (EquipmentRunTime equipmentRunTime : equipmentRunTimes) {
|
|
|
- EquipmentRunTime copy = new EquipmentRunTime();
|
|
|
- copy.setStartRunTime(equipmentRunTime.getStartRunTime());
|
|
|
- copy.setEndRunTime(equipmentRunTime.getEndRunTime());
|
|
|
- allRunTimes.add(copy);
|
|
|
- }
|
|
|
- }
|
|
|
- *//*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();
|
|
|
- copy.setStartRunTime(productionProcesses.getStartTime());
|
|
|
- copy.setEndRunTime(productionProcesses.getEndTime());
|
|
|
- allRunTimes.add(copy);
|
|
|
- }
|
|
|
- }
|
|
|
- }*//*
|
|
|
- // 按照开始时间排序
|
|
|
- allRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
|
|
|
-
|
|
|
- if(allRunTimes.size()>0){
|
|
|
- for (EquipmentRunTime equipmentRunTime : allRunTimes) {
|
|
|
- if(proStartTime.compareTo(equipmentRunTime.getEndRunTime())>0 || proEndTime.compareTo(equipmentRunTime.getStartRunTime())<0){
|
|
|
- continue;
|
|
|
- }else{
|
|
|
- proStartTime = equipmentRunTime.getEndRunTime().plusMinutes(1);
|
|
|
- proEndTime = proStartTime.plusMinutes(process.getProduceTime());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- toUpdateStartTime = proStartTime;
|
|
|
- }
|
|
|
- }
|
|
|
- }else{
|
|
|
- LocalDateTime proStartTime = process.getApsOverallConfig().getStartTime();
|
|
|
- LocalDateTime proEndTime = proStartTime.plusMinutes(process.getProduceTime());
|
|
|
- List<EquipmentRunTime> equipmentRunTimes = process.getEquipment().getEquipmentRunTimes();
|
|
|
- List<EquipmentRunTime> allRunTimes = new ArrayList<>();
|
|
|
- if(equipmentRunTimes != null && equipmentRunTimes.size()>0){
|
|
|
- for (EquipmentRunTime equipmentRunTime : equipmentRunTimes) {
|
|
|
- EquipmentRunTime copy = new EquipmentRunTime();
|
|
|
- copy.setStartRunTime(equipmentRunTime.getStartRunTime());
|
|
|
- copy.setEndRunTime(equipmentRunTime.getEndRunTime());
|
|
|
- allRunTimes.add(copy);
|
|
|
- }
|
|
|
- }
|
|
|
- *//*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();
|
|
|
- copy.setStartRunTime(productionProcesses.getStartTime());
|
|
|
- copy.setEndRunTime(productionProcesses.getEndTime());
|
|
|
- allRunTimes.add(copy);
|
|
|
- }
|
|
|
- }
|
|
|
- }*//*
|
|
|
- allRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
|
|
|
-
|
|
|
- if(allRunTimes.size()>0){
|
|
|
- for (EquipmentRunTime equipmentRunTime : allRunTimes) {
|
|
|
- if(proStartTime.compareTo(equipmentRunTime.getEndRunTime())>0 || proEndTime.compareTo(equipmentRunTime.getStartRunTime())<0){
|
|
|
- continue;
|
|
|
- }else{
|
|
|
- proStartTime = equipmentRunTime.getEndRunTime().plusMinutes(1);
|
|
|
- proEndTime = proStartTime.plusMinutes(process.getProduceTime());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- toUpdateStartTime = proStartTime;
|
|
|
- }
|
|
|
-
|
|
|
- *//*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("39224859c48946c8a8984380120caa65")){
|
|
|
int a = 0;
|
|
@@ -563,6 +304,14 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
|
|
|
copy.setCutfinishmin(equipmentRunTime.getCutfinishmin() == null ? 0 : equipmentRunTime.getCutfinishmin());
|
|
|
copy.setPrepressworkmin(equipmentRunTime.getPrepressworkmin() == null ? 0 : equipmentRunTime.getPrepressworkmin());
|
|
|
copy.setMinThGroupNames(equipmentRunTime.getMinThGroupNames());
|
|
|
+ copy.setVolumeMetal(equipmentRunTime.getVolumeMetal());
|
|
|
+ copy.setVolumeMetalstate(equipmentRunTime.getVolumeMetalstate());
|
|
|
+ copy.setMaxVolumeWidth(equipmentRunTime.getMaxVolumeWidth());
|
|
|
+ copy.setMaxThickness(equipmentRunTime.getMaxThickness());
|
|
|
+ copy.setMaxSinglerollweight(equipmentRunTime.getMaxSinglerollweight());
|
|
|
+ copy.setMinVolumeWidth(equipmentRunTime.getMinVolumeWidth());
|
|
|
+ copy.setMinThickness(equipmentRunTime.getMinThickness());
|
|
|
+ copy.setMinSinglerollweight(equipmentRunTime.getMinSinglerollweight());
|
|
|
equipmentRunTimes.add(copy);
|
|
|
}
|
|
|
}
|
|
@@ -642,7 +391,7 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
|
|
|
// 按照开始时间排序
|
|
|
equipmentRunTimes.sort(Comparator.comparing(EquipmentRunTime::getStartRunTime));
|
|
|
|
|
|
- if(process.getEquipmentId().equals("ea69835012de4f2cb9c52496df8be111")){
|
|
|
+ if(process.getEquipmentId().equals("0001be252874536843730b100163")){
|
|
|
int a = 0;
|
|
|
}
|
|
|
Integer delay = process.getDelay();
|
|
@@ -779,23 +528,97 @@ public class TaskStartTimeListener implements VariableListener<ApsSolution, Prod
|
|
|
if(process.getProcessType().equals(equipmentRunTime.getProcessType())
|
|
|
&& process.getVolumeMetal().equals(equipmentRunTime.getVolumeMetal())
|
|
|
&& process.getVolumeMetalstate().equals(equipmentRunTime.getVolumeMetalstate())){
|
|
|
+ // 最大、最小宽度
|
|
|
+ BigDecimal maxVolumeWidth = equipmentRunTime.getMaxVolumeWidth();
|
|
|
+ BigDecimal minVolumeWidth = equipmentRunTime.getMinVolumeWidth();
|
|
|
+ if(process.getVolumeWidth().compareTo(maxVolumeWidth)>0){
|
|
|
+ maxVolumeWidth = process.getVolumeWidth();
|
|
|
+ }
|
|
|
+ if(process.getVolumeWidth().compareTo(minVolumeWidth)<0){
|
|
|
+ minVolumeWidth = process.getVolumeWidth();
|
|
|
+ }
|
|
|
+ // 最大、最小厚度
|
|
|
+ BigDecimal maxVolumeThickness = equipmentRunTime.getMaxThickness();
|
|
|
+ BigDecimal minVolumeThickness = equipmentRunTime.getMinThickness();
|
|
|
+ if(process.getVolumeThickness().compareTo(maxVolumeThickness)>0){
|
|
|
+ maxVolumeThickness = process.getVolumeThickness();
|
|
|
+ }
|
|
|
+ if(process.getVolumeThickness().compareTo(minVolumeThickness)<0){
|
|
|
+ minVolumeThickness = process.getVolumeThickness();
|
|
|
+ }
|
|
|
+ // 最大、最小重量
|
|
|
+ BigDecimal maxSinglerollweight = equipmentRunTime.getMaxSinglerollweight();
|
|
|
+ BigDecimal minSinglerollweight = equipmentRunTime.getMinSinglerollweight();
|
|
|
+ if(process.getSinglerollweight().compareTo(maxSinglerollweight)>0){
|
|
|
+ maxSinglerollweight = process.getSinglerollweight();
|
|
|
+ }
|
|
|
+ if(process.getSinglerollweight().compareTo(minSinglerollweight)<0){
|
|
|
+ minSinglerollweight = process.getSinglerollweight();
|
|
|
+ }
|
|
|
+ // 根据最小厚度查询厚差
|
|
|
+ BigDecimal ztkc = new BigDecimal("250");
|
|
|
+ BigDecimal ctkc = new BigDecimal("200");
|
|
|
+ if(process.getApsOverallConfig().getMiddifference() != null && process.getApsOverallConfig().getMiddifference()>0){
|
|
|
+ ztkc = new BigDecimal(process.getApsOverallConfig().getMiddifference());
|
|
|
+ }
|
|
|
+ if(process.getApsOverallConfig().getFurnacedifference() != null && process.getApsOverallConfig().getFurnacedifference()>0){
|
|
|
+ ctkc = new BigDecimal(process.getApsOverallConfig().getFurnacedifference());
|
|
|
+ }
|
|
|
+ BigDecimal zthc = new BigDecimal("0.05");
|
|
|
+ BigDecimal cthc = new BigDecimal("0.05");
|
|
|
+ List<ApsAnnealingDifferenceDo> apsAnnealingDifferences = process.getApsOverallConfig().getApsAnnealingDifferences();
|
|
|
+ if(apsAnnealingDifferences != null && apsAnnealingDifferences.size()>0){
|
|
|
+ for (ApsAnnealingDifferenceDo apsAnnealingDifference : apsAnnealingDifferences) {
|
|
|
+ BigDecimal startthickness = apsAnnealingDifference.getStartthickness();
|
|
|
+ BigDecimal endthickness = apsAnnealingDifference.getEndthickness();
|
|
|
+ if(startthickness == null && endthickness == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ boolean fl = true;
|
|
|
+ if(startthickness != null){
|
|
|
+ if(minVolumeThickness.compareTo(startthickness)<0){
|
|
|
+ fl = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(endthickness != null){
|
|
|
+ if(minVolumeThickness.compareTo(endthickness)>0){
|
|
|
+ fl = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(fl){
|
|
|
+ BigDecimal declinedifference = apsAnnealingDifference.getDeclinedifference();
|
|
|
+ BigDecimal moderatedifference = apsAnnealingDifference.getModeratedifference();
|
|
|
+ if(declinedifference != null){
|
|
|
+ cthc = declinedifference;
|
|
|
+ }
|
|
|
+ if(moderatedifference != null){
|
|
|
+ zthc = moderatedifference;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
BigDecimal btVolumeWidth = null;
|
|
|
BigDecimal btVolumeThickness = null;
|
|
|
BigDecimal btSinglerollweight = null;
|
|
|
if("成退".equals(process.getProcessType())){
|
|
|
- btVolumeWidth = new BigDecimal("50");
|
|
|
- btVolumeThickness = new BigDecimal("0.05");
|
|
|
+ btVolumeWidth = ctkc;
|
|
|
+ btVolumeThickness = cthc;
|
|
|
btSinglerollweight = new BigDecimal("1");
|
|
|
}else if ("中退".equals(process.getProcessType())){
|
|
|
- btVolumeWidth = new BigDecimal("100");
|
|
|
- btVolumeThickness = new BigDecimal("0.08");
|
|
|
+ btVolumeWidth = ztkc;
|
|
|
+ btVolumeThickness = zthc;
|
|
|
btSinglerollweight = new BigDecimal("1");
|
|
|
}
|
|
|
- if(equipmentRunTime.getMaxVolumeWidth().subtract(equipmentRunTime.getMinVolumeWidth()).compareTo(btVolumeWidth)<=0
|
|
|
+ if(maxVolumeWidth.subtract(minVolumeWidth).compareTo(btVolumeWidth)<=0 && maxVolumeThickness.subtract(minVolumeThickness).compareTo(btVolumeThickness)<=0
|
|
|
+ && maxSinglerollweight.subtract(minSinglerollweight).compareTo(btSinglerollweight)<=0){
|
|
|
+ hasMergeTh = true;
|
|
|
+ }
|
|
|
+ /*if(equipmentRunTime.getMaxVolumeWidth().subtract(equipmentRunTime.getMinVolumeWidth()).compareTo(btVolumeWidth)<=0
|
|
|
&& equipmentRunTime.getMaxThickness().subtract(equipmentRunTime.getMinThickness()).compareTo(btVolumeThickness)<=0
|
|
|
&& equipmentRunTime.getMaxSinglerollweight().subtract(equipmentRunTime.getMinSinglerollweight()).compareTo(btSinglerollweight)<=0){
|
|
|
hasMergeTh = true;
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
}else{
|
|
|
// 小卷成退合并工序
|