diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java index d88e4a4..d2328fc 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/controller/SubController.java @@ -129,6 +129,7 @@ public class SubController { private static List plistPmSlabSpecBtDO; //板坯信息表 private static List plistPmPdSlabInfoDO; //TODO 需要添加此表信息的查询 + //TODO 需要添加 QD_TO_PO_ORDER 的查询记录 private static Date now; //组板履历表 @@ -143,6 +144,28 @@ public class SubController { //endregion + //region ***配置项参数*** + + //不可自动组板订单信息 + private static List plistpmIrsubableContDO=new ArrayList<>(); + + //不可自动组板板坯信息 + private static List plistpmIrsubableSlabDO=new ArrayList<>(); + + //自动替代配置参数 + private static List plistpmAutoSubSettingDO=new ArrayList<>(); + + //钢种信息配置 + private static List plistpmRetainStDO=new ArrayList<>(); + + //仓库信息配置 + private static List plistpmRetainStackDO=new ArrayList<>(); + + //自动替代日志 + private static List plistpmSubLogDO=new ArrayList<>(); + + //endregion + @ApiOperation("求解处理") @PostMapping("Solver") public JsonData Solver() { @@ -185,6 +208,7 @@ public class SubController { //循环板坯 plistSlab.forEach(p -> { logger.info("*************板坯开始{}************* ", p.getSlabNo()); + logger.info("***板坯信息:{} 厚宽长:{}*{}*{} ",p.getSlabNo(), p.getSlabActThk(),p.getSlabActWid(),p.getSlabActLen()); try { gltGCalGrp = new ArrayList<>(); //二次分组 @@ -193,11 +217,30 @@ public class SubController { logger.info("***二次分组数量*** " + gltGCalGrp.size()); if (gltGCalGrp.size() > 0) { + + //板坯长度和宽度调换 + if (p.getSlabActLen().compareTo(p.getSlabActWid()) <= 0) { + // 当 p.getSlabActLen() 小于或等于 p.getSlabActWid() 时执行的代码 + p.setRemLen(p.getSlabActWid()); + p.setRemWid(p.getSlabActLen()); + } else { + p.setRemLen(p.getSlabActLen()); + p.setRemWid(p.getSlabActWid()); + } + gltGGrpCalRslt = new ArrayList<>(); - gltSelGGrpCalRslt= new ArrayList<>(); + gltSelGGrpCalRslt = new ArrayList<>(); SetGroupCalRslt(p); + //存储数据,组板结果 + plistpmSubHisDO.forEach(e->{ + subService.InsertPmSubHisDO(e); + }); + + plistpmSubOrdDO.forEach(e->{ + subService.InsertPmSubOrdDO(e); + }); logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size()); } @@ -205,6 +248,7 @@ public class SubController { // now = new Date(); // SetSaveDate(p); // } + } catch (Exception e) { logger.error("板坯报错:" + p.getSlabNo(), e); } @@ -231,7 +275,7 @@ public class SubController { //region ***多线程获取基础数据*** // 创建线程池 - ExecutorService executorService = Executors.newFixedThreadPool(24); + ExecutorService executorService = Executors.newFixedThreadPool(29); //初始化方案 Loader.loadNativeLibraries(); @@ -270,7 +314,7 @@ public class SubController { //5生产合同产品属性表 tasks.add(() -> { // plistPmProContProdAttrDO = subService.getPmProCountProdAttr(); - Thread.sleep(10000); // 休眠10秒钟 + Thread.sleep(1000); // 休眠1秒钟 // logger.info("******5生产合同产品属性表数据获取完毕*******"); return null; }); @@ -404,7 +448,36 @@ public class SubController { //24连铸板坯生产规格基准表 tasks.add(() -> { plistPmSlabSpecBtDO = subService.getPmSlabSpecBt(); -// logger.info("******23连铸板坯生产规格基准表数据获取完毕*******"); + return null; + }); + + //25不可自动组板订单信息 + tasks.add(() -> { + plistpmIrsubableContDO = subService.getPmIrsubableCont(); + return null; + }); + + //26不可自动组板板坯信息 + tasks.add(() -> { + plistpmIrsubableSlabDO = subService.getPmIrsubableSlab(); + return null; + }); + + //27自动组板配置信息 + tasks.add(() -> { + plistpmAutoSubSettingDO = subService.getPmAutoSubSetting(); + return null; + }); + + //28钢种配置信息 + tasks.add(() -> { + plistpmRetainStDO = subService.getPmRetainSt(); + return null; + }); + + //29仓库配置信息 + tasks.add(() -> { + plistpmRetainStackDO = subService.getPmRetainStack(); return null; }); @@ -438,6 +511,35 @@ public class SubController { logger.info("21:炉次待委托表:" + plistQeTqPonoWaitTestDO.size()); logger.info("22:坯料低倍委托实绩表:" + plistQeTqSlabMacroResultDO.size()); logger.info("23:连铸板坯生产规格基准表:" + plistPmSlabSpecBtDO.size()); + logger.info("24:不可自动组板订单信息:" + plistpmIrsubableContDO.size()); + logger.info("25:不可自动组板板坯信息:" + plistpmIrsubableSlabDO.size()); + logger.info("26:钢种配置信息:" + plistpmRetainStDO.size()); + logger.info("27:仓库配置信息:" + plistpmRetainStackDO.size()); + logger.info("28:自动组板配置信息:" + plistpmAutoSubSettingDO.size()); + + logger.info("获取基础数据完成"); + if (plistpmAutoSubSettingDO.size()>0) + { + logger.info("配置信息-》 是否启动 :{}", plistpmAutoSubSettingDO.get(0).getIsStartFlag()); + logger.info("配置信息-》 启动时间范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getStartTime(), plistpmAutoSubSettingDO.get(0).getEndTime()); + logger.info("配置信息-》 优先模式 :{}", plistpmAutoSubSettingDO.get(0).getPriMode()); + logger.info("配置信息-》 最低成材率 :{}", plistpmAutoSubSettingDO.get(0).getStockRate()); + logger.info("配置信息-》 最大剩余长度 :{}", plistpmAutoSubSettingDO.get(0).getResidueLen()); + logger.info("配置信息-》 板坯长度范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getMatLenMin(), plistpmAutoSubSettingDO.get(0).getMatLenMax()); + logger.info("配置信息-》 板坯宽度范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getMatWidthMin(), plistpmAutoSubSettingDO.get(0).getMatWidthMax()); + logger.info("配置信息-》 板坯厚度范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getMatThickMin(), plistpmAutoSubSettingDO.get(0).getMatThickMax()); + logger.info("配置信息-》 订单宽度范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getOrderWidthMin(), plistpmAutoSubSettingDO.get(0).getOrderWidthMax()); + logger.info("配置信息-》 订单厚度范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getOrderThickMin(), plistpmAutoSubSettingDO.get(0).getOrderThickMax()); + logger.info("配置信息-》 订单交货期范围 :{}~{}", plistpmAutoSubSettingDO.get(0).getDelivyDateFrom(), plistpmAutoSubSettingDO.get(0).getDelivyDateTo()); + logger.info("配置信息-》 可用仓库 :{}", plistpmAutoSubSettingDO.get(0).getUseableDstock()); + logger.info("配置信息-》 优先模式 :{}", plistpmAutoSubSettingDO.get(0).getPriMode()); + logger.info("配置信息-》 超投条件 :{}", plistpmAutoSubSettingDO.get(0).getOvershootCondition()); + logger.info("配置信息-》 库存最低成材率 :{}", plistpmAutoSubSettingDO.get(0).getStockRate()); + logger.info("配置信息-》 库存时间 :{}", plistpmAutoSubSettingDO.get(0).getStockDay()); + logger.info("配置信息-》 交货期最低成材率:{}", plistpmAutoSubSettingDO.get(0).getDeliveryRate()); + logger.info("配置信息-》 交货期偏移量 :{}", plistpmAutoSubSettingDO.get(0).getDeliveryOffsetDay()); + } + // 关闭线程池 executorService.shutdown(); @@ -1218,11 +1320,24 @@ public class SubController { */ public void SetGroupCalRslt(SlabInfoDO SInfo) { + //剩余长度小于加热炉最小长度 + if (SInfo.getRemLen().compareTo(BigDecimal.valueOf(2200))<0){ + return; + } + + //剩余宽度小于加热炉最小宽度 + if (SInfo.getRemWid().compareTo(BigDecimal.valueOf(1200))<0){ + return; + } + //轧机最大长度 int intRollMaxLen = plistPmPdConstBtDO.stream().filter(p -> p.getRollLineNo().equals("30")).findFirst().orElse(null).getHpmMaxPLen().intValue(); //轧机最小长度 int intRollMinLen = plistPmPdConstBtDO.stream().filter(p -> p.getRollLineNo().equals("30")).findFirst().orElse(null).getHpmMinPLen().intValue(); + //初始化分组数据 + gltGGrpCalRslt=new ArrayList<>(); + //gltGCalGrp.parallelStream().forEach(e->{ gltGCalGrp.parallelStream().forEach(e -> { //实例化计算结果数组 @@ -1234,13 +1349,13 @@ public class SubController { //轧制最大厚度 BigDecimal intThk = e.getThk(); //板坯长度 - int intSlabLen = SInfo.getSlabActLen().intValue(); + int intSlabLen = SInfo.getRemLen().intValue(); //判断可轧制最大长度 TODO:厚度计算Decimal取整计算,会有误差,后续判断误差值修正计算 - if ((SInfo.getSlabActLen().multiply(SInfo.getSlabActThk()).multiply(SInfo.getSlabActWid()).divide(intThk.multiply(BigDecimal.valueOf(intWid)), RoundingMode.HALF_UP)).compareTo(BigDecimal.valueOf(intRollMaxLen)) > 0) { + if ((SInfo.getRemLen().multiply(SInfo.getSlabActThk()).multiply(SInfo.getRemWid()).divide(intThk.multiply(BigDecimal.valueOf(intWid)), RoundingMode.HALF_UP)).compareTo(BigDecimal.valueOf(intRollMaxLen)) > 0) { intMaxLen = intRollMaxLen; } else { - intMaxLen = (SInfo.getSlabActLen().multiply(SInfo.getSlabActThk()).multiply(SInfo.getSlabActWid()).divide(intThk.multiply(BigDecimal.valueOf(intWid)), RoundingMode.HALF_UP)).intValue(); + intMaxLen = (SInfo.getRemLen().multiply(SInfo.getSlabActThk()).multiply(SInfo.getRemWid()).divide(intThk.multiply(BigDecimal.valueOf(intWid)), RoundingMode.HALF_UP)).intValue(); } //不能小于可轧制的最小长度 if (intMaxLen < intRollMinLen) { @@ -1311,7 +1426,7 @@ public class SubController { //TODO:轧制方向,轧制模式 没有其他值暂不考虑,之后数据完善后需要考虑 PmPlateCutLenBtDO PPCLB = plistPmPlateCutLenBtDO.stream(). filter(f -> f.getMscLineNo().equals("1030") - && f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getSlabActWid().intValue()) ? "1" : "0") + && f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getRemWid().intValue()) ? "1" : "0") && f.getPlateThickFrom().compareTo(p.getCal_Thk()) <= 0 && f.getPlateThickTo().compareTo(p.getCal_Thk()) >= 0 && f.getSlabThickFrom().compareTo(SInfo.getSlabActThk()) <= 0 @@ -1375,7 +1490,7 @@ public class SubController { .max(); //宽展比 保留2位小数 - BigDecimal decWidRate = BigDecimal.valueOf(maxWidth.orElse(0)).divide(SInfo.getSlabActWid(), 2, RoundingMode.HALF_UP); + BigDecimal decWidRate = BigDecimal.valueOf(maxWidth.orElse(0)).divide(SInfo.getRemWid(), 2, RoundingMode.HALF_UP); //最大厚度公差最小值 Optional maxTolThkMin = p.getLtActInfoGPreOrder().stream() @@ -1429,7 +1544,7 @@ public class SubController { PmPlateCutLenBtDO PPCLB_Act = plistPmPlateCutLenBtDO.stream(). filter(f -> f.getMscLineNo().equals("1030") - && f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getSlabActWid().intValue()) ? "1" : "0") + && f.getBrrNeed().equals((p.getCal_Wid() > SInfo.getRemWid().intValue()) ? "1" : "0") && f.getPlateThickFrom().compareTo(p.getCal_Thk()) <= 0 && f.getPlateThickTo().compareTo(p.getCal_Thk()) >= 0 && f.getSlabThickFrom().compareTo(SInfo.getSlabActThk()) <= 0 @@ -1452,12 +1567,12 @@ public class SubController { //板坯厚度 p.setVirtualSlab_Thk(SInfo.getSlabActThk()); //板坯宽度 - p.setVirtualSlab_Wid(SInfo.getSlabActWid().intValue()); + p.setVirtualSlab_Wid(SInfo.getRemWid().intValue()); //板坯长度 BigDecimal virtualSlabLen = p.getCal_Thk() .multiply(BigDecimal.valueOf(p.getCal_Wid())) .multiply(BigDecimal.valueOf(p.getCal_Len())) - .divide(SInfo.getSlabActThk().multiply(SInfo.getSlabActWid()), 0, RoundingMode.CEILING); + .divide(SInfo.getSlabActThk().multiply(SInfo.getRemWid()), 0, RoundingMode.CEILING); p.setVirtualSlab_Len(virtualSlabLen.intValue()); //板坯重量 p.setVirtualSlab_Wgt(p.getVirtualSlab_Thk().multiply(BigDecimal.valueOf(p.getVirtualSlab_Len())).multiply(BigDecimal.valueOf(p.getVirtualSlab_Wid()) ).multiply(BigDecimal.valueOf(7.85)).divide(BigDecimal.valueOf(1000000000), 2, RoundingMode.HALF_UP)); @@ -1468,7 +1583,7 @@ public class SubController { .multiply(BigDecimal.valueOf(p.getEff_Len())); BigDecimal slabVolume = SInfo.getSlabActThk() - .multiply(SInfo.getSlabActWid()) + .multiply(SInfo.getRemWid()) .multiply(BigDecimal.valueOf(p.getVirtualSlab_Len())); BigDecimal yieldRate = rolledVolume.divide(slabVolume, 2, RoundingMode.HALF_UP); // 保留4位小数 @@ -1477,7 +1592,10 @@ public class SubController { p.setRate(yieldRate); }); - + //判断结果数据是否存在 + if (gltGGrpCalRslt.size() == 0) { + return; + } //判断结算结果长度和成材率是否可用 gltGGrpCalRslt.parallelStream().forEach(p -> { @@ -1487,12 +1605,12 @@ public class SubController { return; } - //成材率大于90% if (p.getRate().compareTo(BigDecimal.valueOf(0.9)) <= 0) { p.setIntUseFlg(0); return; } + int minWid = Math.min(p.getVirtualSlab_Wid(), p.getVirtualSlab_Len()); int maxLen = Math.max(p.getVirtualSlab_Wid(), p.getVirtualSlab_Len()); // 板坯厚度起止SLAB_THICK_FROM/TO包含余坯实际厚度; @@ -1506,6 +1624,7 @@ public class SubController { && e.getRollLineNo().equals(SInfo.getMscLineNo().substring(SInfo.getMscLineNo().length() - 2)) && e.getCcType().equals("1") ).count() > 0) { + int intSlanLenMin = plistPmSlabSpecBtDO.stream().filter(e -> e.getSlabThickFrom().compareTo(p.getVirtualSlab_Thk()) <= 0 && e.getSlabThickTo().compareTo(p.getVirtualSlab_Thk()) >= 0 && e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0 @@ -1514,6 +1633,7 @@ public class SubController { && e.getRollLineNo().equals(SInfo.getMscLineNo().substring(SInfo.getMscLineNo().length() - 2)) && e.getCcType().equals("1") ).findFirst().orElse(null).getSlabMinLen().intValue(); + int intSlanLenMax = plistPmSlabSpecBtDO.stream().filter(e -> e.getSlabThickFrom().compareTo(p.getVirtualSlab_Thk()) <= 0 && e.getSlabThickTo().compareTo(p.getVirtualSlab_Thk()) >= 0 && e.getSlabWidthFrom().compareTo(BigDecimal.valueOf(minWid)) <= 0 @@ -1550,6 +1670,9 @@ public class SubController { //选择最优结果 ChosBestRsl(SInfo); + //递归 + SetGroupCalRslt(SInfo); + //递归 ////小于最小入炉尺寸 //if (SInfo.getRemLen().intValue() <2200) @@ -1668,19 +1791,33 @@ public class SubController { } ); - } - - plistpmSubHisDO.forEach(p->{ - - subService.InsertPmSubHisDO(p); - - }); - plistpmSubOrdDO.forEach(p->{ + //判断长宽大小 + BigDecimal decLen =BigDecimal.valueOf(SInfo.getRemLen().intValue()-maxRate.getVirtualSlab_Len()); + BigDecimal DecWid =SInfo.getRemWid(); + if (decLen.compareTo(DecWid) <= 0) { + // 当 p.getSlabActLen() 小于或等于 p.getSlabActWid() 时执行的代码 + SInfo.setRemLen(DecWid); + SInfo.setRemWid(decLen); + }else{ + SInfo.setRemLen(decLen); + SInfo.setRemWid(DecWid); + } - subService.InsertPmSubOrdDO(p); + } - }); + //存储数据,组板结果 + // plistpmSubHisDO.forEach(p->{ + // + // subService.InsertPmSubHisDO(p); + // + // }); + // + // plistpmSubOrdDO.forEach(p->{ + // + // subService.InsertPmSubOrdDO(p); + // + // }); } diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/mapper/SubMapper.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/mapper/SubMapper.java index c7d149a..3541da3 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/mapper/SubMapper.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/mapper/SubMapper.java @@ -86,4 +86,14 @@ public interface SubMapper extends BaseMapper { void InsertPmSubHisDO(PmSubHisDO p); void InsertPmSubOrdDO(PmSubOrdDO p); + + List getPmIrsubableCont(); + + List getPmIrsubableSlab(); + + List getPmAutoSubSetting(); + + List getPmRetainSt(); + + List getPmRetainStack(); } diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/PmAutoSubSettingDO.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/PmAutoSubSettingDO.java index 3985c67..5246e5f 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/PmAutoSubSettingDO.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/model/PmAutoSubSettingDO.java @@ -2,7 +2,9 @@ package net.xdclass.shopmanager.model; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; @@ -13,7 +15,7 @@ import lombok.EqualsAndHashCode; *

* * @author SunH - * @since 2024-12-18 + * @since 2025-02-10 */ @Data @EqualsAndHashCode(callSuper = false) @@ -25,6 +27,7 @@ public class PmAutoSubSettingDO implements Serializable { /** * 主键ID */ + @TableId(value = "ID", type = IdType.AUTO) private BigDecimal id; /** @@ -103,7 +106,7 @@ public class PmAutoSubSettingDO implements Serializable { private String isUseSt; /** - * 订货长度 + * 可用仓库 */ private String useableDstock; @@ -197,5 +200,15 @@ public class PmAutoSubSettingDO implements Serializable { private String attribute5; + /** + * 触发周期 + */ + private BigDecimal triggerCycle; + + /** + * 超投条件 + */ + private String overshootCondition; + } diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/SubService.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/SubService.java index cba7fba..c8dc386 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/SubService.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/SubService.java @@ -83,4 +83,14 @@ public interface SubService { void InsertPmSubHisDO(PmSubHisDO p); void InsertPmSubOrdDO(PmSubOrdDO p); + + List getPmIrsubableCont(); + + List getPmIrsubableSlab(); + + List getPmAutoSubSetting(); + + List getPmRetainSt(); + + List getPmRetainStack(); } diff --git a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/impl/SubServiceImpl.java b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/impl/SubServiceImpl.java index b30530c..5bdd86c 100644 --- a/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/impl/SubServiceImpl.java +++ b/1024shop-manager/1024shop-manager/src/main/java/net/xdclass/shopmanager/service/impl/SubServiceImpl.java @@ -208,5 +208,30 @@ public class SubServiceImpl implements SubService { subMapper.InsertPmSubOrdDO(p); } + @Override + public List getPmIrsubableCont() { + return subMapper.getPmIrsubableCont(); + } + + @Override + public List getPmIrsubableSlab() { + return subMapper.getPmIrsubableSlab(); + } + + @Override + public List getPmAutoSubSetting() { + return subMapper.getPmAutoSubSetting(); + } + + @Override + public List getPmRetainSt() { + return subMapper.getPmRetainSt(); + } + + @Override + public List getPmRetainStack() { + return subMapper.getPmRetainStack(); + } + } diff --git a/1024shop-manager/1024shop-manager/src/main/resources/mapper/SubMapper.xml b/1024shop-manager/1024shop-manager/src/main/resources/mapper/SubMapper.xml index 7a5c93e..fe12bf7 100644 --- a/1024shop-manager/1024shop-manager/src/main/resources/mapper/SubMapper.xml +++ b/1024shop-manager/1024shop-manager/src/main/resources/mapper/SubMapper.xml @@ -2,35 +2,36 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + SELECT ppc.* FROM PM_PRO_CONT ppc - LEFT JOIN XISC_CT.CT_MAIN CM ON PPC.ORDER_NO = CM.ORDER_NO - LEFT JOIN PM_PRO_CONT_PROD_ATTR ppcpa ON ppcpa.ORDER_NO = ppc.ORDER_NO - LEFT JOIN PM_CONT_MSC_TECH PCMT ON PCMT.ORDER_NO = ppc.ORDER_NO + LEFT JOIN XISC_CT.CT_MAIN CM ON PPC.ORDER_NO = CM.ORDER_NO + LEFT JOIN PM_PRO_CONT_PROD_ATTR ppcpa ON ppcpa.ORDER_NO = ppc.ORDER_NO + LEFT JOIN PM_CONT_MSC_TECH PCMT ON PCMT.ORDER_NO = ppc.ORDER_NO AND ppc.PRO_CONT_ID = pcmt.PRO_CONT_ID AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO - WHERE 1=1 --- AND ppc.ORDER_NO='522484Q020' - - - - - - - + WHERE 1=1 + -- AND ppc.ORDER_NO='522484Q020' + + + + + + + @@ -79,226 +78,211 @@ + + - - INSERT INTO PM_SUB_ORD ( - ORDER_NO, VIRTUAL_SLAB_NO, SG_SIGN, ST_NO, ORDER_THICK, ORDER_WIDTH, - LEN_AIM, POS_X, POS_Y, DELIVY_DATE, AXIS_ORD, LACK_NUM, OVER_NUM, - CREATION_DATE, CREATED_BY, LAST_UPDATED_BY, LAST_UPDATE_DATE, TENANT_ID, - OBJECT_VERSION_NUMBER, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, - ATTRIBUTE5, ORDER_SEQ_NO - ) - VALUES ( - #{orderNo}, #{virtualSlabNo}, #{sgSign}, #{stNo}, #{orderThick}, #{orderWidth}, - #{lenAim}, #{posX}, #{posY}, #{delivyDate}, #{axisOrd}, #{lackNum}, #{overNum}, - #{creationDate}, #{createdBy}, #{lastUpdatedBy}, #{lastUpdateDate}, #{tenantId}, - #{objectVersionNumber}, #{attribute1}, #{attribute2}, #{attribute3}, #{attribute4}, - #{attribute5}, #{orderSeqNo} - ) - + + - + + + + + + + + INSERT INTO PM_SUB_ORD (ORDER_NO, VIRTUAL_SLAB_NO, SG_SIGN, ST_NO, ORDER_THICK, ORDER_WIDTH, + LEN_AIM, POS_X, POS_Y, DELIVY_DATE, AXIS_ORD, LACK_NUM, OVER_NUM, + CREATION_DATE, CREATED_BY, LAST_UPDATED_BY, LAST_UPDATE_DATE, TENANT_ID, + OBJECT_VERSION_NUMBER, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, + ATTRIBUTE5, ORDER_SEQ_NO) + VALUES (#{orderNo}, #{virtualSlabNo}, #{sgSign}, #{stNo}, #{orderThick}, #{orderWidth}, + #{lenAim}, #{posX}, #{posY}, #{delivyDate}, #{axisOrd}, #{lackNum}, #{overNum}, + #{creationDate}, #{createdBy}, #{lastUpdatedBy}, #{lastUpdateDate}, #{tenantId}, + #{objectVersionNumber}, #{attribute1}, #{attribute2}, #{attribute3}, #{attribute4}, + #{attribute5}, #{orderSeqNo}) + + + INSERT INTO PM_SUB_HIS (SLAB_NO, SUB_YIELD, REL_YIELD, SUB_RESULT, SUB_INFO, PROCESS_CODE, + FORM_PLATE_MODE, ST_NO, SLAB_THICK, SLAB_WID, SLAB_LEN, SLAB_WT, SUB_TIME, + CREATION_DATE, CREATED_BY, LAST_UPDATED_BY, LAST_UPDATE_DATE, ATTRIBUTE1, ATTRIBUTE2, + ATTRIBUTE3, ATTRIBUTE4, + ATTRIBUTE5, VIRTUAL_SLAB_NO, ROLL_THK, ROLL_WID, ROLL_LEN, HEAD_CUT, + TAIL_CUT, WID_CUT, SLIT_LEN, NEED_SLAB_LEN, NEED_SLAB_WT) + VALUES (#{slabNo}, #{subYield}, #{relYield}, #{subResult}, #{subInfo}, #{processCode}, + #{formPlateMode}, #{stNo}, #{slabThick}, #{slabWid}, #{slabLen}, #{slabWt}, #{subTime}, + #{creationDate}, #{createdBy}, #{lastUpdatedBy}, #{lastUpdateDate}, #{attribute1}, #{attribute2}, + #{attribute3}, #{attribute4}, + #{attribute5}, #{virtualSlabNo}, #{rollThk}, #{rollWid}, #{rollLen}, #{headCut}, + #{tailCut}, #{widCut}, #{slitLen}, #{needSlabLen}, #{needSlabWt}) + - - - + + + INSERT INTO PM_SUB_HIS ( - SLAB_NO, SUB_YIELD, REL_YIELD, SUB_RESULT, SUB_INFO, PROCESS_CODE, + SLAB_NO, SUB_YIELD, REL_YIELD, SUB_RESULT, SUB_INFO, PROCESS_CODE, FORM_PLATE_MODE, ST_NO, SLAB_THICK, SLAB_WID, SLAB_LEN, SLAB_WT, SUB_TIME, - CREATION_DATE, CREATED_BY, LAST_UPDATED_BY, LAST_UPDATE_DATE, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, + CREATION_DATE, CREATED_BY, LAST_UPDATED_BY, LAST_UPDATE_DATE, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5, VIRTUAL_SLAB_NO, ROLL_THK, ROLL_WID, ROLL_LEN, HEAD_CUT, TAIL_CUT, WID_CUT, SLIT_LEN, NEED_SLAB_LEN, NEED_SLAB_WT ) VALUES ( - #{item.slabNo}, #{item.subYield}, #{item.relYield}, #{item.subResult}, #{item.subInfo}, #{item.processCode}, - #{item.formPlateMode}, #{item.stNo}, #{item.slabThick}, #{item.slabWid}, #{item.slabLen}, #{item.slabWt}, #{item.subTime}, - #{item.creationDate}, #{item.createdBy}, #{item.lastUpdatedBy}, #{item.lastUpdateDate}, #{item.attribute1}, #{item.attribute2}, #{item.attribute3}, #{item.attribute4}, - #{item.attribute5}, #{item.virtualSlabNo}, #{item.rollThk}, #{item.rollWid}, #{item.rollLen}, #{item.headCut}, + #{item.slabNo}, #{item.subYield}, #{item.relYield}, #{item.subResult}, #{item.subInfo}, #{item.processCode}, + #{item.formPlateMode}, #{item.stNo}, #{item.slabThick}, #{item.slabWid}, #{item.slabLen}, #{item.slabWt}, + #{item.subTime}, + #{item.creationDate}, #{item.createdBy}, #{item.lastUpdatedBy}, #{item.lastUpdateDate}, #{item.attribute1}, + #{item.attribute2}, #{item.attribute3}, #{item.attribute4}, + #{item.attribute5}, #{item.virtualSlabNo}, #{item.rollThk}, #{item.rollWid}, #{item.rollLen}, + #{item.headCut}, #{item.tailCut}, #{item.widCut}, #{item.slitLen}, #{item.needSlabLen}, #{item.needSlabWt} ) @@ -317,8 +301,10 @@ VALUES ( - #{item.orderNo}, #{item.virtualSlabNo}, #{item.sgSign}, #{item.stNo}, #{item.orderThick}, #{item.orderWidth}, - #{item.lenAim}, #{item.posX}, #{item.posY}, #{item.delivyDate}, #{item.axisOrd}, #{item.lackNum}, #{item.overNum}, + #{item.orderNo}, #{item.virtualSlabNo}, #{item.sgSign}, #{item.stNo}, #{item.orderThick}, + #{item.orderWidth}, + #{item.lenAim}, #{item.posX}, #{item.posY}, #{item.delivyDate}, #{item.axisOrd}, #{item.lackNum}, + #{item.overNum}, #{item.creationDate}, #{item.createdBy}, #{item.lastUpdatedBy}, #{item.lastUpdateDate}, #{item.tenantId}, #{item.objectVersionNumber}, #{item.attribute1}, #{item.attribute2}, #{item.attribute3}, #{item.attribute4}, #{item.attribute5}, #{item.orderSeqNo} diff --git a/1024shop-manager/1024shop-manager/src/test/java/net/xdclass/shopmanager/MyBatisPlusGenerator.java b/1024shop-manager/1024shop-manager/src/test/java/net/xdclass/shopmanager/MyBatisPlusGenerator.java index c1357f0..7a1f30c 100644 --- a/1024shop-manager/1024shop-manager/src/test/java/net/xdclass/shopmanager/MyBatisPlusGenerator.java +++ b/1024shop-manager/1024shop-manager/src/test/java/net/xdclass/shopmanager/MyBatisPlusGenerator.java @@ -96,7 +96,7 @@ public class MyBatisPlusGenerator { //.setInclude("QE_TQ_HEATCHE_STAND_RESULT","QE_TQ_PONO_WAIT_TEST","QE_TQ_SLAB_MACRO_RESULT") - .setInclude("PM_SUB_HIS","PM_SUB_ORD") + .setInclude("PM_AUTO_SUB_SETTING") // 生成的表, 支持多表一起生成,以数组形式填写 //TODO TODO TODO TODO 两个方式,直接写,或者使用命令行输入