|
@@ -204,7 +204,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
// 批次
|
|
// 批次
|
|
processes.setProducePcNum(operationDo.getPlanprocessrall());
|
|
processes.setProducePcNum(operationDo.getPlanprocessrall());
|
|
// 单次加工时长
|
|
// 单次加工时长
|
|
- processes.setUnitProduceTime(operationDo.getPlanoncetime().intValue());
|
|
|
|
|
|
+ processes.setUnitProduceTime(operationDo.getOnceprocessmin().intValue());
|
|
processes.setProduceTime(processes.getUnitProduceTime()*processes.getProducePcNum());
|
|
processes.setProduceTime(processes.getUnitProduceTime()*processes.getProducePcNum());
|
|
|
|
|
|
// 上道工序
|
|
// 上道工序
|
|
@@ -282,24 +282,41 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
String eq = processes.getOptionalEquipments().get(0);
|
|
String eq = processes.getOptionalEquipments().get(0);
|
|
AspCheckItemsDo aspCheckItem = aspCheckItemMap.get(eq);
|
|
AspCheckItemsDo aspCheckItem = aspCheckItemMap.get(eq);
|
|
|
|
|
|
- // 合金和合金状态要一致
|
|
|
|
- if(processes.getAluminumCoils().get(0).getVolumeMetal().equals(processOperationM.getMetal())
|
|
|
|
|
|
+ // 工序类型一致,合金和合金状态要一致
|
|
|
|
+ if(processes.getProcessType().equals(processOperationM.getProcess()) && processes.getAluminumCoils().get(0).getVolumeMetal().equals(processOperationM.getMetal())
|
|
&& processes.getAluminumCoils().get(0).getVolumeMetalstate().equals(processOperationM.getMetalstate())){
|
|
&& processes.getAluminumCoils().get(0).getVolumeMetalstate().equals(processOperationM.getMetalstate())){
|
|
// 宽度不超过50mm,厚度不超过0.05mm,重量不超过1吨
|
|
// 宽度不超过50mm,厚度不超过0.05mm,重量不超过1吨
|
|
boolean bol = true;
|
|
boolean bol = true;
|
|
BigDecimal totalWidth = null;
|
|
BigDecimal totalWidth = null;
|
|
BigDecimal totalWeight = null;
|
|
BigDecimal totalWeight = null;
|
|
|
|
+ // 宽度、厚度、重量绝对值差限制
|
|
|
|
+ BigDecimal knum = null;
|
|
|
|
+ BigDecimal hnum = null;
|
|
|
|
+ BigDecimal znum = null;
|
|
|
|
+ if(SaveConstans.ProcessType.PROCESS_TYPE_CHENTUI.equals(processes.getProcessType())){
|
|
|
|
+ knum = new BigDecimal("50");
|
|
|
|
+ hnum = new BigDecimal("0.05");
|
|
|
|
+ znum = new BigDecimal("1");
|
|
|
|
+ } else if (SaveConstans.ProcessType.PROCESS_TYPE_ZHONGTUI.equals(processes.getProcessType())) {
|
|
|
|
+ knum = new BigDecimal("100");
|
|
|
|
+ hnum = new BigDecimal("0.08");
|
|
|
|
+ znum = new BigDecimal("1");
|
|
|
|
+ }
|
|
|
|
+ if(knum == null || hnum == null || znum == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
for (AluminumCoil aluminumCoil : processes.getAluminumCoils()) {
|
|
for (AluminumCoil aluminumCoil : processes.getAluminumCoils()) {
|
|
// 宽度不超过50mm
|
|
// 宽度不超过50mm
|
|
- if(aluminumCoil.getVolumeWidth().subtract(processOperationM.getProwidth()).abs().compareTo(new BigDecimal("50"))>0){
|
|
|
|
|
|
+ if(aluminumCoil.getVolumeWidth().subtract(processOperationM.getProwidth()).abs().compareTo(knum)>0){
|
|
bol = false;
|
|
bol = false;
|
|
}
|
|
}
|
|
// 厚度不超过0.05mm
|
|
// 厚度不超过0.05mm
|
|
- if(aluminumCoil.getVolumeThickness().subtract(processOperationM.getThickness()).abs().compareTo(new BigDecimal("0.05"))>0){
|
|
|
|
|
|
+ if(aluminumCoil.getVolumeThickness().subtract(processOperationM.getThickness()).abs().compareTo(hnum)>0){
|
|
bol = false;
|
|
bol = false;
|
|
}
|
|
}
|
|
// 重量不超过1吨
|
|
// 重量不超过1吨
|
|
- if(aluminumCoil.getVolumeWeight().subtract(processOperationM.getSinglerollweight()).abs().compareTo(new BigDecimal("1"))>0){
|
|
|
|
|
|
+ if(aluminumCoil.getVolumeWeight().subtract(processOperationM.getSinglerollweight()).abs().compareTo(znum)>0){
|
|
bol = false;
|
|
bol = false;
|
|
}
|
|
}
|
|
if(totalWidth == null){
|
|
if(totalWidth == null){
|
|
@@ -349,14 +366,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
}
|
|
}
|
|
// 单次加工时长
|
|
// 单次加工时长
|
|
if(processes.getUnitProduceTime() == null){
|
|
if(processes.getUnitProduceTime() == null){
|
|
- processes.setUnitProduceTime(processOperationM.getPlanoncetime().intValue());
|
|
|
|
- processes.setProduceTime(processOperationM.getPlanoncetime().intValue());
|
|
|
|
|
|
+ processes.setUnitProduceTime(processOperationM.getOnceprocessmin().intValue());
|
|
|
|
+ processes.setProduceTime(processOperationM.getOnceprocessmin().intValue());
|
|
}
|
|
}
|
|
// 加工时长取最大值
|
|
// 加工时长取最大值
|
|
else{
|
|
else{
|
|
- if(processes.getUnitProduceTime()<processOperationM.getPlanoncetime().intValue()){
|
|
|
|
- processes.setUnitProduceTime(processOperationM.getPlanoncetime().intValue());
|
|
|
|
- processes.setProduceTime(processOperationM.getPlanoncetime().intValue());
|
|
|
|
|
|
+ if(processes.getUnitProduceTime()<processOperationM.getOnceprocessmin().intValue()){
|
|
|
|
+ processes.setUnitProduceTime(processOperationM.getOnceprocessmin().intValue());
|
|
|
|
+ processes.setProduceTime(processOperationM.getOnceprocessmin().intValue());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -395,6 +412,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
if(haslast>0){
|
|
if(haslast>0){
|
|
ProductionProcesses processes = new ProductionProcesses();
|
|
ProductionProcesses processes = new ProductionProcesses();
|
|
processes.setId(processOperationM.getId());
|
|
processes.setId(processOperationM.getId());
|
|
|
|
+ processes.setProcessType(processOperationM.getProcess());
|
|
processes.setOptionalEquipments(Arrays.asList(new String[]{aspCheckItem.getId()}));
|
|
processes.setOptionalEquipments(Arrays.asList(new String[]{aspCheckItem.getId()}));
|
|
// 坯料计划订单
|
|
// 坯料计划订单
|
|
ProduceOrder produceOrder = new ProduceOrder(processOperationM.getApsBlankOrderVo().getId(),processOperationM.getApsBlankOrderVo().getMaterialname(),processOperationM.getApsBlankOrderVo().getDeliverydate());
|
|
ProduceOrder produceOrder = new ProduceOrder(processOperationM.getApsBlankOrderVo().getId(),processOperationM.getApsBlankOrderVo().getMaterialname(),processOperationM.getApsBlankOrderVo().getDeliverydate());
|
|
@@ -414,8 +432,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
// 批次
|
|
// 批次
|
|
processes.setProducePcNum(1);
|
|
processes.setProducePcNum(1);
|
|
// 单次加工时长
|
|
// 单次加工时长
|
|
- processes.setUnitProduceTime(processOperationM.getPlanoncetime().intValue());
|
|
|
|
- processes.setProduceTime(processOperationM.getPlanoncetime().intValue());
|
|
|
|
|
|
+ processes.setUnitProduceTime(processOperationM.getOnceprocessmin().intValue());
|
|
|
|
+ processes.setProduceTime(processOperationM.getOnceprocessmin().intValue());
|
|
// 上道工序
|
|
// 上道工序
|
|
if(StringUtils.isNotBlank(processOperationM.getPreviousprocess())){
|
|
if(StringUtils.isNotBlank(processOperationM.getPreviousprocess())){
|
|
processes.setPreviousProcessesIds(Arrays.asList(processOperationM.getPreviousprocess().split(",")));
|
|
processes.setPreviousProcessesIds(Arrays.asList(processOperationM.getPreviousprocess().split(",")));
|