|
|
|
@ -6,15 +6,18 @@ import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import net.xdclass.shopmanager.model.*;
|
|
|
|
|
import net.xdclass.shopmanager.service.SubService;
|
|
|
|
|
import net.xdclass.shopmanager.tool.service.TransactionService;
|
|
|
|
|
import net.xdclass.shopmanager.util.JsonData;
|
|
|
|
|
import org.apache.commons.lang3.math.NumberUtils;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.transaction.TransactionStatus;
|
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.math.RoundingMode;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
@ -35,6 +38,9 @@ public class SubController {
|
|
|
|
|
@Autowired
|
|
|
|
|
private SubService subService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private TransactionService transactionService;
|
|
|
|
|
|
|
|
|
|
private final static Logger logger = LoggerFactory.getLogger(SubController.class);
|
|
|
|
|
|
|
|
|
|
//region ***全局变量过程数据***
|
|
|
|
@ -199,6 +205,17 @@ public class SubController {
|
|
|
|
|
return xx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation("数据处理")
|
|
|
|
|
@PostMapping("SubData1")
|
|
|
|
|
public JsonData SubData1(String strSlab) {
|
|
|
|
|
System.out.println("调用成功");
|
|
|
|
|
JsonData xx = new JsonData();
|
|
|
|
|
xx.setCode(0);
|
|
|
|
|
xx.setData(null);
|
|
|
|
|
xx.setMsg("123");
|
|
|
|
|
return xx;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation("数据处理")
|
|
|
|
|
@PostMapping("SubData")
|
|
|
|
|
public JsonData SubData(String strSlab) {
|
|
|
|
@ -279,10 +296,21 @@ public class SubController {
|
|
|
|
|
|
|
|
|
|
logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size());
|
|
|
|
|
}
|
|
|
|
|
// if (gltGGrpCalRslt.size() > 0) {
|
|
|
|
|
// now = new Date();
|
|
|
|
|
// SetSaveDate(p);
|
|
|
|
|
// }
|
|
|
|
|
if (gltSelGGrpCalRslt.size() > 0) {
|
|
|
|
|
now = new Date();
|
|
|
|
|
SetSaveDate(p);
|
|
|
|
|
//开启事务
|
|
|
|
|
TransactionStatus transactionStatus = transactionService.begin();
|
|
|
|
|
try {
|
|
|
|
|
SaveData();
|
|
|
|
|
// bOffTaskLineService.saveOffTask(bPlanHeadAndLineVos);
|
|
|
|
|
transactionService.commit(transactionStatus);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
logger.error("保存事务回滚:" + p.getSlabNo(), e);
|
|
|
|
|
//回滚事务
|
|
|
|
|
transactionService.rollback(transactionStatus);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
logger.error("板坯报错:" + p.getSlabNo(), e);
|
|
|
|
@ -636,6 +664,7 @@ public class SubController {
|
|
|
|
|
gltGrpOrderFir=new ArrayList<>();
|
|
|
|
|
//订单数据处理
|
|
|
|
|
SetOrderLackData();
|
|
|
|
|
|
|
|
|
|
//订单根据尺寸初次分组
|
|
|
|
|
SetGroupOrderFir();
|
|
|
|
|
|
|
|
|
@ -1307,10 +1336,10 @@ public class SubController {
|
|
|
|
|
|
|
|
|
|
//TODO:箭头函数订单多线程处理数据,升序,降序,重组。
|
|
|
|
|
//使用 Stream.parallel() 来并行执行 for 循环 OrderNo 升序 PdLackQty 降序
|
|
|
|
|
// plistOrder.sorted(Comparator.comparing(PmProContDO::getOrderNo)
|
|
|
|
|
// .thenComparing(Comparator.comparing(PmProContDO::getPdLackQty).reversed()))
|
|
|
|
|
plistOrder.parallelStream().forEach(i -> {
|
|
|
|
|
|
|
|
|
|
plistOrder.parallelStream()
|
|
|
|
|
.sorted(Comparator.comparing(PmProContDO::getOrderNo)
|
|
|
|
|
.thenComparing(Comparator.comparing(PmProContDO::getPdLackQty).reversed()))
|
|
|
|
|
.forEach(i -> {
|
|
|
|
|
PmProContProdAttrDO ppcpa = new PmProContProdAttrDO();
|
|
|
|
|
|
|
|
|
|
PmContMscTechDO pcmt = new PmContMscTechDO();
|
|
|
|
@ -1439,10 +1468,11 @@ public class SubController {
|
|
|
|
|
int intRollMinLen = plistPmPdConstBtDO.stream().filter(p -> p.getRollLineNo().equals("30")).findFirst().orElse(null).getHpmMinPLen().intValue();
|
|
|
|
|
|
|
|
|
|
//初始化分组数据
|
|
|
|
|
gltGGrpCalRslt=new ArrayList<>();
|
|
|
|
|
gltGGrpCalRslt = new CopyOnWriteArrayList<>();
|
|
|
|
|
|
|
|
|
|
//gltGCalGrp.parallelStream().forEach(e->{
|
|
|
|
|
gltGCalGrp.parallelStream().forEach(e -> {
|
|
|
|
|
try {
|
|
|
|
|
//实例化计算结果数组
|
|
|
|
|
GGrpCalRslt GGCR = new GGrpCalRslt();
|
|
|
|
|
//可轧制最大长度
|
|
|
|
@ -1473,8 +1503,10 @@ public class SubController {
|
|
|
|
|
//最大长度
|
|
|
|
|
GGCR.setCal_Len(intMaxLen);
|
|
|
|
|
GGCR.setLtInfoGPreOrder(e.getLtInfoGPreOrder());
|
|
|
|
|
|
|
|
|
|
gltGGrpCalRslt.add(GGCR);
|
|
|
|
|
}catch (Exception ex){
|
|
|
|
|
logger.info("***计算结果异常:" + ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (gltGGrpCalRslt.size() == 0) {
|
|
|
|
@ -1483,6 +1515,7 @@ public class SubController {
|
|
|
|
|
//分组计算
|
|
|
|
|
//gltGGrpCalRslt.parallelStream().forEach(p -> {
|
|
|
|
|
gltGGrpCalRslt.parallelStream().forEach(p -> {
|
|
|
|
|
try {
|
|
|
|
|
// 测试数据
|
|
|
|
|
//处理数据多处理
|
|
|
|
|
List<Integer> ltValues = new ArrayList<>();
|
|
|
|
@ -1699,7 +1732,9 @@ public class SubController {
|
|
|
|
|
|
|
|
|
|
// 设置成材率到 p 对象中
|
|
|
|
|
p.setRate(yieldRate);
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("new1", e);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//判断结果数据是否存在
|
|
|
|
|
if (gltGGrpCalRslt.size() == 0) {
|
|
|
|
@ -1707,7 +1742,7 @@ public class SubController {
|
|
|
|
|
}
|
|
|
|
|
//判断结算结果长度和成材率是否可用
|
|
|
|
|
gltGGrpCalRslt.parallelStream().forEach(p -> {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
//没有成材率
|
|
|
|
|
if (p.getRate() == null) {
|
|
|
|
|
p.setIntUseFlg(0);
|
|
|
|
@ -1772,8 +1807,10 @@ public class SubController {
|
|
|
|
|
|
|
|
|
|
//数据可用
|
|
|
|
|
p.setIntUseFlg(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e){
|
|
|
|
|
log.error("new2", e);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//选择最优结果
|
|
|
|
@ -1794,9 +1831,11 @@ public class SubController {
|
|
|
|
|
|
|
|
|
|
public void ChosBestRsl(SlabInfoDO SInfo) {
|
|
|
|
|
|
|
|
|
|
//gltGGrpCalRslt 的 getIntUseF
|
|
|
|
|
|
|
|
|
|
// 筛选 UseFlg == 1 的数据
|
|
|
|
|
List<GGrpCalRslt> filteredList = gltGGrpCalRslt.stream()
|
|
|
|
|
.filter(g -> g.getIntUseFlg()== 1)
|
|
|
|
|
.filter(g -> Objects.nonNull(g) && Objects.nonNull(g.getIntUseFlg()) && g.getIntUseFlg() == 1)
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
// 找到重量最大成材率最大的数据
|
|
|
|
@ -1818,6 +1857,10 @@ public class SubController {
|
|
|
|
|
pmSubHisDO.setVirtualSlabNo(virtualSlabNo); // 虚拟板坯号
|
|
|
|
|
pmSubHisDO.setRelKey(virtualSlabNo); // 关系号
|
|
|
|
|
|
|
|
|
|
maxWeightMaxYieldRate.get().setSlabNo(SInfo.getSlabNo());
|
|
|
|
|
maxWeightMaxYieldRate.get().setVirtualSlabNo(virtualSlabNo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 手动为每个字段赋值
|
|
|
|
|
pmSubHisDO.setSlabThick(maxRate.getVirtualSlab_Thk()); // 厚度
|
|
|
|
|
pmSubHisDO.setSlabWid(BigDecimal.valueOf(maxRate.getVirtualSlab_Wid())); // 宽度
|
|
|
|
@ -1978,7 +2021,7 @@ public class SubController {
|
|
|
|
|
pmPdSlabDO.setMatDesignKind("S");
|
|
|
|
|
pmPdSlabDO.setPdStatusHp("12");
|
|
|
|
|
pmPdSlabDO.setPdResp("781"); // TODO 组板责任者 未赋值 操作人id
|
|
|
|
|
pmPdSlabDO.setFormPlateMode("FormPlateMode"); //TODO 组板方式 未赋值
|
|
|
|
|
pmPdSlabDO.setFormPlateMode(""); //TODO 组板方式 未赋值
|
|
|
|
|
pmPdSlabDO.setPickModeLenDir(BigDecimal.ZERO); //TODO 取板方式_长度方向 未赋值
|
|
|
|
|
pmPdSlabDO.setPickModeWidDir(BigDecimal.ZERO); //TODO 取板方式_宽度方向 未赋值
|
|
|
|
|
pmPdSlabDO.setFurType("C");// TODO 加热炉类型 暂时赋值为C
|
|
|
|
@ -1998,7 +2041,44 @@ public class SubController {
|
|
|
|
|
pmPdSlabDO.setCutModeCode(resultPmContMscTechDO.get().getCutModeCode());
|
|
|
|
|
|
|
|
|
|
//TODO 缺少质量模块MES合同主档QD_TO_PO_ORDER
|
|
|
|
|
pmPdSlabDO.setUltCode(resultPmContMscTechDO.get().getUltCode());//TODO 遍历组板合同,根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取ERP_UT_SPEC1探伤标准1、ERP_UT_SPEC2超声探伤标2、ERP_UT_SPEC3超声探伤标3,去重后所有数据拼接成一条记录
|
|
|
|
|
// pmPdSlabDO.setUltCode(resultPmContMscTechDO.get().getUltCode());
|
|
|
|
|
//TODO 遍历组板合同,根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取ERP_UT_SPEC1探伤标准1、ERP_UT_SPEC2超声探伤标2、ERP_UT_SPEC3超声探伤标3,去重后所有数据拼接成一条记录
|
|
|
|
|
//遍历 orderNoList 拿每一条orderNo查询plistQdToPoOrderDO 获取ERP_UT_SPEC1,ERP_UT_SPEC2,ERP_UT_SPEC3 ,将获取的每一个探伤标准 去重后拼接成一条记录
|
|
|
|
|
StringBuilder ultDetectMethodCodeBuilder = new StringBuilder();
|
|
|
|
|
String ultCode = "";
|
|
|
|
|
for (String orderNo : orderNoList) {
|
|
|
|
|
Optional<QdToPoOrderDO> resultQdToPoOrderDO = plistQdToPoOrderDO.stream()
|
|
|
|
|
.filter(item -> orderNo.equals(item.getOrderNo()))
|
|
|
|
|
.findFirst();
|
|
|
|
|
String erpUtSpec1 = "";
|
|
|
|
|
String erpUtSpec2 = "";
|
|
|
|
|
String erpUtSpec3 = "";
|
|
|
|
|
if (resultQdToPoOrderDO.isPresent()) {
|
|
|
|
|
erpUtSpec1 = nvl(resultQdToPoOrderDO.get().getErpUtSpec1(),"");
|
|
|
|
|
erpUtSpec2 = nvl(resultQdToPoOrderDO.get().getErpUtSpec2(),"");
|
|
|
|
|
erpUtSpec3 = nvl(resultQdToPoOrderDO.get().getErpUtSpec3(),"");
|
|
|
|
|
if(!erpUtSpec1.isEmpty()){
|
|
|
|
|
if (!ultDetectMethodCodeBuilder.toString().contains(erpUtSpec1)) {
|
|
|
|
|
ultDetectMethodCodeBuilder.append(erpUtSpec1).append("-");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!erpUtSpec2.isEmpty()){
|
|
|
|
|
if (!ultDetectMethodCodeBuilder.toString().contains(erpUtSpec2)) {
|
|
|
|
|
ultDetectMethodCodeBuilder.append(erpUtSpec2).append("-");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!erpUtSpec3.isEmpty()){
|
|
|
|
|
if (!ultDetectMethodCodeBuilder.toString().contains(erpUtSpec3)) {
|
|
|
|
|
ultDetectMethodCodeBuilder.append(erpUtSpec3).append("-");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
ultCode = ultDetectMethodCodeBuilder.toString();
|
|
|
|
|
if (!ultCode.isEmpty()) {
|
|
|
|
|
ultCode = ultCode.substring(0, ultCode.length() - 1);
|
|
|
|
|
}
|
|
|
|
|
pmPdSlabDO.setUltCode(ultCode);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String ultDetectMethodCode = "";
|
|
|
|
|
String coolCode = "";
|
|
|
|
@ -2053,7 +2133,7 @@ public class SubController {
|
|
|
|
|
pmPdSlabDO.setSgSign(SInfo.getSgSign());
|
|
|
|
|
pmPdSlabDO.setStNo(SInfo.getStNo());
|
|
|
|
|
pmPdSlabDO.setOutSgNo(SInfo.getStNo());
|
|
|
|
|
|
|
|
|
|
pmPdSlabDO.setIngotType(SInfo.getSlabType());
|
|
|
|
|
pmPdSlabDO.setPreCleanSlabThick(SInfo.getSlabActThk());
|
|
|
|
|
pmPdSlabDO.setPreCleanSlabWidth(SInfo.getSlabActWid());
|
|
|
|
|
pmPdSlabDO.setPreCleanSlabLen(BigDecimal.valueOf(ggcr.getVirtualSlab_Len()));
|
|
|
|
@ -2082,11 +2162,15 @@ public class SubController {
|
|
|
|
|
|
|
|
|
|
pmPdSlabDO.setHpFlameCleanDiv(resultPmContMscTechDO1.get().getFlameCleanDiv());
|
|
|
|
|
pmPdSlabDO.setSlabFinishCode(resultPmContMscTechDO1.get().getSlabFinishCode());
|
|
|
|
|
|
|
|
|
|
Long slabPdQty = plistPmPdSlabInfoDO.stream()
|
|
|
|
|
.filter(item -> item != null && ggcr != null && ggcr.getSlabNo() != null && ggcr.getSlabNo().equals(item.getSlabNo()))
|
|
|
|
|
.count();
|
|
|
|
|
if(slabPdQty > 0){
|
|
|
|
|
Optional<PmPdSlabInfoDO> resultPmPdSlabInfoDO = plistPmPdSlabInfoDO.stream()
|
|
|
|
|
.filter(item -> ggcr.getSlabNo().equals(item.getSlabNo()))
|
|
|
|
|
.findFirst();
|
|
|
|
|
pmPdSlabDO.setSlabPlaceCode(resultPmPdSlabInfoDO.get().getSlabPlaceCode());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pmPdSlabDO.setRollAimThick(ggcr.getCal_Thk());
|
|
|
|
|
pmPdSlabDO.setRollAimWidth(BigDecimal.valueOf(ggcr.getCal_Wid()));
|
|
|
|
@ -2139,6 +2223,8 @@ public class SubController {
|
|
|
|
|
pmPdSlabDO.setLastUpdatedBy(781L);
|
|
|
|
|
pmPdSlabDO.setCreationDate(now);
|
|
|
|
|
pmPdSlabDO.setLastUpdateDate(now);
|
|
|
|
|
pmPdSlabDO.setLastSlabFlag(BigDecimal.valueOf(1));
|
|
|
|
|
pmPdSlabDO.setTwoRollInterimFlag(1);
|
|
|
|
|
|
|
|
|
|
SetPmCmdSlab(pmPdSlabDO);//命令板坯表
|
|
|
|
|
SetPmCmdLargePlt(pmPdSlabDO, ggcr);//命令大板表
|
|
|
|
@ -2177,12 +2263,14 @@ public class SubController {
|
|
|
|
|
pmPdBlockPosDO.setPdMatNo(ggcr.getVirtualSlabNo());
|
|
|
|
|
pmPdBlockPosDO.setOrderNo(orderNoList.get(j));
|
|
|
|
|
pmPdBlockPosDO.setOrderSeqNo(j + 1);//TODO 订单序号 暂时以实际订单信息列表顺序
|
|
|
|
|
Integer blockPlateNum = ggcr.getLtActInfoGPreOrder().stream() // 当前合同号在实际合同列表中的条数
|
|
|
|
|
List<GPreOrder> resultGPreOrder = ggcr.getLtActInfoGPreOrder().stream()
|
|
|
|
|
.filter(item -> item.getOrderNo().equals(pmPdBlockPosDO.getOrderNo()))
|
|
|
|
|
.collect(Collectors.toList())
|
|
|
|
|
.size();
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
Integer blockPlateNum = resultGPreOrder.size();
|
|
|
|
|
|
|
|
|
|
pmPdBlockPosDO.setBlockPlateNum(blockPlateNum);
|
|
|
|
|
pmPdBlockPosDO.setSlabNo(ggcr.getSlabNo());
|
|
|
|
|
pmPdBlockPosDO.setProContId(resultGPreOrder.get(0).getInfoPmProContDo().getProContId());
|
|
|
|
|
// pmPdBlockPosDO.setOrderBlockNo(); //TODO 厚板组板块号 暂时不知如何赋值
|
|
|
|
|
|
|
|
|
|
pmPdBlockPosDO.setCreatedBy(781L);//TODO 创建人修改人,暂时默认781 BKGY
|
|
|
|
@ -2214,9 +2302,10 @@ public class SubController {
|
|
|
|
|
pmPdContSumDO.setSlabNo(ggcr.getSlabNo());
|
|
|
|
|
pmPdContSumDO.setPdMatType("S");
|
|
|
|
|
pmPdContSumDO.setPdStatus("12");
|
|
|
|
|
pmPdContSumDO.setProContId(gPreOrders.get(0).getInfoPmProContDo().getProContId());
|
|
|
|
|
pmPdContSumDO.setOrderThick(gPreOrders.get(0).getThk());
|
|
|
|
|
pmPdContSumDO.setOrderWidth(BigDecimal.valueOf(gPreOrders.get(0).getWid()));
|
|
|
|
|
pmPdContSumDO.setOrderLen(BigDecimal.valueOf(gPreOrders.get(0).getIntActLen()));
|
|
|
|
|
pmPdContSumDO.setOrderLen(BigDecimal.valueOf(gPreOrders.get(0).getIntActLen())); //20250212
|
|
|
|
|
|
|
|
|
|
pmPdContSumDO.setOrderLenMax(BigDecimal.valueOf(gPreOrders.get(0).getInfoPmProContProdAttrDO().getOrderMaxLen()));
|
|
|
|
|
pmPdContSumDO.setOrderLenMin(BigDecimal.valueOf(gPreOrders.get(0).getInfoPmProContProdAttrDO().getOrderMinLen()));
|
|
|
|
@ -2229,6 +2318,7 @@ public class SubController {
|
|
|
|
|
pmPdContSumDO.setLastUpdatedBy(781L);
|
|
|
|
|
pmPdContSumDO.setCreationDate(now);
|
|
|
|
|
pmPdContSumDO.setLastUpdateDate(now);
|
|
|
|
|
pmPdContSumDO.setAxisFlag(0);//TODO 轴合同标记,暂时默认0
|
|
|
|
|
SetPmCmdCont(pmPdContSumDO, gPreOrders.get(0));//命令参数表
|
|
|
|
|
pmPdContSumDOList.add(pmPdContSumDO);
|
|
|
|
|
}
|
|
|
|
@ -2244,6 +2334,7 @@ public class SubController {
|
|
|
|
|
PmSmallPltPosDO pmSmallPltPosDO = new PmSmallPltPosDO();
|
|
|
|
|
pmSmallPltPosDO.setPdMatNo(ggcr.getVirtualSlabNo());
|
|
|
|
|
pmSmallPltPosDO.setOrderNo(gpo.getOrderNo());
|
|
|
|
|
pmSmallPltPosDO.setProContId(gpo.getInfoPmProContDo().getProContId());
|
|
|
|
|
pmSmallPltPosDO.setOrderSeqNo(j + 1);
|
|
|
|
|
pmSmallPltPosDO.setSlabNo(ggcr.getSlabNo());
|
|
|
|
|
Optional<PmProContProdAttrDO> resultPmProContProdAttrDO = plistPmProContProdAttrDO.stream()
|
|
|
|
@ -2302,12 +2393,17 @@ public class SubController {
|
|
|
|
|
pmCmdSlabDO.setPreCleanSlabWt(pmPdSlabDO.getPreCleanSlabWt());
|
|
|
|
|
pmCmdSlabDO.setPreCleanSlabMaxWt(pmPdSlabDO.getPreCleanSlabMaxWt());
|
|
|
|
|
pmCmdSlabDO.setPreCleanSlabMinWt(pmPdSlabDO.getPreCleanSlabMinWt());
|
|
|
|
|
|
|
|
|
|
Long slabPdQty = plistPmPdSlabInfoDO.stream()
|
|
|
|
|
.filter(item -> item != null && pmPdSlabDO != null && pmPdSlabDO.getSlabNo() != null && pmPdSlabDO.getSlabNo().equals(item.getSlabNo()))
|
|
|
|
|
.count();
|
|
|
|
|
if(slabPdQty>0){
|
|
|
|
|
Optional<PmPdSlabInfoDO> resultPmPdSlabInfoDO = plistPmPdSlabInfoDO.stream()
|
|
|
|
|
.filter(item -> pmPdSlabDO.getSlabNo().equals(item.getSlabNo()))
|
|
|
|
|
.findFirst();
|
|
|
|
|
pmCmdSlabDO.setMoldThick(resultPmPdSlabInfoDO.get().getMatActThick().intValue());
|
|
|
|
|
pmCmdSlabDO.setMoldWid(resultPmPdSlabInfoDO.get().getMatActWidth().intValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pmCmdSlabDO.setInfurSlabThick(pmPdSlabDO.getInfurSlabThick());
|
|
|
|
|
pmCmdSlabDO.setInfurSlabWid(pmPdSlabDO.getInfurSlabWid());
|
|
|
|
@ -2336,6 +2432,7 @@ public class SubController {
|
|
|
|
|
pmCmdSlabDO.setMscLineNo(pmPdSlabDO.getMscLineNo());
|
|
|
|
|
pmCmdSlabDO.setIngotType(pmPdSlabDO.getIngotType());
|
|
|
|
|
pmCmdSlabDO.setIgMatDesignKind(pmPdSlabDO.getIgMatDesignKind());
|
|
|
|
|
pmCmdSlabDO.setOrderNoAxis(pmPdSlabDO.getOrderNoAxis());
|
|
|
|
|
pmCmdSlabDO.setCreatedBy(781L);//TODO 创建人修改人,暂时默认781 BKGY
|
|
|
|
|
pmCmdSlabDO.setLastUpdatedBy(781L);
|
|
|
|
|
pmCmdSlabDO.setCreationDate(now);
|
|
|
|
@ -2514,14 +2611,24 @@ public class SubController {
|
|
|
|
|
pmCmdContDO.setHeadCut(pmPdSlabDOItem.get().getHeadCut().intValue());
|
|
|
|
|
pmCmdContDO.setTailCut(pmPdSlabDOItem.get().getTailCut().intValue());
|
|
|
|
|
pmCmdContDO.setCutModeCode(pmContMscTechDOItem.get().getAdModeCode());
|
|
|
|
|
if(pmContMscTechDOItem.get().getGFlag() != null){
|
|
|
|
|
pmCmdContDO.setGFlag(String.valueOf(pmContMscTechDOItem.get().getGFlag()));
|
|
|
|
|
}
|
|
|
|
|
if(pmContMscTechDOItem.get().getCsFlag() != null){
|
|
|
|
|
pmCmdContDO.setCsFlag(String.valueOf(pmContMscTechDOItem.get().getCsFlag()));
|
|
|
|
|
}
|
|
|
|
|
if(pmContMscTechDOItem.get().getDssFlag() != null){
|
|
|
|
|
pmCmdContDO.setDssFlag(String.valueOf(pmContMscTechDOItem.get().getDssFlag()));
|
|
|
|
|
}
|
|
|
|
|
if(pmContMscTechDOItem.get().getDsFlag() != null){
|
|
|
|
|
pmCmdContDO.setDsFlag(String.valueOf(pmContMscTechDOItem.get().getDsFlag()));
|
|
|
|
|
}
|
|
|
|
|
if(pmContMscTechDOItem.get().getSsFlag() != null){
|
|
|
|
|
pmCmdContDO.setSsFlag(String.valueOf(pmContMscTechDOItem.get().getSsFlag()));
|
|
|
|
|
}
|
|
|
|
|
pmCmdContDO.setHeatTreatMode(pmContMscTechDOItem.get().getHeatTreatMode());
|
|
|
|
|
pmCmdContDO.setUltDetectMethodCode(pmContMscTechDOItem.get().getUltDetectMethodCode());
|
|
|
|
|
pmCmdContDO.setUltCode("");//TODO 遍根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取超声探伤标准1、超声探伤标2、超声探伤标3、超声探伤标4、超声探伤标5,去重后所有数据用‘-’拼接成一条记录
|
|
|
|
|
pmCmdContDO.setUltCode(pmPdSlabDOItem.get().getUltCode());//TODO 遍根据合同号从质量模块MES合同主档QD_TO_PO_ORDER读取超声探伤标准1、超声探伤标2、超声探伤标3、超声探伤标4、超声探伤标5,去重后所有数据用‘-’拼接成一条记录
|
|
|
|
|
pmCmdContDO.setMscLineNo(mscLineNo);
|
|
|
|
|
pmCmdContDO.setCreatedBy(781L);//TODO 创建人修改人,暂时默认781 BKGY
|
|
|
|
|
pmCmdContDO.setLastUpdatedBy(781L);
|
|
|
|
@ -2556,4 +2663,28 @@ public class SubController {
|
|
|
|
|
pmCmdSmallPltDOList.add(pmCmdSmallPltDO);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SaveData() {
|
|
|
|
|
subService.batchInsertPmPdSlab(pmPdSlabDOList);
|
|
|
|
|
System.out.println("PmPdSlab表一保存成功");
|
|
|
|
|
subService.batchInsertPmCmdSlab(pmCmdSlabDOList);
|
|
|
|
|
System.out.println("PmCmdSlab表二保存成功");
|
|
|
|
|
subService.batchInsertPmCmdLargePlt(pmCmdLargePltDOList);
|
|
|
|
|
System.out.println("pmCmdLargePltDO 命令大板 保存成功");
|
|
|
|
|
subService.batchInsertPmPdPlateCut(pmPdPlateCutDOList);
|
|
|
|
|
System.out.println("PmPdPlateCut 大板粗切位置表 保存成功");
|
|
|
|
|
subService.batchInsertPmPdBlockPos(pmPdBlockPosDOList);
|
|
|
|
|
System.out.println("PmPdBlockPos 组合子板位置表 保存成功");
|
|
|
|
|
subService.batchInsertPmPdContSum(pmPdContSumDOList);
|
|
|
|
|
System.out.println("PmPdContSum 合同总量表 保存成功");
|
|
|
|
|
subService.batchInsertPmSmallPltPos(pmSmallPltPosDOList);
|
|
|
|
|
System.out.println("PmSmallPltPos 命令小板位置表 保存成功");
|
|
|
|
|
subService.batchInsertPmCmdSmallPlt(pmCmdSmallPltDOList);
|
|
|
|
|
System.out.println("PmCmdSmallPlt 命令小板表 保存成功");
|
|
|
|
|
subService.batchInsertPmCmdCont(pmCmdContDOList);
|
|
|
|
|
System.out.println("PmCmdCont 命令参数 保存成功");
|
|
|
|
|
|
|
|
|
|
// subService.SaveData(pmPdSlabDOList, pmPdPlateCutDOList, pmPdBlockPosDOList, pmPdContSumDOList, pmSmallPltPosDOList, pmCmdSlabDOList, pmCmdLargePltDOList, pmCmdContDOList, pmCmdSmallPltDOList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|