|
|
@ -916,10 +916,10 @@ public class SubServiceImpl implements SubService {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//产线相同 TODO:同产线,不同产线需更改后续产线规则
|
|
|
|
// //产线相同 TODO:同产线,不同产线需更改后续产线规则
|
|
|
|
if (!SInfo.getMscLineNo().equals(f.getInfoPmContMscTechDO().getMscLineNo())) {
|
|
|
|
// if (!SInfo.getMscLineNo().equals(f.getInfoPmContMscTechDO().getMscLineNo())) {
|
|
|
|
return;
|
|
|
|
// return;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
//不存在或者合格都是成功,不合格返回false
|
|
|
|
//不存在或者合格都是成功,不合格返回false
|
|
|
|
if(plistChmChkRsult.stream().anyMatch(m -> m.getPono().equals(SInfo.getPono()) && m.getOrderNo().equals(f.getOrderNo())))
|
|
|
|
if(plistChmChkRsult.stream().anyMatch(m -> m.getPono().equals(SInfo.getPono()) && m.getOrderNo().equals(f.getOrderNo())))
|
|
|
@ -967,6 +967,39 @@ public class SubServiceImpl implements SubService {
|
|
|
|
//存在订单,添加可计算分组
|
|
|
|
//存在订单,添加可计算分组
|
|
|
|
if (GCG.getLtInfoGPreOrder().size() > 0) {
|
|
|
|
if (GCG.getLtInfoGPreOrder().size() > 0) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//产线
|
|
|
|
|
|
|
|
GCG.setMscLineNo(GCG.getLtInfoGPreOrder().get(0).getLine());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//全程热处理类型
|
|
|
|
|
|
|
|
GCG.setWHOLE_HEAT_TREATMENT_TYPE(GCG.getLtInfoGPreOrder().get(0).getWHOLE_HEAT_TREATMENT_TYPE());
|
|
|
|
|
|
|
|
//切断方式
|
|
|
|
|
|
|
|
GCG.setCUT_MODE_CODE(GCG.getLtInfoGPreOrder().get(0).getCUT_MODE_CODE());
|
|
|
|
|
|
|
|
//缓冷代码
|
|
|
|
|
|
|
|
GCG.setCOOL_CODE(GCG.getLtInfoGPreOrder().get(0).getCOOL_CODE());
|
|
|
|
|
|
|
|
//二次开坯母材合同标记
|
|
|
|
|
|
|
|
GCG.setTWO_ROLL_FLAG(GCG.getLtInfoGPreOrder().get(0).getTWO_ROLL_FLAG() );
|
|
|
|
|
|
|
|
//见证要求 QE_TJ_WITNESS_PRO_ORDER TODO:QE_TJ_WITNESS_PRO_ORDER.WITNESS_PRO_NO 见证要求
|
|
|
|
|
|
|
|
//GGOF.setWITNESS_PRO_NO(p.getWITNESS_PRO_NO());
|
|
|
|
|
|
|
|
// AD控制模式第134位相等
|
|
|
|
|
|
|
|
GCG.setAD_MODE_CODE(GCG.getLtInfoGPreOrder().get(0).getAD_MODE_CODE());
|
|
|
|
|
|
|
|
// 控轧代码第134位相等
|
|
|
|
|
|
|
|
GCG.setCTRL_ROLL_CODE(GCG.getLtInfoGPreOrder().get(0).getCTRL_ROLL_CODE());
|
|
|
|
|
|
|
|
//边部形态
|
|
|
|
|
|
|
|
GCG.setPROD_SIDE_MARK(GCG.getLtInfoGPreOrder().get(0).getPROD_SIDE_MARK());
|
|
|
|
|
|
|
|
//会检方式代码
|
|
|
|
|
|
|
|
GCG.setCHECK_METHOD_CODE(GCG.getLtInfoGPreOrder().get(0).getCHECK_METHOD_CODE());
|
|
|
|
|
|
|
|
//验收机关代码
|
|
|
|
|
|
|
|
GCG.setACCP_AUTH_CODE(GCG.getLtInfoGPreOrder().get(0).getACCP_AUTH_CODE());
|
|
|
|
|
|
|
|
//最终用户代码
|
|
|
|
|
|
|
|
GCG.setFIN_CUST_CODE(GCG.getLtInfoGPreOrder().get(0).getFIN_CUST_CODE());
|
|
|
|
|
|
|
|
//超声探伤代码
|
|
|
|
|
|
|
|
GCG.setULT_CODE(GCG.getLtInfoGPreOrder().get(0).getULT_CODE());
|
|
|
|
|
|
|
|
//四毛交货的合同单独组板
|
|
|
|
|
|
|
|
GCG.setTRIM_CODE(GCG.getLtInfoGPreOrder().get(0).getTRIM_CODE());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//GCG.getLtInfoGPreOrder().stream().filter(e->e.)
|
|
|
|
//GCG.getLtInfoGPreOrder().stream().filter(e->e.)
|
|
|
|
//最大宽度
|
|
|
|
//最大宽度
|
|
|
|
OptionalInt maxWidth = GCG.getLtInfoGPreOrder().stream()
|
|
|
|
OptionalInt maxWidth = GCG.getLtInfoGPreOrder().stream()
|
|
|
@ -1024,7 +1057,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
strThkTolType = "*";
|
|
|
|
strThkTolType = "*";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//存在数据,判断热处理模式
|
|
|
|
//存在数据,判断热处理模式
|
|
|
|
if (plistPmThickAddvBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
if (plistPmThickAddvBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) >= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) >= 0
|
|
|
@ -1048,7 +1081,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
|
|
|
|
|
|
|
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType() != null
|
|
|
|
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType() != null
|
|
|
|
&& GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
|
|
|
|
&& GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("Q")
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("Q")
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
@ -1057,7 +1090,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& p.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) >= 0
|
|
|
|
&& p.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) >= 0
|
|
|
|
).collect(Collectors.toList()).get(0).getThickAddv();
|
|
|
|
).collect(Collectors.toList()).get(0).getThickAddv();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("*")
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("*")
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
@ -1091,7 +1124,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//切边量
|
|
|
|
//切边量
|
|
|
|
String finalStrWithSideFlag = strWithSideFlag;
|
|
|
|
String finalStrWithSideFlag = strWithSideFlag;
|
|
|
|
if (plistPmPlateTrimBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
if (plistPmPlateTrimBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
@ -1104,7 +1137,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
)) {
|
|
|
|
)) {
|
|
|
|
|
|
|
|
|
|
|
|
String finalStrWithSideFlag1 = strWithSideFlag;
|
|
|
|
String finalStrWithSideFlag1 = strWithSideFlag;
|
|
|
|
intTrimWid = plistPmPlateTrimBtDO.stream().filter(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
intTrimWid = plistPmPlateTrimBtDO.stream().filter(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
@ -1157,6 +1190,8 @@ public class SubServiceImpl implements SubService {
|
|
|
|
if (f.getWid()+e.getWid()<4980
|
|
|
|
if (f.getWid()+e.getWid()<4980
|
|
|
|
&& e.getThk().compareTo(f.getThk())==0
|
|
|
|
&& e.getThk().compareTo(f.getThk())==0
|
|
|
|
&& e.getST_NO().equals(f.getST_NO())
|
|
|
|
&& e.getST_NO().equals(f.getST_NO())
|
|
|
|
|
|
|
|
&& e.getMscLineNo().equals(f.getMscLineNo())
|
|
|
|
|
|
|
|
&& ChkCombinationGrpFlag(e,f)
|
|
|
|
&& e.getThickTolMin().compareTo(f.getThickTolMin())==0
|
|
|
|
&& e.getThickTolMin().compareTo(f.getThickTolMin())==0
|
|
|
|
&& e.getThickTolMax().compareTo(f.getThickTolMax())==0
|
|
|
|
&& e.getThickTolMax().compareTo(f.getThickTolMax())==0
|
|
|
|
){
|
|
|
|
){
|
|
|
@ -1348,7 +1383,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
strThkTolType = "*";
|
|
|
|
strThkTolType = "*";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//存在数据,判断热处理模式
|
|
|
|
//存在数据,判断热处理模式
|
|
|
|
if (plistPmThickAddvBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
if (plistPmThickAddvBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) >= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) >= 0
|
|
|
@ -1373,7 +1408,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
|
|
|
|
|
|
|
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()!=null &&
|
|
|
|
if (GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()!=null &&
|
|
|
|
GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
|
|
|
|
GCG.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("Q")
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("Q")
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
@ -1382,7 +1417,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& p.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth + maxAddWidth.orElse(0))) >= 0
|
|
|
|
&& p.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth + maxAddWidth.orElse(0))) >= 0
|
|
|
|
).collect(Collectors.toList()).get(0).getThickAddv();
|
|
|
|
).collect(Collectors.toList()).get(0).getThickAddv();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("*")
|
|
|
|
&& p.getWholeHeatTreatmentType().equals("*")
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(GCG.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
@ -1415,7 +1450,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//切边量
|
|
|
|
//切边量
|
|
|
|
String finalStrWithSideFlag = strWithSideFlag;
|
|
|
|
String finalStrWithSideFlag = strWithSideFlag;
|
|
|
|
if (plistPmPlateTrimBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
if (plistPmPlateTrimBtDO.stream().anyMatch(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
@ -1428,7 +1463,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
)) {
|
|
|
|
)) {
|
|
|
|
|
|
|
|
|
|
|
|
String finalStrWithSideFlag1 = strWithSideFlag;
|
|
|
|
String finalStrWithSideFlag1 = strWithSideFlag;
|
|
|
|
intTrimWid = plistPmPlateTrimBtDO.stream().filter(p -> p.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
intTrimWid = plistPmPlateTrimBtDO.stream().filter(p -> p.getMscLineNo().equals(GCG.getMscLineNo())
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
|
&& p.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(GCG.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
@ -2182,6 +2217,45 @@ public class SubServiceImpl implements SubService {
|
|
|
|
//产线
|
|
|
|
//产线
|
|
|
|
GPO.setLine(pcmt.getMscLineNo());
|
|
|
|
GPO.setLine(pcmt.getMscLineNo());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//全程热处理类型
|
|
|
|
|
|
|
|
GPO.setWHOLE_HEAT_TREATMENT_TYPE(pcmt.getWholeHeatTreatmentType());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//切断方式
|
|
|
|
|
|
|
|
GPO.setCUT_MODE_CODE(pcmt.getCutModeCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//缓冷代码
|
|
|
|
|
|
|
|
GPO.setCOOL_CODE(pcmt.getCoolCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//二次开坯母材合同标记
|
|
|
|
|
|
|
|
GPO.setTWO_ROLL_FLAG(BigDecimal.valueOf(ppcpa.getTwoRollFlag()) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//见证要求 QE_TJ_WITNESS_PRO_ORDER TODO:QE_TJ_WITNESS_PRO_ORDER.WITNESS_PRO_NO 见证要求
|
|
|
|
|
|
|
|
//GPO.setWITNESS_PRO_NO(pcmt.getW);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// AD控制模式第134位相等
|
|
|
|
|
|
|
|
GPO.setAD_MODE_CODE(pcmt.getAdModeCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 控轧代码第134位相等
|
|
|
|
|
|
|
|
GPO.setCTRL_ROLL_CODE(pcmt.getCtrlRollCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//边部形态
|
|
|
|
|
|
|
|
GPO.setPROD_SIDE_MARK(ppcpa.getProdSideMark());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//会检方式代码
|
|
|
|
|
|
|
|
GPO.setCHECK_METHOD_CODE(ppcpa.getCheckMethodCode());
|
|
|
|
|
|
|
|
//验收机关代码
|
|
|
|
|
|
|
|
GPO.setACCP_AUTH_CODE(ppcpa.getAccpAuthCode());
|
|
|
|
|
|
|
|
//最终用户代码
|
|
|
|
|
|
|
|
GPO.setFIN_CUST_CODE(ppcpa.getFinCustCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//超声探伤代码
|
|
|
|
|
|
|
|
GPO.setULT_CODE(pcmt.getUltCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//四毛交货的合同单独组板
|
|
|
|
|
|
|
|
GPO.setTRIM_CODE(ppcpa.getTrimCode());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 将创建的订单对象添加到全局订单列表中
|
|
|
|
// 将创建的订单对象添加到全局订单列表中
|
|
|
|
gltOrder.add(GPO);
|
|
|
|
gltOrder.add(GPO);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2275,16 +2349,18 @@ public class SubServiceImpl implements SubService {
|
|
|
|
gltOrder.forEach(p -> {
|
|
|
|
gltOrder.forEach(p -> {
|
|
|
|
|
|
|
|
|
|
|
|
// 检查当前订单是否与已有的分组匹配
|
|
|
|
// 检查当前订单是否与已有的分组匹配
|
|
|
|
if (gltGrpOrderFir.stream().anyMatch(e -> e.getWid().equals(p.getInfoPmProContProdAttrDO().getOrderWidth()) &&
|
|
|
|
if (gltGrpOrderFir.stream().anyMatch(e -> e.getWid().equals(p.getInfoPmProContProdAttrDO().getOrderWidth())
|
|
|
|
e.getThk().equals(p.getInfoPmProContProdAttrDO().getOrderThick()) &&
|
|
|
|
&& e.getThk().equals(p.getInfoPmProContProdAttrDO().getOrderThick())
|
|
|
|
e.getST_NO().equals(p.getInfoPmContMscTechDO().getStNo()) &&
|
|
|
|
&& e.getST_NO().equals(p.getInfoPmContMscTechDO().getStNo())
|
|
|
|
e.getLine().equals(p.getInfoPmContMscTechDO().getMscLineNo()))) {
|
|
|
|
&& ChkCombinationOrderFlag(e,p)
|
|
|
|
|
|
|
|
&& e.getLine().equals(p.getInfoPmContMscTechDO().getMscLineNo()))) {
|
|
|
|
|
|
|
|
|
|
|
|
// 如果匹配成功,将订单添加到相应的分组中
|
|
|
|
// 如果匹配成功,将订单添加到相应的分组中
|
|
|
|
GGrpOrderFir GGOF = gltGrpOrderFir.stream().filter(e -> e.getWid().equals(p.getInfoPmProContProdAttrDO().getOrderWidth())
|
|
|
|
GGrpOrderFir GGOF = gltGrpOrderFir.stream().filter(e -> e.getWid().equals(p.getInfoPmProContProdAttrDO().getOrderWidth())
|
|
|
|
&& e.getThk().equals(p.getInfoPmProContProdAttrDO().getOrderThick())
|
|
|
|
&& e.getThk().equals(p.getInfoPmProContProdAttrDO().getOrderThick())
|
|
|
|
&& e.getST_NO().equals(p.getInfoPmContMscTechDO().getStNo())&&
|
|
|
|
&& e.getST_NO().equals(p.getInfoPmContMscTechDO().getStNo())
|
|
|
|
e.getLine().equals(p.getInfoPmContMscTechDO().getMscLineNo())
|
|
|
|
&& ChkCombinationOrderFlag(e,p)
|
|
|
|
|
|
|
|
&& e.getLine().equals(p.getInfoPmContMscTechDO().getMscLineNo())
|
|
|
|
).findFirst().orElse(null);
|
|
|
|
).findFirst().orElse(null);
|
|
|
|
if (GGOF.getLtInfoGPreOrder() == null) {
|
|
|
|
if (GGOF.getLtInfoGPreOrder() == null) {
|
|
|
|
GGOF.setLtInfoGPreOrder(new ArrayList<>()); // 确保列表已初始化
|
|
|
|
GGOF.setLtInfoGPreOrder(new ArrayList<>()); // 确保列表已初始化
|
|
|
@ -2302,6 +2378,37 @@ public class SubServiceImpl implements SubService {
|
|
|
|
GGOF.setSG_STD(p.getInfoPmProContProdAttrDO().getSgStd());
|
|
|
|
GGOF.setSG_STD(p.getInfoPmProContProdAttrDO().getSgStd());
|
|
|
|
GGOF.setST_NO(p.getInfoPmContMscTechDO().getStNo());
|
|
|
|
GGOF.setST_NO(p.getInfoPmContMscTechDO().getStNo());
|
|
|
|
GGOF.setLine(p.getInfoPmContMscTechDO().getMscLineNo());
|
|
|
|
GGOF.setLine(p.getInfoPmContMscTechDO().getMscLineNo());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//全程热处理类型
|
|
|
|
|
|
|
|
GGOF.setWHOLE_HEAT_TREATMENT_TYPE(p.getWHOLE_HEAT_TREATMENT_TYPE());
|
|
|
|
|
|
|
|
//切断方式
|
|
|
|
|
|
|
|
GGOF.setCUT_MODE_CODE(p.getCUT_MODE_CODE());
|
|
|
|
|
|
|
|
//缓冷代码
|
|
|
|
|
|
|
|
GGOF.setCOOL_CODE(p.getCOOL_CODE());
|
|
|
|
|
|
|
|
//二次开坯母材合同标记
|
|
|
|
|
|
|
|
GGOF.setTWO_ROLL_FLAG(p.getTWO_ROLL_FLAG() );
|
|
|
|
|
|
|
|
//见证要求 QE_TJ_WITNESS_PRO_ORDER TODO:QE_TJ_WITNESS_PRO_ORDER.WITNESS_PRO_NO 见证要求
|
|
|
|
|
|
|
|
//GGOF.setWITNESS_PRO_NO(p.getWITNESS_PRO_NO());
|
|
|
|
|
|
|
|
// AD控制模式第134位相等
|
|
|
|
|
|
|
|
GGOF.setAD_MODE_CODE(p.getAD_MODE_CODE());
|
|
|
|
|
|
|
|
// 控轧代码第134位相等
|
|
|
|
|
|
|
|
GGOF.setCTRL_ROLL_CODE(p.getCTRL_ROLL_CODE());
|
|
|
|
|
|
|
|
//边部形态
|
|
|
|
|
|
|
|
GGOF.setPROD_SIDE_MARK(p.getPROD_SIDE_MARK());
|
|
|
|
|
|
|
|
//会检方式代码
|
|
|
|
|
|
|
|
GGOF.setCHECK_METHOD_CODE(p.getCHECK_METHOD_CODE());
|
|
|
|
|
|
|
|
//验收机关代码
|
|
|
|
|
|
|
|
GGOF.setACCP_AUTH_CODE(p.getACCP_AUTH_CODE());
|
|
|
|
|
|
|
|
//最终用户代码
|
|
|
|
|
|
|
|
GGOF.setFIN_CUST_CODE(p.getFIN_CUST_CODE());
|
|
|
|
|
|
|
|
//超声探伤代码
|
|
|
|
|
|
|
|
GGOF.setULT_CODE(p.getULT_CODE());
|
|
|
|
|
|
|
|
//四毛交货的合同单独组板
|
|
|
|
|
|
|
|
GGOF.setTRIM_CODE(p.getTRIM_CODE());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GGOF.setLtInfoGPreOrder(new ArrayList<>()); // 初始化列表
|
|
|
|
GGOF.setLtInfoGPreOrder(new ArrayList<>()); // 初始化列表
|
|
|
|
GGOF.getLtInfoGPreOrder().add(p);
|
|
|
|
GGOF.getLtInfoGPreOrder().add(p);
|
|
|
|
gltGrpOrderFir.add(GGOF);
|
|
|
|
gltGrpOrderFir.add(GGOF);
|
|
|
@ -2316,6 +2423,199 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean ChkCombinationOrderFlag(GGrpOrderFir GOF, GPreOrder GPO) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//全程热处理类型
|
|
|
|
|
|
|
|
if (!nvl(GOF.getWHOLE_HEAT_TREATMENT_TYPE(),"").equals(nvl(GPO.getWHOLE_HEAT_TREATMENT_TYPE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//切断方式
|
|
|
|
|
|
|
|
if (!nvl(GOF.getCUT_MODE_CODE(),"").equals(nvl(GPO.getCUT_MODE_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//缓冷代码
|
|
|
|
|
|
|
|
// GGOF.setCOOL_CODE(p.getCOOL_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getCOOL_CODE(),"").equals(nvl(GPO.getCOOL_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//二次开坯母材合同标记
|
|
|
|
|
|
|
|
// GGOF.setTWO_ROLL_FLAG(p.getTWO_ROLL_FLAG() );
|
|
|
|
|
|
|
|
if (!nvl(GOF.getTWO_ROLL_FLAG(),"").equals(nvl(GPO.getTWO_ROLL_FLAG(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//见证要求 QE_TJ_WITNESS_PRO_ORDER TODO:QE_TJ_WITNESS_PRO_ORDER.WITNESS_PRO_NO 见证要求
|
|
|
|
|
|
|
|
//GGOF.setWITNESS_PRO_NO(p.getWITNESS_PRO_NO());
|
|
|
|
|
|
|
|
// AD控制模式第134位相等
|
|
|
|
|
|
|
|
// GGOF.setAD_MODE_CODE(p.getAD_MODE_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getAD_MODE_CODE(),"").equals(nvl(GPO.getAD_MODE_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// AD控制模式第1位、第3位和第4位相等
|
|
|
|
|
|
|
|
if ((nvl(GOF.getAD_MODE_CODE(),"").length() != 0 && nvl(GPO.getAD_MODE_CODE(),"").length() == 0)
|
|
|
|
|
|
|
|
|| (nvl(GOF.getAD_MODE_CODE(),"").length() == 0 && nvl(GPO.getAD_MODE_CODE(),"").length() != 0)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (nvl(GOF.getAD_MODE_CODE(),"").length() < 4 || nvl(GPO.getAD_MODE_CODE(),"").length() < 4 ||
|
|
|
|
|
|
|
|
nvl(GOF.getAD_MODE_CODE(),"").charAt(0) != nvl(GPO.getAD_MODE_CODE(),"").charAt(0) ||
|
|
|
|
|
|
|
|
nvl(GOF.getAD_MODE_CODE(),"").charAt(2) != nvl(GPO.getAD_MODE_CODE(),"").charAt(2) ||
|
|
|
|
|
|
|
|
nvl(GOF.getAD_MODE_CODE(),"").charAt(3) != nvl(GPO.getAD_MODE_CODE(),"").charAt(3)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 控轧代码第134位相等
|
|
|
|
|
|
|
|
// GGOF.setCTRL_ROLL_CODE(p.getCTRL_ROLL_CODE());
|
|
|
|
|
|
|
|
if ((nvl(GOF.getCTRL_ROLL_CODE(),"").length() != 0 && nvl(GPO.getCTRL_ROLL_CODE(),"").length() == 0)
|
|
|
|
|
|
|
|
|| (nvl(GOF.getCTRL_ROLL_CODE(),"").length() == 0 && nvl(GPO.getCTRL_ROLL_CODE(),"").length() != 0)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (nvl(GOF.getCTRL_ROLL_CODE(),"").length() < 4 || nvl(GPO.getCTRL_ROLL_CODE(),"").length() < 4 ||
|
|
|
|
|
|
|
|
nvl(GOF.getCTRL_ROLL_CODE(),"").charAt(0) != nvl(GPO.getCTRL_ROLL_CODE(),"").charAt(0) ||
|
|
|
|
|
|
|
|
nvl(GOF.getCTRL_ROLL_CODE(),"").charAt(2) != nvl(GPO.getCTRL_ROLL_CODE(),"").charAt(2) ||
|
|
|
|
|
|
|
|
nvl(GOF.getCTRL_ROLL_CODE(),"").charAt(3) != nvl(GPO.getCTRL_ROLL_CODE(),"").charAt(3)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//边部形态
|
|
|
|
|
|
|
|
// GGOF.setPROD_SIDE_MARK(p.getPROD_SIDE_MARK());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getPROD_SIDE_MARK(),"").equals(nvl(GPO.getPROD_SIDE_MARK(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//会检方式代码
|
|
|
|
|
|
|
|
// GGOF.setCHECK_METHOD_CODE(p.getCHECK_METHOD_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getCHECK_METHOD_CODE(),"").equals(nvl(GPO.getCHECK_METHOD_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//验收机关代码
|
|
|
|
|
|
|
|
// GGOF.setACCP_AUTH_CODE(p.getACCP_AUTH_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getACCP_AUTH_CODE(),"").equals(nvl(GPO.getACCP_AUTH_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//最终用户代码
|
|
|
|
|
|
|
|
// GGOF.setFIN_CUST_CODE(p.getFIN_CUST_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getFIN_CUST_CODE(),"").equals(nvl(GPO.getFIN_CUST_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//超声探伤代码
|
|
|
|
|
|
|
|
// GGOF.setULT_CODE(p.getULT_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getULT_CODE(),"").equals(nvl(GPO.getULT_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//四毛交货的合同单独组板
|
|
|
|
|
|
|
|
// GGOF.setTRIM_CODE(p.getTRIM_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getTRIM_CODE(),"").equals(nvl(GPO.getTRIM_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Exception ex1) {
|
|
|
|
|
|
|
|
logger.info("错误信息:合同-->" + ex1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean ChkCombinationGrpFlag(GCalGrp GOF, GCalGrp GPO) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//全程热处理类型
|
|
|
|
|
|
|
|
if (!nvl(GOF.getWHOLE_HEAT_TREATMENT_TYPE(),"").equals(nvl(GPO.getWHOLE_HEAT_TREATMENT_TYPE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//切断方式
|
|
|
|
|
|
|
|
if (!nvl(GOF.getCUT_MODE_CODE(),"").equals(nvl(GPO.getCUT_MODE_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//缓冷代码
|
|
|
|
|
|
|
|
// GGOF.setCOOL_CODE(p.getCOOL_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getCOOL_CODE(),"").equals(nvl(GPO.getCOOL_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//二次开坯母材合同标记
|
|
|
|
|
|
|
|
// GGOF.setTWO_ROLL_FLAG(p.getTWO_ROLL_FLAG() );
|
|
|
|
|
|
|
|
if (!nvl(GOF.getTWO_ROLL_FLAG(),"").equals(nvl(GPO.getTWO_ROLL_FLAG(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//见证要求 QE_TJ_WITNESS_PRO_ORDER TODO:QE_TJ_WITNESS_PRO_ORDER.WITNESS_PRO_NO 见证要求
|
|
|
|
|
|
|
|
//GGOF.setWITNESS_PRO_NO(p.getWITNESS_PRO_NO());
|
|
|
|
|
|
|
|
// AD控制模式第134位相等
|
|
|
|
|
|
|
|
// GGOF.setAD_MODE_CODE(p.getAD_MODE_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getAD_MODE_CODE(),"").equals(nvl(GPO.getAD_MODE_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// AD控制模式第1位、第3位和第4位相等
|
|
|
|
|
|
|
|
if ((nvl(GOF.getAD_MODE_CODE(),"").length() != 0 && nvl(GPO.getAD_MODE_CODE(),"").length() == 0)
|
|
|
|
|
|
|
|
|| (nvl(GOF.getAD_MODE_CODE(),"").length() == 0 && nvl(GPO.getAD_MODE_CODE(),"").length() != 0)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (nvl(GOF.getAD_MODE_CODE(),"").length() < 4 || nvl(GPO.getAD_MODE_CODE(),"").length() < 4 ||
|
|
|
|
|
|
|
|
nvl(GOF.getAD_MODE_CODE(),"").charAt(0) != nvl(GPO.getAD_MODE_CODE(),"").charAt(0) ||
|
|
|
|
|
|
|
|
nvl(GOF.getAD_MODE_CODE(),"").charAt(2) != nvl(GPO.getAD_MODE_CODE(),"").charAt(2) ||
|
|
|
|
|
|
|
|
nvl(GOF.getAD_MODE_CODE(),"").charAt(3) != nvl(GPO.getAD_MODE_CODE(),"").charAt(3)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 控轧代码第134位相等
|
|
|
|
|
|
|
|
// GGOF.setCTRL_ROLL_CODE(p.getCTRL_ROLL_CODE());
|
|
|
|
|
|
|
|
if ((nvl(GOF.getCTRL_ROLL_CODE(),"").length() != 0 && nvl(GPO.getCTRL_ROLL_CODE(),"").length() == 0)
|
|
|
|
|
|
|
|
|| (nvl(GOF.getCTRL_ROLL_CODE(),"").length() == 0 && nvl(GPO.getCTRL_ROLL_CODE(),"").length() != 0)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (nvl(GOF.getCTRL_ROLL_CODE(),"").length() < 4 || nvl(GPO.getCTRL_ROLL_CODE(),"").length() < 4 ||
|
|
|
|
|
|
|
|
nvl(GOF.getCTRL_ROLL_CODE(),"").charAt(0) != nvl(GPO.getCTRL_ROLL_CODE(),"").charAt(0) ||
|
|
|
|
|
|
|
|
nvl(GOF.getCTRL_ROLL_CODE(),"").charAt(2) != nvl(GPO.getCTRL_ROLL_CODE(),"").charAt(2) ||
|
|
|
|
|
|
|
|
nvl(GOF.getCTRL_ROLL_CODE(),"").charAt(3) != nvl(GPO.getCTRL_ROLL_CODE(),"").charAt(3)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//边部形态
|
|
|
|
|
|
|
|
// GGOF.setPROD_SIDE_MARK(p.getPROD_SIDE_MARK());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getPROD_SIDE_MARK(),"").equals(nvl(GPO.getPROD_SIDE_MARK(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//会检方式代码
|
|
|
|
|
|
|
|
// GGOF.setCHECK_METHOD_CODE(p.getCHECK_METHOD_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getCHECK_METHOD_CODE(),"").equals(nvl(GPO.getCHECK_METHOD_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//验收机关代码
|
|
|
|
|
|
|
|
// GGOF.setACCP_AUTH_CODE(p.getACCP_AUTH_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getACCP_AUTH_CODE(),"").equals(nvl(GPO.getACCP_AUTH_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//最终用户代码
|
|
|
|
|
|
|
|
// GGOF.setFIN_CUST_CODE(p.getFIN_CUST_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getFIN_CUST_CODE(),"").equals(nvl(GPO.getFIN_CUST_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//超声探伤代码
|
|
|
|
|
|
|
|
// GGOF.setULT_CODE(p.getULT_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getULT_CODE(),"").equals(nvl(GPO.getULT_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//四毛交货的合同单独组板
|
|
|
|
|
|
|
|
// GGOF.setTRIM_CODE(p.getTRIM_CODE());
|
|
|
|
|
|
|
|
if (!nvl(GOF.getTRIM_CODE(),"").equals(nvl(GPO.getTRIM_CODE(),""))) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Exception ex1) {
|
|
|
|
|
|
|
|
logger.info("错误信息:分组-->" + ex1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 设置组计算结果
|
|
|
|
* 设置组计算结果
|
|
|
|
* 根据提供的板坯信息和生产配置,计算出每个组的最大可轧制长度,并筛选出可行的订单组合
|
|
|
|
* 根据提供的板坯信息和生产配置,计算出每个组的最大可轧制长度,并筛选出可行的订单组合
|
|
|
@ -2368,6 +2668,10 @@ public class SubServiceImpl implements SubService {
|
|
|
|
if (intMaxLen < intRollMinLen) {
|
|
|
|
if (intMaxLen < intRollMinLen) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//产线
|
|
|
|
|
|
|
|
GGCR.setMscLineNo(e.getMscLineNo());
|
|
|
|
|
|
|
|
|
|
|
|
//轧制宽度
|
|
|
|
//轧制宽度
|
|
|
|
GGCR.setCal_Wid(intWid);
|
|
|
|
GGCR.setCal_Wid(intWid);
|
|
|
|
//轧制厚度
|
|
|
|
//轧制厚度
|
|
|
@ -2376,7 +2680,9 @@ public class SubServiceImpl implements SubService {
|
|
|
|
GGCR.setThk(e.getLtInfoGPreOrder().get(0).getThk());
|
|
|
|
GGCR.setThk(e.getLtInfoGPreOrder().get(0).getThk());
|
|
|
|
//最大长度
|
|
|
|
//最大长度
|
|
|
|
GGCR.setCal_Len(intMaxLen);
|
|
|
|
GGCR.setCal_Len(intMaxLen);
|
|
|
|
|
|
|
|
|
|
|
|
GGCR.setLtInfoGPreOrder(e.getLtInfoGPreOrder());
|
|
|
|
GGCR.setLtInfoGPreOrder(e.getLtInfoGPreOrder());
|
|
|
|
|
|
|
|
|
|
|
|
gltGGrpCalRslt.add(GGCR);
|
|
|
|
gltGGrpCalRslt.add(GGCR);
|
|
|
|
} catch (Exception ex) {
|
|
|
|
} catch (Exception ex) {
|
|
|
|
logger.info("***计算结果异常:" + ex.getMessage());
|
|
|
|
logger.info("***计算结果异常:" + ex.getMessage());
|
|
|
@ -2408,6 +2714,8 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& Math.max(e.getWid(),f.getWid()) < 4900
|
|
|
|
&& Math.max(e.getWid(),f.getWid()) < 4900
|
|
|
|
&& e.getThk().compareTo(f.getThk()) == 0
|
|
|
|
&& e.getThk().compareTo(f.getThk()) == 0
|
|
|
|
&& e.getST_NO().equals(f.getST_NO())
|
|
|
|
&& e.getST_NO().equals(f.getST_NO())
|
|
|
|
|
|
|
|
&& e.getMscLineNo().equals(f.getMscLineNo())
|
|
|
|
|
|
|
|
&& ChkCombinationGrpFlag(e,f)
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
|
|
|
|
|
|
|
|
//实例化计算结果数组
|
|
|
|
//实例化计算结果数组
|
|
|
@ -2439,6 +2747,10 @@ public class SubServiceImpl implements SubService {
|
|
|
|
if (intMaxLen < intRollMinLen) {
|
|
|
|
if (intMaxLen < intRollMinLen) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//产线
|
|
|
|
|
|
|
|
GGCR.setMscLineNo(e.getMscLineNo());
|
|
|
|
|
|
|
|
|
|
|
|
//轧制宽度
|
|
|
|
//轧制宽度
|
|
|
|
GGCR.setCal_Wid(intWid);
|
|
|
|
GGCR.setCal_Wid(intWid);
|
|
|
|
//轧制厚度
|
|
|
|
//轧制厚度
|
|
|
@ -2538,7 +2850,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
|
|
|
|
|
|
|
//TODO:轧制方向,轧制模式 没有其他值暂不考虑,之后数据完善后需要考虑
|
|
|
|
//TODO:轧制方向,轧制模式 没有其他值暂不考虑,之后数据完善后需要考虑
|
|
|
|
PmPlateCutLenBt PPCLB = plistPmPlateCutLenBtDO.stream().
|
|
|
|
PmPlateCutLenBt PPCLB = plistPmPlateCutLenBtDO.stream().
|
|
|
|
filter(f -> f.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
filter(f -> f.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getRemWid().intValue()) ? "1" : "0")
|
|
|
|
&& f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getRemWid().intValue()) ? "1" : "0")
|
|
|
|
&& f.getPlateThickFrom().compareTo(p.getCal_Thk()) <= 0
|
|
|
|
&& f.getPlateThickFrom().compareTo(p.getCal_Thk()) <= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(p.getCal_Thk()) >= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(p.getCal_Thk()) >= 0
|
|
|
@ -2621,7 +2933,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//存在数据,判断热处理模式
|
|
|
|
//存在数据,判断热处理模式
|
|
|
|
if (plistPmThickAddvBtDO.stream().anyMatch(e -> e.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
if (plistPmThickAddvBtDO.stream().anyMatch(e -> e.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& e.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& e.getTolTypeCode().equals(strThkTolType)
|
|
|
|
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
|
|
|
|
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
|
|
|
|
&& e.getPlateThickFrom().compareTo(p.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
|
&& e.getPlateThickFrom().compareTo(p.getLtInfoGPreOrder().get(0).getThk()) <= 0
|
|
|
@ -2631,7 +2943,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
)) {
|
|
|
|
)) {
|
|
|
|
if (p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()!=null &&
|
|
|
|
if (p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType()!=null &&
|
|
|
|
p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
|
|
|
|
p.getLtInfoGPreOrder().get(0).getInfoPmContMscTechDO().getWholeHeatTreatmentType().contains("Q")) {
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(e -> e.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(e -> e.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& e.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& e.getTolTypeCode().equals(strThkTolType)
|
|
|
|
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
|
|
|
|
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
|
|
|
|
&& e.getWholeHeatTreatmentType().equals("Q")
|
|
|
|
&& e.getWholeHeatTreatmentType().equals("Q")
|
|
|
@ -2641,7 +2953,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& e.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) >= 0
|
|
|
|
&& e.getCombinePlateWidthTo().compareTo(BigDecimal.valueOf(maxWidth.orElse(0) + maxAddWidth.orElse(0))) >= 0
|
|
|
|
).collect(Collectors.toList()).get(0).getThickAddv();
|
|
|
|
).collect(Collectors.toList()).get(0).getThickAddv();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(e -> e.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
decThkAdd = plistPmThickAddvBtDO.stream().filter(e -> e.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& e.getTolTypeCode().equals(strThkTolType)
|
|
|
|
&& e.getTolTypeCode().equals(strThkTolType)
|
|
|
|
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
|
|
|
|
// && e.getTolTypeCode().equals(p.getLtInfoGPreOrder().get(0).getInfoQdToPoOrderDO().getThkTolType())
|
|
|
|
&& e.getWholeHeatTreatmentType().equals("*")
|
|
|
|
&& e.getWholeHeatTreatmentType().equals("*")
|
|
|
@ -2673,7 +2985,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
//切边量
|
|
|
|
//切边量
|
|
|
|
String finalStrWithSideFlag = strWithSideFlag;
|
|
|
|
String finalStrWithSideFlag = strWithSideFlag;
|
|
|
|
//切边量
|
|
|
|
//切边量
|
|
|
|
if (plistPmPlateTrimBtDO.stream().anyMatch(f -> f.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
if (plistPmPlateTrimBtDO.stream().anyMatch(f -> f.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& f.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& f.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& f.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(p.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
|
&& f.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(p.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
@ -2684,7 +2996,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& f.getWidenTo().compareTo(decWidRate) >= 0
|
|
|
|
&& f.getWidenTo().compareTo(decWidRate) >= 0
|
|
|
|
&& f.getWithSideFlag().equals(finalStrWithSideFlag)
|
|
|
|
&& f.getWithSideFlag().equals(finalStrWithSideFlag)
|
|
|
|
)) {
|
|
|
|
)) {
|
|
|
|
intTrimWid = plistPmPlateTrimBtDO.stream().filter(f -> f.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
intTrimWid = plistPmPlateTrimBtDO.stream().filter(f -> f.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& f.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& f.getPlateThickFrom().compareTo(decThk) <= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(decThk) >= 0
|
|
|
|
&& f.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(p.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
|
&& f.getSmallPlateLenFrom().compareTo(BigDecimal.valueOf(p.getLtInfoGPreOrder().get(0).getLen())) <= 0
|
|
|
@ -2716,7 +3028,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
p.setEff_Len(intSumOrderLen + intSumPlateCutWid);
|
|
|
|
p.setEff_Len(intSumOrderLen + intSumPlateCutWid);
|
|
|
|
|
|
|
|
|
|
|
|
PmPlateCutLenBt PPCLB_Act = plistPmPlateCutLenBtDO.stream().
|
|
|
|
PmPlateCutLenBt PPCLB_Act = plistPmPlateCutLenBtDO.stream().
|
|
|
|
filter(f -> f.getMscLineNo().equals(SInfo.getMscLineNo())
|
|
|
|
filter(f -> f.getMscLineNo().equals(p.getMscLineNo())
|
|
|
|
&& f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getRemWid().intValue()) ? "1" : "0")
|
|
|
|
&& f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getRemWid().intValue()) ? "1" : "0")
|
|
|
|
&& f.getPlateThickFrom().compareTo(p.getCal_Thk()) <= 0
|
|
|
|
&& f.getPlateThickFrom().compareTo(p.getCal_Thk()) <= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(p.getCal_Thk()) >= 0
|
|
|
|
&& f.getPlateThickTo().compareTo(p.getCal_Thk()) >= 0
|
|
|
@ -2842,7 +3154,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0
|
|
|
|
&& e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0
|
|
|
|
&& e.getSlabWidthTo().compareTo(BigDecimal.valueOf(minWid)) >= 0
|
|
|
|
&& e.getSlabWidthTo().compareTo(BigDecimal.valueOf(minWid)) >= 0
|
|
|
|
&& e.getFurType().equals("C")
|
|
|
|
&& e.getFurType().equals("C")
|
|
|
|
&& e.getRollLineNo().equals(SInfo.getMscLineNo().substring(SInfo.getMscLineNo().length() - 2))
|
|
|
|
&& e.getRollLineNo().equals(p.getMscLineNo().substring(p.getMscLineNo().length() - 2))
|
|
|
|
&& e.getCcType().equals("1")
|
|
|
|
&& e.getCcType().equals("1")
|
|
|
|
).count() > 0) {
|
|
|
|
).count() > 0) {
|
|
|
|
|
|
|
|
|
|
|
@ -2851,7 +3163,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0
|
|
|
|
&& e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0
|
|
|
|
&& e.getSlabWidthTo().compareTo(BigDecimal.valueOf(minWid)) >= 0
|
|
|
|
&& e.getSlabWidthTo().compareTo(BigDecimal.valueOf(minWid)) >= 0
|
|
|
|
&& e.getFurType().equals("C")
|
|
|
|
&& e.getFurType().equals("C")
|
|
|
|
&& e.getRollLineNo().equals(SInfo.getMscLineNo().substring(SInfo.getMscLineNo().length() - 2))
|
|
|
|
&& e.getRollLineNo().equals(p.getMscLineNo().substring(p.getMscLineNo().length() - 2))
|
|
|
|
&& e.getCcType().equals("1")
|
|
|
|
&& e.getCcType().equals("1")
|
|
|
|
).findFirst().orElse(null).getSlabMinLen().intValue();
|
|
|
|
).findFirst().orElse(null).getSlabMinLen().intValue();
|
|
|
|
|
|
|
|
|
|
|
@ -2860,7 +3172,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
&& e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0
|
|
|
|
&& e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0
|
|
|
|
&& e.getSlabWidthTo().compareTo(BigDecimal.valueOf(minWid)) >= 0
|
|
|
|
&& e.getSlabWidthTo().compareTo(BigDecimal.valueOf(minWid)) >= 0
|
|
|
|
&& e.getFurType().equals("C")
|
|
|
|
&& e.getFurType().equals("C")
|
|
|
|
&& e.getRollLineNo().equals(SInfo.getMscLineNo().substring(SInfo.getMscLineNo().length() - 2))
|
|
|
|
&& e.getRollLineNo().equals(p.getMscLineNo().substring(p.getMscLineNo().length() - 2))
|
|
|
|
&& e.getCcType().equals("1")
|
|
|
|
&& e.getCcType().equals("1")
|
|
|
|
).findFirst().orElse(null).getSlabMaxLen().intValue();
|
|
|
|
).findFirst().orElse(null).getSlabMaxLen().intValue();
|
|
|
|
|
|
|
|
|
|
|
@ -3155,7 +3467,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
SetPmPdSlab(SInfo,organizationId);//组板板坯表 命令板坯表 命令大板表 大板粗切位置表
|
|
|
|
SetPmPdSlab(SInfo,organizationId);//组板板坯表 命令板坯表 命令大板表 大板粗切位置表
|
|
|
|
SetPmPdBlockPos(organizationId);//组合子板位置表
|
|
|
|
SetPmPdBlockPos(organizationId);//组合子板位置表
|
|
|
|
SetPmPdContSum(organizationId);//组板合同总量表 命令参数表
|
|
|
|
SetPmPdContSum(organizationId);//组板合同总量表 命令参数表
|
|
|
|
SetPmSmallPltPos(SInfo.getMscLineNo(),organizationId);//组板小板位置表 命令小板表
|
|
|
|
SetPmSmallPltPos(organizationId);//组板小板位置表 命令小板表
|
|
|
|
// SetPmCmdSlab();//命令板坯表
|
|
|
|
// SetPmCmdSlab();//命令板坯表
|
|
|
|
// SetPmCmdLargePlt();//命令大板表
|
|
|
|
// SetPmCmdLargePlt();//命令大板表
|
|
|
|
// SetPmCmdCont();//命令参数表
|
|
|
|
// SetPmCmdCont();//命令参数表
|
|
|
@ -3508,7 +3820,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
pmPdSlabDO.setOrderNoAxis(axleGPreOrder.getOrderNo());//TODO 轴合同号 暂时取第一个订单号
|
|
|
|
pmPdSlabDO.setOrderNoAxis(axleGPreOrder.getOrderNo());//TODO 轴合同号 暂时取第一个订单号
|
|
|
|
pmPdSlabDO.setMscLineNo(SInfo.getMscLineNo()); //TODO 产线号,暂时默认板坯产线号
|
|
|
|
pmPdSlabDO.setMscLineNo(ggcr.getMscLineNo()); //TODO 产线号,暂时默认板坯产线号
|
|
|
|
|
|
|
|
|
|
|
|
pmPdSlabDO.setTransFlag(BigDecimal.valueOf(0));
|
|
|
|
pmPdSlabDO.setTransFlag(BigDecimal.valueOf(0));
|
|
|
|
|
|
|
|
|
|
|
@ -3527,9 +3839,9 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
|
|
|
|
|
|
|
SetPmCmdSlab(pmPdSlabDO,resultPmProContProdAttrDO.get(),organizationId);//命令板坯表
|
|
|
|
SetPmCmdSlab(pmPdSlabDO,resultPmProContProdAttrDO.get(),organizationId);//命令板坯表
|
|
|
|
SetPmCmdLargePlt(pmPdSlabDO, ggcr,resultPmContMscTechDO1.get(),resultPmProContProdAttrDO.get(),organizationId);//命令大板表
|
|
|
|
SetPmCmdLargePlt(pmPdSlabDO, ggcr,resultPmContMscTechDO1.get(),resultPmProContProdAttrDO.get(),organizationId);//命令大板表
|
|
|
|
SetPmPdPlateCut(organizationId,formplateMode,SInfo.getMscLineNo().substring(SInfo.getMscLineNo().length()-2));//大板粗切位置表
|
|
|
|
SetPmPdPlateCut(organizationId,formplateMode,ggcr.getMscLineNo().substring(ggcr.getMscLineNo().length()-2));//大板粗切位置表
|
|
|
|
|
|
|
|
|
|
|
|
SetPmPdRecDTO(orderNoList,organizationId,SInfo.getMscLineNo(),ggcr.getVirtualSlabNo());//组板履历表
|
|
|
|
SetPmPdRecDTO(orderNoList,organizationId,ggcr.getMscLineNo(),ggcr.getVirtualSlabNo());//组板履历表
|
|
|
|
|
|
|
|
|
|
|
|
pmPdSlabDOList.add(pmPdSlabDO);
|
|
|
|
pmPdSlabDOList.add(pmPdSlabDO);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -3746,7 +4058,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//组板小板位置表
|
|
|
|
//组板小板位置表
|
|
|
|
public void SetPmSmallPltPos(String mscLineNo, Long organizationId) {
|
|
|
|
public void SetPmSmallPltPos( Long organizationId) {
|
|
|
|
for (int i = 0; i < gltSelGGrpCalRslt.size(); i++) {
|
|
|
|
for (int i = 0; i < gltSelGGrpCalRslt.size(); i++) {
|
|
|
|
GGrpCalRslt ggcr = gltSelGGrpCalRslt.get(i);
|
|
|
|
GGrpCalRslt ggcr = gltSelGGrpCalRslt.get(i);
|
|
|
|
Integer smallPlateNum = 0;
|
|
|
|
Integer smallPlateNum = 0;
|
|
|
@ -3789,7 +4101,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
pmSmallPltPosDO.setTenantId(organizationId);
|
|
|
|
pmSmallPltPosDO.setTenantId(organizationId);
|
|
|
|
// pmSmallPltPosDO.setObjectVersionNumber(1L);
|
|
|
|
// pmSmallPltPosDO.setObjectVersionNumber(1L);
|
|
|
|
|
|
|
|
|
|
|
|
SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),mscLineNo,organizationId);
|
|
|
|
SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),ggcr.getMscLineNo(),organizationId);
|
|
|
|
pmSmallPltPosDOList.add(pmSmallPltPosDO);
|
|
|
|
pmSmallPltPosDOList.add(pmSmallPltPosDO);
|
|
|
|
smallPlateNum += 1;
|
|
|
|
smallPlateNum += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -3831,7 +4143,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
pmSmallPltPosDO.setTenantId(organizationId);
|
|
|
|
pmSmallPltPosDO.setTenantId(organizationId);
|
|
|
|
// pmSmallPltPosDO.setObjectVersionNumber(1L);
|
|
|
|
// pmSmallPltPosDO.setObjectVersionNumber(1L);
|
|
|
|
|
|
|
|
|
|
|
|
SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),mscLineNo,organizationId);
|
|
|
|
SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),ggcr.getMscLineNo(),organizationId);
|
|
|
|
pmSmallPltPosDOList.add(pmSmallPltPosDO);
|
|
|
|
pmSmallPltPosDOList.add(pmSmallPltPosDO);
|
|
|
|
smallPlateNum += 1;
|
|
|
|
smallPlateNum += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -4561,46 +4873,46 @@ public class SubServiceImpl implements SubService {
|
|
|
|
public String SaveData(SlabInfoDO p, List<PmPdSlab> pmPdSlabDOList, List<PmPdPlateCut> pmPdPlateCutDOList, List<PmPdBlockPos> pmPdBlockPosDOList, List<PmPdContSum> pmPdContSumDOList, List<PmSmallPltPos> pmSmallPltPosDOList, List<PmCmdSlab> pmCmdSlabDOList, List<PmCmdLargePlt> pmCmdLargePltDOList, List<PmCmdCont> pmCmdContDOList, List<PmCmdSmallPlt> pmCmdSmallPltDOList, List<PmSubHis> plistpmSubHisDO, List<PmSubOrd> plistpmSubOrdDO, List<PmPdRecDTO> pmPdRecDTOList, Long organizationId) {
|
|
|
|
public String SaveData(SlabInfoDO p, List<PmPdSlab> pmPdSlabDOList, List<PmPdPlateCut> pmPdPlateCutDOList, List<PmPdBlockPos> pmPdBlockPosDOList, List<PmPdContSum> pmPdContSumDOList, List<PmSmallPltPos> pmSmallPltPosDOList, List<PmCmdSlab> pmCmdSlabDOList, List<PmCmdLargePlt> pmCmdLargePltDOList, List<PmCmdCont> pmCmdContDOList, List<PmCmdSmallPlt> pmCmdSmallPltDOList, List<PmSubHis> plistpmSubHisDO, List<PmSubOrd> plistpmSubOrdDO, List<PmPdRecDTO> pmPdRecDTOList, Long organizationId) {
|
|
|
|
|
|
|
|
|
|
|
|
String strSubLog = "";
|
|
|
|
String strSubLog = "";
|
|
|
|
//抛合同事件
|
|
|
|
// //抛合同事件
|
|
|
|
String bizId = pmPdRecDTOList.get(0).getKeyvalue1();
|
|
|
|
// String bizId = pmPdRecDTOList.get(0).getKeyvalue1();
|
|
|
|
String key = String.format(PmPlateConstants.YIELD_EXEC_LOCK_KEY, organizationId.toString(), bizId);
|
|
|
|
// String key = String.format(PmPlateConstants.YIELD_EXEC_LOCK_KEY, organizationId.toString(), bizId);
|
|
|
|
if (redisHelper.hasKey(key)) {
|
|
|
|
// if (redisHelper.hasKey(key)) {
|
|
|
|
throw new CommonException("pm.pm_pro_cont_043", bizId);
|
|
|
|
// throw new CommonException("pm.pm_pro_cont_043", bizId);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
PdMatTypeStrategy pdMatTypeStrategy = PdMatTypeStrategyFactory.matchStrategy("S");
|
|
|
|
// PdMatTypeStrategy pdMatTypeStrategy = PdMatTypeStrategyFactory.matchStrategy("S");
|
|
|
|
try {
|
|
|
|
// try {
|
|
|
|
// 抛合同组板事件
|
|
|
|
// // 抛合同组板事件
|
|
|
|
pmPdRecService.createEvent(organizationId, pmPdRecDTOList
|
|
|
|
// pmPdRecService.createEvent(organizationId, pmPdRecDTOList
|
|
|
|
, PdEventType.HP04, Constants.SYSTEM_PD_CODE, pdMatTypeStrategy.pdProgram());
|
|
|
|
// , PdEventType.HP04, Constants.SYSTEM_PD_CODE, pdMatTypeStrategy.pdProgram());
|
|
|
|
redisHelper.strSet(key, "1", 30L, TimeUnit.SECONDS);
|
|
|
|
// redisHelper.strSet(key, "1", 30L, TimeUnit.SECONDS);
|
|
|
|
// 抛组板履历事件
|
|
|
|
// // 抛组板履历事件
|
|
|
|
List<PmPdRecDTO> pmPdRecs = new ArrayList<>();
|
|
|
|
// List<PmPdRecDTO> pmPdRecs = new ArrayList<>();
|
|
|
|
CustomUserDetails userDetails = DetailsHelper.getUserDetails();
|
|
|
|
// CustomUserDetails userDetails = DetailsHelper.getUserDetails();
|
|
|
|
for (PmPdContSum contSum : pmPdContSumDOList) {
|
|
|
|
// for (PmPdContSum contSum : pmPdContSumDOList) {
|
|
|
|
PmPdRecDTO pmPdRecDTO = new PmPdRecDTO();
|
|
|
|
// PmPdRecDTO pmPdRecDTO = new PmPdRecDTO();
|
|
|
|
pmPdRecDTO.setOrderNo(contSum.getOrderNo());
|
|
|
|
// pmPdRecDTO.setOrderNo(contSum.getOrderNo());
|
|
|
|
pmPdRecDTO.setEventMaker(userDetails == null ? "" : userDetails.getUserId().toString());
|
|
|
|
// pmPdRecDTO.setEventMaker(userDetails == null ? "" : userDetails.getUserId().toString());
|
|
|
|
pmPdRecDTO.setMscLineNo(pmPdRecDTOList.get(0).getMscLineNo());
|
|
|
|
// pmPdRecDTO.setMscLineNo(pmPdRecDTOList.get(0).getMscLineNo());
|
|
|
|
pmPdRecDTO.setKeyvalue1(bizId);
|
|
|
|
// pmPdRecDTO.setKeyvalue1(bizId);
|
|
|
|
pmPdRecDTO.setKeyvalue1Desc(PmPdRecDTO.DESC_VIRTUAL_SLAB_NO);
|
|
|
|
// pmPdRecDTO.setKeyvalue1Desc(PmPdRecDTO.DESC_VIRTUAL_SLAB_NO);
|
|
|
|
pmPdRecDTO.setMatNo(bizId);
|
|
|
|
// pmPdRecDTO.setMatNo(bizId);
|
|
|
|
pmPdRecDTO.setQty(contSum.getOrderPlateNum());
|
|
|
|
// pmPdRecDTO.setQty(contSum.getOrderPlateNum());
|
|
|
|
pmPdRecs.add(pmPdRecDTO);
|
|
|
|
// pmPdRecs.add(pmPdRecDTO);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
pmPdRecService.createEvent(organizationId, pmPdRecs, PdEventType.HP10,
|
|
|
|
// pmPdRecService.createEvent(organizationId, pmPdRecs, PdEventType.HP10,
|
|
|
|
Constants.SYSTEM_PD_CODE, "余材板坯组板");
|
|
|
|
// Constants.SYSTEM_PD_CODE, "余材板坯组板");
|
|
|
|
System.out.println("抛合同组板事件 执行成功");
|
|
|
|
// System.out.println("抛合同组板事件 执行成功");
|
|
|
|
strSubLog = "-----抛合同组板事件 执行成功";
|
|
|
|
// strSubLog = "-----抛合同组板事件 执行成功";
|
|
|
|
// 抛合同
|
|
|
|
// // 抛合同
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
} finally {
|
|
|
|
// } finally {
|
|
|
|
// 抛合同组板释放事件
|
|
|
|
// // 抛合同组板释放事件
|
|
|
|
pmPdRecService.createEvent(organizationId, pmPdRecDTOList
|
|
|
|
// pmPdRecService.createEvent(organizationId, pmPdRecDTOList
|
|
|
|
, PdEventType.HP05, Constants.SYSTEM_PD_CODE, pdMatTypeStrategy.pdProgram());
|
|
|
|
// , PdEventType.HP05, Constants.SYSTEM_PD_CODE, pdMatTypeStrategy.pdProgram());
|
|
|
|
redisHelper.delKey(key);
|
|
|
|
// redisHelper.delKey(key);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (plistpmSubHisDO.size() > 0) {
|
|
|
|
if (plistpmSubHisDO.size() > 0) {
|
|
|
@ -4613,75 +4925,75 @@ public class SubServiceImpl implements SubService {
|
|
|
|
System.out.println("pmSubOrd表 保存成功");
|
|
|
|
System.out.println("pmSubOrd表 保存成功");
|
|
|
|
strSubLog += "-----pmSubOrd表 保存成功";
|
|
|
|
strSubLog += "-----pmSubOrd表 保存成功";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
////
|
|
|
|
|
|
|
|
if (pmPdSlabDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmPdSlabRepository.batchInsertSelective(pmPdSlabDOList);
|
|
|
|
|
|
|
|
System.out.println("PmPdSlab表 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmPdSlab表 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmPdPlateCutDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmPdPlateCutRepository.batchInsertSelective(pmPdPlateCutDOList);
|
|
|
|
|
|
|
|
System.out.println("PmPdPlateCut 大板粗切位置 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmPdPlateCut 大板粗切位置 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmPdBlockPosDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmPdBlockPosRepository.batchInsertSelective(pmPdBlockPosDOList);
|
|
|
|
|
|
|
|
System.out.println("PmPdBlockPos 组合子板位置表 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmPdBlockPos 组合子板位置表 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmPdContSumDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmPdContSumRepository.batchInsertSelective(pmPdContSumDOList);
|
|
|
|
|
|
|
|
System.out.println("PmPdContSum 合同总量表 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmPdContSum 合同总量表 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmSmallPltPosDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmSmallPltPosRepository.batchInsertSelective(pmSmallPltPosDOList);
|
|
|
|
|
|
|
|
System.out.println("PmSmallPltPos 命令小板位置表 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmSmallPltPos 命令小板位置表 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmCmdSlabDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmCmdSlabRepository.batchInsertSelective(pmCmdSlabDOList);
|
|
|
|
|
|
|
|
System.out.println("PmCmdSlab 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmCmdSlab 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmCmdLargePltDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmCmdLargePltRepository.batchInsertSelective(pmCmdLargePltDOList);
|
|
|
|
|
|
|
|
System.out.println("pmCmdLargePltDO 命令大板 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----pmCmdLargePltDO 命令大板 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmCmdContDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmCmdContRepository.batchInsertSelective(pmCmdContDOList);
|
|
|
|
|
|
|
|
System.out.println("PmCmdCont 命令参数 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmCmdCont 命令参数 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pmCmdSmallPltDOList.size() > 0) {
|
|
|
|
|
|
|
|
pmCmdSmallPltRepository.batchInsertSelective(pmCmdSmallPltDOList);
|
|
|
|
|
|
|
|
System.out.println("PmCmdSmallPlt 命令小板表 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----PmCmdSmallPlt 命令小板表 保存成功";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 调用mm接口
|
|
|
|
|
|
|
|
// 查询MM_SLAB 信息获取板坯信息
|
|
|
|
|
|
|
|
PmPdSlabSplitDTO pmPdSlabSplitDTO = pmPdSlabRepository.selectMmSlabBySlabId(p.getSlabId(), p.getTenantId());
|
|
|
|
|
|
|
|
// 查询板坯信息表。第一次查询可能无值
|
|
|
|
|
|
|
|
PmPdSlabInfo pmPdSlabInfo = pmPdSlabInfoRepository.selectBySlabNo(p.getSlabNo(), p.getTenantId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pmPdSlabInfo = buildPmPdSlabInfo(pmPdSlabSplitDTO, p.getSlabNo(), p.getMscLineNo(), p.getTenantId());
|
|
|
|
|
|
|
|
pmPdSlabInfoRepository.insertSelective(pmPdSlabInfo);
|
|
|
|
|
|
|
|
System.out.println("pmPdSlabInfo表 保存成功");
|
|
|
|
|
|
|
|
strSubLog += "-----pmPdSlabInfo表 保存成功";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 轧钢模块“在制品材料管理封锁事件接口"
|
|
|
|
|
|
|
|
callMatStatusModify(pmPdSlabInfo);
|
|
|
|
|
|
|
|
System.out.println("mm模块接口 调用成功");
|
|
|
|
|
|
|
|
strSubLog += "-----mm模块接口 调用成功";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//抛合同
|
|
|
|
// if (pmPdSlabDOList.size() > 0) {
|
|
|
|
zbCtEventRec(organizationId, pmPdSlabDOList, pmCmdLargePltDOList, pmCmdSlabDOList, pmSmallPltPosDOList);
|
|
|
|
// pmPdSlabRepository.batchInsertSelective(pmPdSlabDOList);
|
|
|
|
System.out.println("抛合同事件完成");
|
|
|
|
// System.out.println("PmPdSlab表 保存成功");
|
|
|
|
System.out.println("程序执行完成!");
|
|
|
|
// strSubLog += "-----PmPdSlab表 保存成功";
|
|
|
|
strSubLog += "-----抛合同事件完成 -----程序执行完成!";
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmPdPlateCutDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmPdPlateCutRepository.batchInsertSelective(pmPdPlateCutDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmPdPlateCut 大板粗切位置 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmPdPlateCut 大板粗切位置 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmPdBlockPosDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmPdBlockPosRepository.batchInsertSelective(pmPdBlockPosDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmPdBlockPos 组合子板位置表 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmPdBlockPos 组合子板位置表 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmPdContSumDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmPdContSumRepository.batchInsertSelective(pmPdContSumDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmPdContSum 合同总量表 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmPdContSum 合同总量表 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmSmallPltPosDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmSmallPltPosRepository.batchInsertSelective(pmSmallPltPosDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmSmallPltPos 命令小板位置表 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmSmallPltPos 命令小板位置表 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmCmdSlabDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmCmdSlabRepository.batchInsertSelective(pmCmdSlabDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmCmdSlab 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmCmdSlab 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmCmdLargePltDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmCmdLargePltRepository.batchInsertSelective(pmCmdLargePltDOList);
|
|
|
|
|
|
|
|
// System.out.println("pmCmdLargePltDO 命令大板 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----pmCmdLargePltDO 命令大板 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmCmdContDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmCmdContRepository.batchInsertSelective(pmCmdContDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmCmdCont 命令参数 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmCmdCont 命令参数 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (pmCmdSmallPltDOList.size() > 0) {
|
|
|
|
|
|
|
|
// pmCmdSmallPltRepository.batchInsertSelective(pmCmdSmallPltDOList);
|
|
|
|
|
|
|
|
// System.out.println("PmCmdSmallPlt 命令小板表 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----PmCmdSmallPlt 命令小板表 保存成功";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// // 调用mm接口
|
|
|
|
|
|
|
|
// // 查询MM_SLAB 信息获取板坯信息
|
|
|
|
|
|
|
|
// PmPdSlabSplitDTO pmPdSlabSplitDTO = pmPdSlabRepository.selectMmSlabBySlabId(p.getSlabId(), p.getTenantId());
|
|
|
|
|
|
|
|
// // 查询板坯信息表。第一次查询可能无值
|
|
|
|
|
|
|
|
// PmPdSlabInfo pmPdSlabInfo = pmPdSlabInfoRepository.selectBySlabNo(p.getSlabNo(), p.getTenantId());
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// pmPdSlabInfo = buildPmPdSlabInfo(pmPdSlabSplitDTO, p.getSlabNo(), p.getMscLineNo(), p.getTenantId());
|
|
|
|
|
|
|
|
// pmPdSlabInfoRepository.insertSelective(pmPdSlabInfo);
|
|
|
|
|
|
|
|
// System.out.println("pmPdSlabInfo表 保存成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----pmPdSlabInfo表 保存成功";
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// // 轧钢模块“在制品材料管理封锁事件接口"
|
|
|
|
|
|
|
|
// callMatStatusModify(pmPdSlabInfo);
|
|
|
|
|
|
|
|
// System.out.println("mm模块接口 调用成功");
|
|
|
|
|
|
|
|
// strSubLog += "-----mm模块接口 调用成功";
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// //抛合同
|
|
|
|
|
|
|
|
// zbCtEventRec(organizationId, pmPdSlabDOList, pmCmdLargePltDOList, pmCmdSlabDOList, pmSmallPltPosDOList);
|
|
|
|
|
|
|
|
// System.out.println("抛合同事件完成");
|
|
|
|
|
|
|
|
// System.out.println("程序执行完成!");
|
|
|
|
|
|
|
|
// strSubLog += "-----抛合同事件完成 -----程序执行完成!";
|
|
|
|
|
|
|
|
|
|
|
|
return strSubLog;
|
|
|
|
return strSubLog;
|
|
|
|
//
|
|
|
|
//
|
|
|
|