2025-02-17

main
sunhao 7 days ago
parent 7e353dd8a9
commit 86b61dad99

@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
@ -166,6 +167,9 @@ public class SubController {
//自动替代日志 //自动替代日志
private static List<PmSubLogDO> plistpmSubLogDO=new ArrayList<>(); private static List<PmSubLogDO> plistpmSubLogDO=new ArrayList<>();
//记录已被使用的订单号
private static List<GPreOrder> plistOrdHis=new ArrayList<>();
//endregion //endregion
@ApiOperation("求解处理") @ApiOperation("求解处理")
@ -207,10 +211,44 @@ public class SubController {
logger.info("***初次分组数量*** " + gltGrpOrderFir.size()); logger.info("***初次分组数量*** " + gltGrpOrderFir.size());
//被使用的订单数据实例化
plistOrdHis=new ArrayList<>();
//循环板坯 //循环板坯
plistSlab.forEach(p -> { plistSlab.forEach(p -> {
logger.info("*************板坯开始{}************* ", p.getSlabNo()); logger.info("*************板坯开始{}************* ", p.getSlabNo());
logger.info("***板坯信息:{} 厚宽长:{}*{}*{} ",p.getSlabNo(), p.getSlabActThk(),p.getSlabActWid(),p.getSlabActLen()); logger.info("***板坯信息:{} 厚宽长:{}*{}*{} ", p.getSlabNo(), p.getSlabActThk(), p.getSlabActWid(), p.getSlabActLen());
// 判断板坯的长度是否在plistpmAutoSubSettingDO配置的范围内
if (p.getSlabActLen().compareTo(plistpmAutoSubSettingDO.get(0).getMatLenMin()) < 0 && p.getSlabActLen().compareTo(plistpmAutoSubSettingDO.get(0).getMatLenMax()) > 0) {
logger.info("***板坯信息被排除:{} 长度不在范围内 ", p.getSlabNo() );
return;
}
// 判断板坯的宽度是否在plistpmAutoSubSettingDO配置的范围内
if (p.getSlabActWid().compareTo(plistpmAutoSubSettingDO.get(0).getMatWidthMin()) < 0 && p.getSlabActWid().compareTo(plistpmAutoSubSettingDO.get(0).getMatWidthMax()) > 0) {
logger.info("***板坯信息被排除:{} 宽度不在范围内 ", p.getSlabNo() );
return;
}
// 判断板坯的厚度是否在plistpmAutoSubSettingDO配置的范围内
if (p.getSlabActThk().compareTo(plistpmAutoSubSettingDO.get(0).getMatThickMin()) < 0 && p.getSlabActThk().compareTo(plistpmAutoSubSettingDO.get(0).getMatThickMax()) > 0) {
logger.info("***板坯信息被排除:{} 厚度不在范围内 ", p.getSlabNo() );
return;
}
//判断plistpmIrsubableSlabDO是否包含P.SlabNO范围内
if (plistpmIrsubableSlabDO.stream().anyMatch(x -> x.getSlabNo().equals(p.getSlabNo()))) {
logger.info("***板坯信息被排除:{} 不可组板 ", p.getSlabNo() );
return;
}
//判断plistpmRetainStDO是否包含P的钢种判断这个板坯的钢种是否可组板
if (plistpmRetainStDO.stream().anyMatch(x -> x.getStNo().equals(p.getStNo()))) {
logger.info("***板坯信息被排除:{} 不可组板 ", p.getSlabNo() );
return;
}
try { try {
gltGCalGrp = new ArrayList<>(); gltGCalGrp = new ArrayList<>();
//二次分组 //二次分组
@ -235,14 +273,9 @@ public class SubController {
gltSelGGrpCalRslt = new ArrayList<>(); gltSelGGrpCalRslt = new ArrayList<>();
SetGroupCalRslt(p); SetGroupCalRslt(p);
//存储数据,组板结果
plistpmSubHisDO.forEach(e->{
subService.InsertPmSubHisDO(e);
});
plistpmSubOrdDO.forEach(e->{ //存储数据,组板结果
subService.InsertPmSubOrdDO(e); SaveHisData(p);
});
logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size()); logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size());
} }
@ -264,6 +297,34 @@ public class SubController {
return JsonData.buildSuccess(); return JsonData.buildSuccess();
} }
public void SaveHisData(SlabInfoDO SInfo) {
//存储数据,组板结果
plistpmSubHisDO.forEach(e -> {
//TODO:未获取轧制命令最大序号
int intSeq = 1;//Integer.parseInt(subService.GetMaxSeq().substring(subService.GetMaxSeq().length() - 4));
String virtualSlabNo = generateVirtualSlabNoSave(e.getVirtualSlabNo(), intSeq);
String strGuid = e.getVirtualSlabNo();
//获取虚拟板坯号
e.setVirtualSlabNo(virtualSlabNo);
subService.InsertPmSubHisDO(e);
//删选plistpmSubOrdDO中虚拟板坯号等于strGuid的信息
plistpmSubOrdDO.stream()
.filter(f -> !f.getVirtualSlabNo().equals(strGuid))
.collect(Collectors.toList()).forEach(m -> {
m.setVirtualSlabNo(virtualSlabNo);
subService.InsertPmSubOrdDO(m);
});
});
}
/** /**
* -线 * -线
* *
@ -288,28 +349,28 @@ public class SubController {
//1板坯数据 //1板坯数据
tasks.add(() -> { tasks.add(() -> {
plistSlab = subService.getSlabInfo(); plistSlab = subService.getSlabInfo();
// logger.info("******1板坯数据获取完毕*******"); //logger.info("******1板坯数据获取完毕*******");
return null; return null;
}); });
//2订单数据 //2订单数据
tasks.add(() -> { tasks.add(() -> {
plistOrder = subService.getOrderInfo(); plistOrder = subService.getOrderInfo();
// logger.info("******2订单数据获取完毕*******"); //logger.info("******2订单数据获取完毕*******");
return null; return null;
}); });
//3生产合同产品属性表 //3生产合同产品属性表
tasks.add(() -> { tasks.add(() -> {
plistPmProContProdAttrDO = subService.getPmProCountProdAttr(); plistPmProContProdAttrDO = subService.getPmProCountProdAttr();
// logger.info("******3生产合同产品属性表数据获取完毕*******"); //logger.info("******3生产合同产品属性表数据获取完毕*******");
return null; return null;
}); });
//4合同产线工艺参数表 //4合同产线工艺参数表
tasks.add(() -> { tasks.add(() -> {
plistPmContMscTechDO = subService.getPmContMscTech(); plistPmContMscTechDO = subService.getPmContMscTech();
// logger.info("******4合同产线工艺参数表数据获取完毕*******"); //logger.info("******4合同产线工艺参数表数据获取完毕*******");
return null; return null;
}); });
@ -317,133 +378,133 @@ public class SubController {
tasks.add(() -> { tasks.add(() -> {
// plistPmProContProdAttrDO = subService.getPmProCountProdAttr(); // plistPmProContProdAttrDO = subService.getPmProCountProdAttr();
Thread.sleep(1000); // 休眠1秒钟 Thread.sleep(1000); // 休眠1秒钟
// logger.info("******5生产合同产品属性表数据获取完毕*******"); //logger.info("******5生产合同产品属性表数据获取完毕*******");
return null; return null;
}); });
//6组板设计规则集 //6组板设计规则集
tasks.add(() -> { tasks.add(() -> {
plistPmPdRuleSetDO = subService.getPmPdRuleSet(); plistPmPdRuleSetDO = subService.getPmPdRuleSet();
// logger.info("******6组板设计规则集数据获取完毕*******"); //logger.info("******6组板设计规则集数据获取完毕*******");
return null; return null;
}); });
//7组板设计规则集 //7组板设计规则集
tasks.add(() -> { tasks.add(() -> {
plistPmPdRuleItemDO = subService.getPmPdRuleItem(); plistPmPdRuleItemDO = subService.getPmPdRuleItem();
// logger.info("******7组板设计规则集数据获取完毕*******"); //logger.info("******7组板设计规则集数据获取完毕*******");
return null; return null;
}); });
//8最小轧制厚度公差范围基准表 //8最小轧制厚度公差范围基准表
tasks.add(() -> { tasks.add(() -> {
plistPmMinThickTolBtDO = subService.getPmMinThickTolBt(); plistPmMinThickTolBtDO = subService.getPmMinThickTolBt();
// logger.info("******8最小轧制厚度公差范围基准表数据获取完毕*******"); //logger.info("******8最小轧制厚度公差范围基准表数据获取完毕*******");
return null; return null;
}); });
//9钢板轧制规格对应收得率基准表 //9钢板轧制规格对应收得率基准表
tasks.add(() -> { tasks.add(() -> {
plistPmPlateSpecYieldBtDO = subService.getPmPlateSpecYieldBt(); plistPmPlateSpecYieldBtDO = subService.getPmPlateSpecYieldBt();
// logger.info("******9钢板轧制规格对应收得率基准表数据获取完毕*******"); //logger.info("******9钢板轧制规格对应收得率基准表数据获取完毕*******");
return null; return null;
}); });
//10强度级别对照基准表 //10强度级别对照基准表
tasks.add(() -> { tasks.add(() -> {
plistPmStCodeBtDO = subService.getPmStCodeBt(); plistPmStCodeBtDO = subService.getPmStCodeBt();
// logger.info("******10强度级别对照基准表数据获取完毕*******"); //logger.info("******10强度级别对照基准表数据获取完毕*******");
return null; return null;
}); });
//11粗切位置决定基准表 //11粗切位置决定基准表
tasks.add(() -> { tasks.add(() -> {
plistPmCutPlaceBtDO = subService.getPmCutPlaceBt(); plistPmCutPlaceBtDO = subService.getPmCutPlaceBt();
// logger.info("******11粗切位置决定基准表数据获取完毕*******"); //logger.info("******11粗切位置决定基准表数据获取完毕*******");
return null; return null;
}); });
//12组板常数基准表 //12组板常数基准表
tasks.add(() -> { tasks.add(() -> {
plistPmPdConstBtDO = subService.getPmPdConstBt(); plistPmPdConstBtDO = subService.getPmPdConstBt();
// logger.info("******12组板常数基准表数据获取完毕*******"); //logger.info("******12组板常数基准表数据获取完毕*******");
return null; return null;
}); });
//13钢板切缝切头尾范围基准表 //13钢板切缝切头尾范围基准表
tasks.add(() -> { tasks.add(() -> {
plistPmPlateCutLenBtDO = subService.getPmPlateCutLenBt(); plistPmPlateCutLenBtDO = subService.getPmPlateCutLenBt();
// logger.info("******13钢板切缝切头尾范围基准表数据获取完毕*******"); //logger.info("******13钢板切缝切头尾范围基准表数据获取完毕*******");
return null; return null;
}); });
//14组板临时收得率基准表 //14组板临时收得率基准表
tasks.add(() -> { tasks.add(() -> {
plistPmPdTmpYieldBtDO = subService.getPmPdTmpYieldBt(); plistPmPdTmpYieldBtDO = subService.getPmPdTmpYieldBt();
// logger.info("******14组板临时收得率基准表数据获取完毕*******"); //logger.info("******14组板临时收得率基准表数据获取完毕*******");
return null; return null;
}); });
//15钢板切边量基准表 //15钢板切边量基准表
tasks.add(() -> { tasks.add(() -> {
plistPmPlateTrimBtDO = subService.getPmPlateTrimBt(); plistPmPlateTrimBtDO = subService.getPmPlateTrimBt();
// logger.info("******15钢板切边量基准表数据获取完毕*******"); //logger.info("******15钢板切边量基准表数据获取完毕*******");
return null; return null;
}); });
//16余材组板内部钢种以优充次对照表 //16余材组板内部钢种以优充次对照表
tasks.add(() -> { tasks.add(() -> {
plistPmSlabReplBtDO = subService.getPmSlabReplBt(); plistPmSlabReplBtDO = subService.getPmSlabReplBt();
// logger.info("******16余材组板内部钢种以优充次对照表数据获取完毕*******"); //logger.info("******16余材组板内部钢种以优充次对照表数据获取完毕*******");
return null; return null;
}); });
//17热处理炉基准规格表 //17热处理炉基准规格表
tasks.add(() -> { tasks.add(() -> {
plistPmHeatTreatFurnaceBtDO = subService.getPmHeatTreatFurnaceBt(); plistPmHeatTreatFurnaceBtDO = subService.getPmHeatTreatFurnaceBt();
// logger.info("******17热处理炉基准规格表数据获取完毕*******"); //logger.info("******17热处理炉基准规格表数据获取完毕*******");
return null; return null;
}); });
//18特殊钢种余量增加表 //18特殊钢种余量增加表
tasks.add(() -> { tasks.add(() -> {
plistPmSpeStAddvBtDO = subService.getPmSpeStAddvBt(); plistPmSpeStAddvBtDO = subService.getPmSpeStAddvBt();
// logger.info("******18特殊钢种余量增加表数据获取完毕*******"); //logger.info("******18特殊钢种余量增加表数据获取完毕*******");
return null; return null;
}); });
//19合同处理成分结果数据 //19合同处理成分结果数据
tasks.add(() -> { tasks.add(() -> {
plistQdToLineupResultCheDO = subService.getQdToLineupResultChe(); plistQdToLineupResultCheDO = subService.getQdToLineupResultChe();
// logger.info("******19合同处理成分结果数据获取完毕*******"); //logger.info("******19合同处理成分结果数据获取完毕*******");
return null; return null;
}); });
//20合同处理坯料性能要求 //20合同处理坯料性能要求
tasks.add(() -> { tasks.add(() -> {
plistQdToLineupResultSlabphyDO = subService.getQdToLineupResultSlabphy(); plistQdToLineupResultSlabphyDO = subService.getQdToLineupResultSlabphy();
// logger.info("******20合同处理坯料性能要求数据获取完毕*******"); //logger.info("******20合同处理坯料性能要求数据获取完毕*******");
return null; return null;
}); });
//21炉次工序成分代表实绩表 //21炉次工序成分代表实绩表
tasks.add(() -> { tasks.add(() -> {
plistQeTqHeatcheStandResultDO = subService.getQeTqHeatcheStandResult(); plistQeTqHeatcheStandResultDO = subService.getQeTqHeatcheStandResult();
// logger.info("******21炉次工序成分代表实绩表数据获取完毕*******"); //logger.info("******21炉次工序成分代表实绩表数据获取完毕*******");
return null; return null;
}); });
//22炉次待委托表 //22炉次待委托表
tasks.add(() -> { tasks.add(() -> {
plistQeTqPonoWaitTestDO = subService.getQeTqPonoWaitTest(); plistQeTqPonoWaitTestDO = subService.getQeTqPonoWaitTest();
// logger.info("******22炉次待委托表数据获取完毕*******"); //logger.info("******22炉次待委托表数据获取完毕*******");
return null; return null;
}); });
//23坯料低倍委托实绩表 //23坯料低倍委托实绩表
tasks.add(() -> { tasks.add(() -> {
plistQeTqSlabMacroResultDO = subService.getQeTqSlabMacroResult(); plistQeTqSlabMacroResultDO = subService.getQeTqSlabMacroResult();
// logger.info("******23坯料低倍委托实绩表数据获取完毕*******"); //logger.info("******23坯料低倍委托实绩表数据获取完毕*******");
return null; return null;
}); });
@ -568,9 +629,13 @@ public class SubController {
* *
*/ */
public void SetPreData() { public void SetPreData() {
//实例化订单列表
gltOrder =new ArrayList<>();
//实例化订单分组
gltGrpOrderFir=new ArrayList<>();
//订单数据处理 //订单数据处理
SetOrderLackData(); SetOrderLackData();
//订单根据尺寸初次分组 //订单根据尺寸初次分组
SetGroupOrderFir(); SetGroupOrderFir();
@ -1242,26 +1307,48 @@ public class SubController {
//TODO:箭头函数订单多线程处理数据,升序,降序,重组。 //TODO:箭头函数订单多线程处理数据,升序,降序,重组。
//使用 Stream.parallel() 来并行执行 for 循环 OrderNo 升序 PdLackQty 降序 //使用 Stream.parallel() 来并行执行 for 循环 OrderNo 升序 PdLackQty 降序
plistOrder.parallelStream() // plistOrder.sorted(Comparator.comparing(PmProContDO::getOrderNo)
.sorted(Comparator.comparing(PmProContDO::getOrderNo) // .thenComparing(Comparator.comparing(PmProContDO::getPdLackQty).reversed()))
.thenComparing(Comparator.comparing(PmProContDO::getPdLackQty).reversed())) plistOrder.parallelStream().forEach(i -> {
.forEach(i -> {
PmProContProdAttrDO ppcpa = new PmProContProdAttrDO(); PmProContProdAttrDO ppcpa = new PmProContProdAttrDO();
PmContMscTechDO pcmt = new PmContMscTechDO(); PmContMscTechDO pcmt = new PmContMscTechDO();
try { try {
//判断是否在不可组板订单范围内 plistpmIrsubableContDO 中存在就返回return
if (plistpmIrsubableContDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).count() > 0) {
logger.info("订单:{} 不可自动组板", i.getOrderNo());
return;
}
if (plistPmProContProdAttrDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).count() > 0) { if (plistPmProContProdAttrDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).count() > 0) {
ppcpa = plistPmProContProdAttrDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).findFirst().orElseThrow(() -> new NoSuchElementException("No PmProContProdAttrDO found with name Charlie " + i.getOrderNo())); ppcpa = plistPmProContProdAttrDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).findFirst().orElseThrow(() -> new NoSuchElementException("No PmProContProdAttrDO found with name Charlie " + i.getOrderNo()));
//判断尺寸是否存在 宽度不在 plistpmAutoSubSettingDO的订单宽度范围内或者厚度不在plistpmAutoSubSettingDO的订单厚度范围内就return或者交货期不在plistpmAutoSubSettingDO的订单交货期范围内就return
PmProContProdAttrDO finalPpcpa = ppcpa;
if (plistpmAutoSubSettingDO.stream().filter(p ->
p.getOrderWidthMin().intValue() <= finalPpcpa.getOrderWidth().intValue()
&& finalPpcpa.getOrderWidth().intValue() <= p.getOrderWidthMax().intValue()
&& p.getOrderThickMin().intValue() <= finalPpcpa.getOrderThick().intValue()
&& finalPpcpa.getOrderThick().intValue() <= p.getOrderThickMax().intValue()
&& p.getDelivyDateFrom().compareTo(finalPpcpa.getDelivyDate())<= 0
&& finalPpcpa.getDelivyDate().compareTo(p.getDelivyDateTo())<=0).count()<=0)
{
logger.info("订单:{} 不可自动组板,尺寸厚度{},宽度{},交货期{} 不在范围内", i.getOrderNo(),finalPpcpa.getOrderThick(), finalPpcpa.getOrderWidth(),new SimpleDateFormat("yyyy-MM-dd").format(finalPpcpa.getDelivyDate()));
return;
}
if (plistPmContMscTechDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo()) && p.getMscLineNo().equals("1030")).count() > 0) { if (plistPmContMscTechDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo()) && p.getMscLineNo().equals("1030")).count() > 0) {
// 可能抛出异常的代码 // 可能抛出异常的代码
pcmt = plistPmContMscTechDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).findFirst().orElseThrow(() -> new NoSuchElementException("No PmContMscTechDO found with name Charlie " + i.getOrderNo())); pcmt = plistPmContMscTechDO.stream().filter(p -> p.getOrderNo().equals(i.getOrderNo())).findFirst().orElseThrow(() -> new NoSuchElementException("No PmContMscTechDO found with name Charlie " + i.getOrderNo()));
SetAllOrder(i, ppcpa, pcmt); SetAllOrder(i, ppcpa, pcmt);
} else { } else {
// logger.info("缺少产线信息:" + i.getOrderNo()); //logger.info("缺少产线信息:" + i.getOrderNo());
} }
} else { } else {
// logger.info("缺少属性信息:" + i.getOrderNo()); //logger.info("缺少属性信息:" + i.getOrderNo());
} }
} catch (NullPointerException ex1) { } catch (NullPointerException ex1) {
@ -1417,6 +1504,12 @@ public class SubController {
if (ltOrder.stream().filter(f -> f.equals(e.getOrderNo())).count() == intOrdCount) { if (ltOrder.stream().filter(f -> f.equals(e.getOrderNo())).count() == intOrdCount) {
return; return;
} }
//被使用过的订单ID排除在外
if (plistOrdHis.stream().filter(f -> f.getIDValue()==e.getIDValue()).count()>0) {
return;
}
ltOrder.add(e.getOrderNo());//添加订单号 ltOrder.add(e.getOrderNo());//添加订单号
ltValues.add(e.getIDValue());//价值 ltValues.add(e.getIDValue());//价值
ltweights.add(e.getLen());//长度 ltweights.add(e.getLen());//长度
@ -1723,6 +1816,7 @@ public class SubController {
// 生成虚拟板坯号 // 生成虚拟板坯号
String virtualSlabNo = generateVirtualSlabNo(SInfo.getPono()); String virtualSlabNo = generateVirtualSlabNo(SInfo.getPono());
pmSubHisDO.setVirtualSlabNo(virtualSlabNo); // 虚拟板坯号 pmSubHisDO.setVirtualSlabNo(virtualSlabNo); // 虚拟板坯号
pmSubHisDO.setRelKey(virtualSlabNo); // 关系号
// 手动为每个字段赋值 // 手动为每个字段赋值
pmSubHisDO.setSlabThick(maxRate.getVirtualSlab_Thk()); // 厚度 pmSubHisDO.setSlabThick(maxRate.getVirtualSlab_Thk()); // 厚度
@ -1772,6 +1866,7 @@ public class SubController {
// 生成虚拟板坯号 // 生成虚拟板坯号
pmSubOrdDO.setVirtualSlabNo(virtualSlabNo); // 虚拟板坯号 pmSubOrdDO.setVirtualSlabNo(virtualSlabNo); // 虚拟板坯号
pmSubOrdDO.setSlabNo(SInfo.getSlabNo()); // 板坯号
// 手动为每个字段赋值 // 手动为每个字段赋值
pmSubOrdDO.setOrderNo(gPreOrder.getOrderNo()); // 合同号 pmSubOrdDO.setOrderNo(gPreOrder.getOrderNo()); // 合同号
@ -1805,6 +1900,9 @@ public class SubController {
// 将 PmSubOrdDO 对象添加到列表中 // 将 PmSubOrdDO 对象添加到列表中
plistpmSubOrdDO.add(pmSubOrdDO); plistpmSubOrdDO.add(pmSubOrdDO);
//记录被使用的订单数据
plistOrdHis.add(gPreOrder);
} }
); );
@ -1839,11 +1937,22 @@ public class SubController {
// 生成虚拟板坯号的方法 // 生成虚拟板坯号的方法
private String generateVirtualSlabNo(String pono) { private String generateVirtualSlabNo(String pono) {
AtomicInteger counter = counterMap.computeIfAbsent(pono, k -> new AtomicInteger(0)); //AtomicInteger counter = counterMap.computeIfAbsent(pono, k -> new AtomicInteger(0));
int currentCounter = counter.incrementAndGet(); //int currentCounter = counter.incrementAndGet();
return pono + "S9" + String.format("%03d", currentCounter); //return pono + "S9" + String.format("%03d", currentCounter);
UUID guid = UUID.randomUUID();
return guid.toString();
} }
// 生成虚拟板坯号的方法保存
private String generateVirtualSlabNoSave(String pono ,int i) {
return pono + "S9" + String.format("%03d", i+1);
}
//设置保存数据 //设置保存数据
public void SetSaveDate(SlabInfoDO SInfo) { public void SetSaveDate(SlabInfoDO SInfo) {
SetPmPdSlab(SInfo);//组板板坯表 命令板坯表 命令大板表 SetPmPdSlab(SInfo);//组板板坯表 命令板坯表 命令大板表

@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode;
* </p> * </p>
* *
* @author SunH * @author SunH
* @since 2025-01-23 * @since 2025-02-12
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ -25,7 +25,7 @@ public class PmSubHisDO implements Serializable {
/** /**
* ID * ID
*/ */
private Long id; private BigDecimal id;
/** /**
* *
@ -182,5 +182,10 @@ public class PmSubHisDO implements Serializable {
*/ */
private BigDecimal needSlabWt; private BigDecimal needSlabWt;
/**
*
*/
private String relKey;
} }

@ -2,7 +2,9 @@ package net.xdclass.shopmanager.model;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable; import java.io.Serializable;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -13,7 +15,7 @@ import lombok.EqualsAndHashCode;
* </p> * </p>
* *
* @author SunH * @author SunH
* @since 2025-01-23 * @since 2025-02-12
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ -25,7 +27,8 @@ public class PmSubOrdDO implements Serializable {
/** /**
* ID * ID
*/ */
private Long id; @TableId(value = "ID", type = IdType.AUTO)
private BigDecimal id;
/** /**
* *
@ -131,5 +134,15 @@ public class PmSubOrdDO implements Serializable {
*/ */
private String orderSeqNo; private String orderSeqNo;
/**
*
*/
private String relKey;
/**
*
*/
private String slabNo;
} }

@ -79,7 +79,7 @@ public class MyBatisPlusGenerator {
.setDriverName("oracle.jdbc.OracleDriver") .setDriverName("oracle.jdbc.OracleDriver")
.setUrl("jdbc:oracle:thin:@172.18.15.50:1521/momdev") .setUrl("jdbc:oracle:thin:@172.18.15.50:1521/momdev")
.setUsername("xisc_qd") .setUsername("xisc_pm")
.setPassword("HZERO1234"); .setPassword("HZERO1234");
@ -96,7 +96,8 @@ public class MyBatisPlusGenerator {
// .setInclude("QE_TQ_HEATCHE_STAND_RESULT","QE_TQ_PONO_WAIT_TEST","QE_TQ_SLAB_MACRO_RESULT") // .setInclude("QE_TQ_HEATCHE_STAND_RESULT","QE_TQ_PONO_WAIT_TEST","QE_TQ_SLAB_MACRO_RESULT")
.setInclude("QD_TO_PO_ORDER") // .setInclude("QD_TO_PO_ORDER")
.setInclude("PM_SUB_HIS","PM_SUB_ORD")
// 生成的表, 支持多表一起生成,以数组形式填写 // 生成的表, 支持多表一起生成,以数组形式填写
//TODO TODO TODO TODO 两个方式,直接写,或者使用命令行输入 //TODO TODO TODO TODO 两个方式,直接写,或者使用命令行输入

Loading…
Cancel
Save