From cb035f3f0de1a4e656ca1090ec377db6de346cb2 Mon Sep 17 00:00:00 2001 From: BKGY_MYT <1536233200@qq.com> Date: Thu, 20 Feb 2025 19:27:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=BD=E4=BB=A4=E8=A1=A8=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shopmanager/controller/SubController.java | 24 ++++--- .../src/main/resources/mapper/SubMapper.xml | 64 +++++++++---------- 2 files changed, 48 insertions(+), 40 deletions(-) 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 72e220c..9197ba1 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 @@ -320,6 +320,7 @@ public class SubController { SetGroupCalRslt(p); logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size()); + logger.info("结果数据板坯号:{};数量:{}", p.getSlabNo(), gltSelGGrpCalRslt.size()); } if (gltSelGGrpCalRslt.size() > 0) { now = new Date(); @@ -2079,7 +2080,7 @@ public class SubController { SetPmPdPlateCut();//大板粗切位置表 SetPmPdBlockPos();//组合子板位置表 SetPmPdContSum();//组板合同总量表 命令参数表 - SetPmSmallPltPos();//组板小板位置表 命令小板表 + SetPmSmallPltPos(SInfo.getMscLineNo());//组板小板位置表 命令小板表 // SetPmCmdSlab();//命令板坯表 // SetPmCmdLargePlt();//命令大板表 // SetPmCmdCont();//命令参数表 @@ -2098,7 +2099,7 @@ public class SubController { pmPdSlabDO.setMatDesignKind("S"); pmPdSlabDO.setPdStatusHp("12"); pmPdSlabDO.setPdResp("781"); // TODO 组板责任者 未赋值 操作人id - pmPdSlabDO.setFormPlateMode(""); //TODO 组板方式 未赋值 + pmPdSlabDO.setFormPlateMode("A1"); //TODO 组板方式 需要判断 pmPdSlabDO.setPickModeLenDir(BigDecimal.ZERO); //TODO 取板方式_长度方向 未赋值 pmPdSlabDO.setPickModeWidDir(BigDecimal.ZERO); //TODO 取板方式_宽度方向 未赋值 pmPdSlabDO.setFurType("C");// TODO 加热炉类型 暂时赋值为C @@ -2304,7 +2305,7 @@ public class SubController { pmPdSlabDO.setTwoRollInterimFlag(1); SetPmCmdSlab(pmPdSlabDO);//命令板坯表 - SetPmCmdLargePlt(pmPdSlabDO, ggcr);//命令大板表 + SetPmCmdLargePlt(pmPdSlabDO, ggcr,resultPmContMscTechDO1.get());//命令大板表 pmPdSlabDOList.add(pmPdSlabDO); } @@ -2403,11 +2404,12 @@ public class SubController { } //组板小板位置表 - public void SetPmSmallPltPos() { + public void SetPmSmallPltPos(String mscLineNo) { for (int i = 0; i < gltSelGGrpCalRslt.size(); i++) { GGrpCalRslt ggcr = gltSelGGrpCalRslt.get(i); for (int j = 0; j < ggcr.getLtActInfoGPreOrder().size(); j++) { GPreOrder gpo = ggcr.getLtActInfoGPreOrder().get(j); + PmSmallPltPosDO pmSmallPltPosDO = new PmSmallPltPosDO(); pmSmallPltPosDO.setPdMatNo(ggcr.getVirtualSlabNo()); pmSmallPltPosDO.setOrderNo(gpo.getOrderNo()); @@ -2439,7 +2441,7 @@ public class SubController { pmSmallPltPosDO.setCreationDate(now); pmSmallPltPosDO.setLastUpdateDate(now); - SetPmCmdSmallPlt(pmSmallPltPosDO); + SetPmCmdSmallPlt(pmSmallPltPosDO,resultPmProContProdAttrDO.get(),mscLineNo); pmSmallPltPosDOList.add(pmSmallPltPosDO); } } @@ -2490,7 +2492,7 @@ public class SubController { pmCmdSlabDO.setInfurSlabWt(pmPdSlabDO.getInfurSlabWt().divide(BigDecimal.valueOf(1000000000), 3, RoundingMode.HALF_UP)); pmCmdSlabDO.setInfurSlabMaxWt(pmPdSlabDO.getInfurSlabMaxWt()); pmCmdSlabDO.setInfurSlabMinWt(pmPdSlabDO.getInfurSlabLen()); - pmCmdSlabDO.setNeedSlabLen(pmPdSlabDO.getNeedSlabLen()); + pmCmdSlabDO.setNeedSlabLen(pmPdSlabDO.getInfurSlabLen()); pmCmdSlabDO.setNeedSlabWt(pmPdSlabDO.getInfurSlabWt().divide(BigDecimal.valueOf(1000000000), 3, RoundingMode.HALF_UP)); pmCmdSlabDO.setFixSlabLenFlag(String.valueOf(pmPdSlabDO.getFixSlabLenFlag())); pmCmdSlabDO.setFixSlabLen(pmPdSlabDO.getFixSlabLen().intValue()); @@ -2518,8 +2520,10 @@ public class SubController { } //命令大板表 - public void SetPmCmdLargePlt(PmPdSlabDO pmPdSlabDO, GGrpCalRslt gGrpCalRslt) { + public void SetPmCmdLargePlt(PmPdSlabDO pmPdSlabDO, GGrpCalRslt gGrpCalRslt, PmContMscTechDO pmContMscTechDO) { PmCmdLargePltDO pmCmdLargePltDO = new PmCmdLargePltDO(); + pmCmdLargePltDO.setRollMode(pmContMscTechDO.getRollMode()); + pmCmdLargePltDO.setHotRectifyFlag(pmContMscTechDO.getHotChargeFlag()); pmCmdLargePltDO.setPonoSlabNo(pmPdSlabDO.getVirtualSlabNo()); pmCmdLargePltDO.setTmpSlabNo(pmPdSlabDO.getVirtualSlabNo()); pmCmdLargePltDO.setSlabNo(pmPdSlabDO.getSlabNo()); @@ -2591,6 +2595,7 @@ public class SubController { pmCmdLargePltDO.setSampleLenGive(resultPmProContProdAttrDO.get().getSampleLenGive()); pmCmdLargePltDO.setProdDensity(resultPmProContProdAttrDO.get().getProdDensity()); pmCmdLargePltDO.setPlateDtCode(resultPmProContProdAttrDO.get().getProjectCode()); + pmCmdLargePltDO.setWithSideFlag(resultPmProContProdAttrDO.get().getProdSideMark()); pmCmdLargePltDO.setRsCode(pmPdSlabDO.getRsCode()); pmCmdLargePltDO.setBroadFlag(pmPdSlabDO.getBroadFlag()); @@ -2706,6 +2711,7 @@ public class SubController { } pmCmdContDO.setHeatTreatMode(pmContMscTechDOItem.get().getHeatTreatMode()); pmCmdContDO.setUltDetectMethodCode(pmContMscTechDOItem.get().getUltDetectMethodCode()); + pmCmdContDO.setUrgOrderFlag(pmPdSlabDOItem.get().getUrgOrderFlag()); 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 @@ -2716,7 +2722,7 @@ public class SubController { } //命令小板表 - public void SetPmCmdSmallPlt(PmSmallPltPosDO pmSmallPltPosDO) { + public void SetPmCmdSmallPlt(PmSmallPltPosDO pmSmallPltPosDO, PmProContProdAttrDO pmProContProdAttrDO, String mscLineNo) { PmCmdSmallPltDO pmCmdSmallPltDO = new PmCmdSmallPltDO(); pmCmdSmallPltDO.setPonoSlabNo(pmSmallPltPosDO.getPdMatNo()); pmCmdSmallPltDO.setTmpSlabNo(pmSmallPltPosDO.getPdMatNo()); @@ -2734,6 +2740,8 @@ public class SubController { pmCmdSmallPltDO.setSmallPlateThick(pmSmallPltPosDO.getSmallPlateThick()); pmCmdSmallPltDO.setSmallPlateWidth(pmSmallPltPosDO.getSmallPlateWidth()); pmCmdSmallPltDO.setSmallPlateLen(BigDecimal.valueOf(pmSmallPltPosDO.getSmallPlateLen())); + pmCmdSmallPltDO.setSampleLenGive(BigDecimal.valueOf(pmProContProdAttrDO.getSampleLenGive())); + pmCmdSmallPltDO.setMscLineNo(mscLineNo); pmCmdSmallPltDO.setCreatedBy(781L);//TODO 创建人修改人,暂时默认781 BKGY pmCmdSmallPltDO.setLastUpdatedBy(781L); pmCmdSmallPltDO.setCreationDate(now); 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 dc98a87..b13282a 100644 --- a/1024shop-manager/1024shop-manager/src/main/resources/mapper/SubMapper.xml +++ b/1024shop-manager/1024shop-manager/src/main/resources/mapper/SubMapper.xml @@ -32,16 +32,16 @@ -- AND MS.SLAB_NO = 'C50015130500' -- AND MS.SLAB_NO = 'C50015130100' AND MS.SLAB_NO = #{slabNo} - AND MS.SLAB_STATUS ='29' --在制余材 - AND SUBSTR(MS.SLAB_NO,1,1) NOT IN ('F','E') --复合/叠轧坯,不能组板 - AND NVL(MS.PONO,' ') != ' ' - AND NVL(MS.ST_NO,' ') != ' ' - AND NVL(MS.SLAB_ACT_THK,0.001) > 0.001 - AND NVL(MS.SLAB_ACT_WID,0.001) > 0.001 - AND NVL(MS.SLAB_ACT_LEN,0.001) > 0.001 - AND (NVL(MS.SLAB_ACT_WGT,0.001) > 0.001 OR NVL(MS.SLAB_GROSS_WGT,0.001) > 0.001) - AND SUBSTR(NVL(MS.NEXT_WHOLE_BACKLOG_CODE,'123'),2,1) !='B' --全程工序代码第二位不能是B,不嫩是火切工序 TODO NEXT_WHOLE_BACKLOG_CODE字段值为null 用nvl处理 - AND NVL(MS.COMPLEX_DECIDE_CODE,' ') !='4'--废品 TODO COMPLEX_DECIDE_CODE字段值为null 用nvl处理 +-- AND MS.SLAB_STATUS ='29' --在制余材 +-- AND SUBSTR(MS.SLAB_NO,1,1) NOT IN ('F','E') --复合/叠轧坯,不能组板 +-- AND NVL(MS.PONO,' ') != ' ' +-- AND NVL(MS.ST_NO,' ') != ' ' +-- AND NVL(MS.SLAB_ACT_THK,0.001) > 0.001 +-- AND NVL(MS.SLAB_ACT_WID,0.001) > 0.001 +-- AND NVL(MS.SLAB_ACT_LEN,0.001) > 0.001 +-- AND (NVL(MS.SLAB_ACT_WGT,0.001) > 0.001 OR NVL(MS.SLAB_GROSS_WGT,0.001) > 0.001) +-- AND SUBSTR(NVL(MS.NEXT_WHOLE_BACKLOG_CODE,'123'),2,1) !='B' --全程工序代码第二位不能是B,不嫩是火切工序 TODO NEXT_WHOLE_BACKLOG_CODE字段值为null 用nvl处理 +-- AND NVL(MS.COMPLEX_DECIDE_CODE,' ') !='4'--废品 TODO COMPLEX_DECIDE_CODE字段值为null 用nvl处理 -- AND ((SELECT SUM(NVL(P1.NEED_SLAB_WT,0)) FROM PM_PD_SLAB P1 WHERE P1.SLAB_NO = MS.SLAB_NO)= MS.SLAB_ACT_WGT -- OR (SELECT SUM(NVl(P1.NEED_SLAB_WT,0)) FROM PM_PD_SLAB P1 WHERE P1.SLAB_NO = MS.SLAB_NO) = 0)--重量相同 TODO 此条件加上只能查到一条数据 @@ -58,16 +58,16 @@ -- AND MS.SLAB_NO = 'C50015130500' -- AND MS.SLAB_NO = 'C50015130100' AND MS.SLAB_NO = #{slabNo} - AND MS.SLAB_STATUS ='29' --在制余材 - AND SUBSTR(MS.SLAB_NO,1,1) NOT IN ('F','E') --复合/叠轧坯,不能组板 - AND NVL(MS.PONO,' ') != ' ' - AND NVL(MS.ST_NO,' ') != ' ' - AND NVL(MS.SLAB_ACT_THK,0.001) > 0.001 - AND NVL(MS.SLAB_ACT_WID,0.001) > 0.001 - AND NVL(MS.SLAB_ACT_LEN,0.001) > 0.001 - AND (NVL(MS.SLAB_ACT_WGT,0.001) > 0.001 OR NVL(MS.SLAB_GROSS_WGT,0.001) > 0.001) - AND SUBSTR(NVL(MS.NEXT_WHOLE_BACKLOG_CODE,'123'),2,1) !='B' --全程工序代码第二位不能是B,不嫩是火切工序 TODO NEXT_WHOLE_BACKLOG_CODE字段值为null 用nvl处理 - AND NVL(MS.COMPLEX_DECIDE_CODE,' ') !='4'--废品 TODO COMPLEX_DECIDE_CODE字段值为null 用nvl处理 +-- AND MS.SLAB_STATUS ='29' --在制余材 +-- AND SUBSTR(MS.SLAB_NO,1,1) NOT IN ('F','E') --复合/叠轧坯,不能组板 +-- AND NVL(MS.PONO,' ') != ' ' +-- AND NVL(MS.ST_NO,' ') != ' ' +-- AND NVL(MS.SLAB_ACT_THK,0.001) > 0.001 +-- AND NVL(MS.SLAB_ACT_WID,0.001) > 0.001 +-- AND NVL(MS.SLAB_ACT_LEN,0.001) > 0.001 +-- AND (NVL(MS.SLAB_ACT_WGT,0.001) > 0.001 OR NVL(MS.SLAB_GROSS_WGT,0.001) > 0.001) +-- AND SUBSTR(NVL(MS.NEXT_WHOLE_BACKLOG_CODE,'123'),2,1) !='B' --全程工序代码第二位不能是B,不嫩是火切工序 TODO NEXT_WHOLE_BACKLOG_CODE字段值为null 用nvl处理 +-- AND NVL(MS.COMPLEX_DECIDE_CODE,' ') !='4'--废品 TODO COMPLEX_DECIDE_CODE字段值为null 用nvl处理 -- AND ((SELECT SUM(NVL(P1.NEED_SLAB_WT,0)) FROM PM_PD_SLAB P1 WHERE P1.SLAB_NO = MS.SLAB_NO)= MS.SLAB_ACT_WGT -- OR (SELECT SUM(NVl(P1.NEED_SLAB_WT,0)) FROM PM_PD_SLAB P1 WHERE P1.SLAB_NO = MS.SLAB_NO) = 0)--重量相同 TODO 此条件加上只能查到一条数据 @@ -83,12 +83,12 @@ -- AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO WHERE 1=1 -- AND ppc.ORDER_NO='522484Q020' - AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解,C和S 都代表什么 - AND ppcpa.ORDER_TYPE_CODE != 'QFH' - AND PPC.ON_PD_FLAG != 1 --不用验证操作者 - AND PPC.PD_HOLD_FLAG != 1 -- 不能封锁状态 - AND pcmt.ROLL_DIRECT_CODE ='L' --轧制方向代码 - AND NVL(cm.ORDER_STATUS,0) >= 40 AND NVL(cm.ORDER_STATUS,0) < 67 --TODO 添加nvl处理 表中无效数字 +-- AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解,C和S 都代表什么 +-- AND ppcpa.ORDER_TYPE_CODE != 'QFH' +-- AND PPC.ON_PD_FLAG != 1 --不用验证操作者 +-- AND PPC.PD_HOLD_FLAG != 1 -- 不能封锁状态 +-- AND pcmt.ROLL_DIRECT_CODE ='L' --轧制方向代码 +-- AND NVL(cm.ORDER_STATUS,0) >= 40 AND NVL(cm.ORDER_STATUS,0) < 67 --TODO 添加nvl处理 表中无效数字 -- AND PPC.PD_LACK_QTY > 0 --欠量大于0 TODO 存在欠量小于0的数据 @@ -103,12 +103,12 @@ -- AND cm.MSC_LINE_NO = pcmt.MSC_LINE_NO --PM_PRO_CONT没有MSC_LINE_NO WHERE 1=1 -- AND ppc.ORDER_NO='522484Q020' - AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解,C和S 都代表什么 - AND ppcpa.ORDER_TYPE_CODE != 'QFH' - AND PPC.ON_PD_FLAG != 1 --不用验证操作者 - AND PPC.PD_HOLD_FLAG != 1 -- 不能封锁状态 - AND pcmt.ROLL_DIRECT_CODE ='L'--轧制方向代码 - AND NVL(cm.ORDER_STATUS,0) >= 40 AND NVL(cm.ORDER_STATUS,0) < 67 --TODO 添加nvl处理 表中无效数字 +-- AND PCMT.FUR_TYPE ='C' --加热炉类型 C 没有注解,C和S 都代表什么 +-- AND ppcpa.ORDER_TYPE_CODE != 'QFH' +-- AND PPC.ON_PD_FLAG != 1 --不用验证操作者 +-- AND PPC.PD_HOLD_FLAG != 1 -- 不能封锁状态 +-- AND pcmt.ROLL_DIRECT_CODE ='L'--轧制方向代码 +-- AND NVL(cm.ORDER_STATUS,0) >= 40 AND NVL(cm.ORDER_STATUS,0) < 67 --TODO 添加nvl处理 表中无效数字 -- AND PPC.PD_LACK_QTY > 0 --欠量大于0 TODO 存在欠量小于0的数据