From 0590e110ef0ce4d9aba306b5877738d7d03cdb09 Mon Sep 17 00:00:00 2001 From: BKGY_MYT <1536233200@qq.com> Date: Fri, 21 Mar 2025 16:47:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pm/api/controller/v1/SubController.java | 51 ++++++------------- .../com/xisc/pm/app/service/SubService.java | 2 +- .../pm/app/service/impl/SubServiceImpl.java | 23 ++++++++- 3 files changed, 37 insertions(+), 39 deletions(-) diff --git a/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java index 3e7f5e9..ad05f78 100644 --- a/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java +++ b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java @@ -1,10 +1,7 @@ package com.xisc.pm.api.controller.v1; -import com.google.common.collect.Maps; import com.google.ortools.Loader; import com.xisc.pm.api.dto.PmPdRecDTO; -import com.xisc.pm.api.dto.PmProContFilterResposeDTO; -import com.xisc.pm.api.dto.PmProductionPlanReqDTO; import com.xisc.pm.api.dto.QdMatchParamDTO; import com.xisc.pm.api.dto.QdSurplusLowMagnificationDTO; import com.xisc.pm.api.dto.model.*; @@ -22,7 +19,6 @@ import org.hzero.mybatis.helper.SecurityTokenHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; @@ -353,8 +349,6 @@ public class SubController { logger.info("***初次分组数量*** " + gltGrpOrderFir.size()); - //执行日志保存 - subService.saveSubLog("初次分组数量", finalSubMode, "成功", String.valueOf(gltGrpOrderFir.size()), organizationId); //被使用的订单数据实例化 @@ -362,55 +356,45 @@ public class SubController { //循环板坯 plistSlab.forEach(p -> { + PmSubLog subLog = new PmSubLog(); + subLog.setSlabNo(p.getSlabNo()); + subLog.setSubMode(finalSubMode); + subLog.setSubRslt("成功"); + subLog.setTenantId(organizationId); + + String subLogStr = ""; logger.info("*************板坯开始{}************* ", p.getSlabNo()); logger.info("***板坯信息:{} 厚宽长:{}*{}*{} ", p.getSlabNo(), p.getSlabActThk(), p.getSlabActWid(), p.getSlabActLen()); //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "板坯信息 厚宽长:" + p.getSlabActThk() + "*" + p.getSlabActWid() + "*" + p.getSlabActLen(), organizationId); + subLogStr = "板坯信息 厚宽长:" + 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()); - - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "板坯信息被排除 原因 长度不在范围内", organizationId); - return; } // 判断板坯的宽度是否在plistpmAutoSubSettingDO配置的范围内 if (p.getSlabActWid().compareTo(plistpmAutoSubSettingDO.get(0).getMatWidthMin()) < 0 && p.getSlabActWid().compareTo(plistpmAutoSubSettingDO.get(0).getMatWidthMax()) > 0) { logger.info("***板坯信息被排除:{} 宽度不在范围内 ", p.getSlabNo()); - - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "板坯信息被排除 原因 宽度不在范围内", organizationId); return; } // 判断板坯的厚度是否在plistpmAutoSubSettingDO配置的范围内 if (p.getSlabActThk().compareTo(plistpmAutoSubSettingDO.get(0).getMatThickMin()) < 0 && p.getSlabActThk().compareTo(plistpmAutoSubSettingDO.get(0).getMatThickMax()) > 0) { logger.info("***板坯信息被排除:{} 厚度不在范围内 ", p.getSlabNo()); - - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "板坯信息被排除 原因 厚度不在范围内", organizationId); return; } //判断plistpmIrsubableSlabDO是否包含P.SlabNO范围内 if (plistpmIrsubableSlabDO.stream().anyMatch(x -> x.getSlabNo().equals(p.getSlabNo()))) { logger.info("***板坯信息被排除:{} 不可组板 ", p.getSlabNo()); - - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "板坯信息被排除 原因 判断plistpmIrsubableSlabDO是否包含P.SlabNO范围内 不可组板", organizationId); return; } //判断plistpmRetainStDO是否包含P的钢种,判断这个板坯的钢种是否可组板 if (plistpmRetainStDO.stream().anyMatch(x -> x.getStNo().equals(p.getStNo()))) { logger.info("***板坯信息被排除:{} 不可组板 ", p.getSlabNo()); - - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "板坯信息被排除 原因 判断plistpmRetainStDO是否包含P的钢种,判断这个板坯的钢种是否可组板 不可组板", organizationId); - return; } @@ -429,12 +413,12 @@ public class SubController { logger.info("***二次分组1数量*** " + gltGCalGrp.size()); //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "二次分组1数量:" + gltGCalGrp.size(), organizationId); + subLogStr += "-----二次分组1数量:" + gltGCalGrp.size(); logger.info("***二次分组2数量*** " + gltGCal2Grp.size()); //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "二次分组2数量:" + gltGCal2Grp.size(), organizationId); + subLogStr += "-----二次分组2数量:" + gltGCal2Grp.size(); gltGCalGrp.addAll(gltGCal2Grp); @@ -488,10 +472,9 @@ public class SubController { logger.info("所有结果数据板坯号:{};数量:{}", p.getSlabNo(), gltGGrpCalRslt.size()); logger.info("选择结果数据板坯号:{};数量:{}", p.getSlabNo(), gltSelGGrpCalRslt.size()); //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "结果数据数量1" + gltGGrpCalRslt.size(), organizationId); - subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "结果数据数量2" + gltSelGGrpCalRslt.size(), organizationId); - + subLogStr += "-----结果数据数量1" + gltGGrpCalRslt.size() + "-----结果数据数量2" + gltSelGGrpCalRslt.size(); } + subLog.setSubLog(subLogStr); if (gltSelGGrpCalRslt.size() > 0) { now = new Date(); //存储数据,组板结果 @@ -502,7 +485,7 @@ public class SubController { //TransactionStatus transactionStatus = transactionService.begin(); try { //保存数据 - SaveData(p,organizationId); + SaveData(p,organizationId,subLog); //transactionService.commit(transactionStatus); } catch (Exception e) { logger.error("保存事务回滚:" + p.getSlabNo(), e); @@ -513,12 +496,8 @@ public class SubController { } catch (Exception e) { logger.error("板坯报错:" + p.getSlabNo(), e); - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "失败", "板坯报错" + e, organizationId); } logger.info("*************板坯结束{}************* ", p.getSlabNo()); - //执行日志保存 - subService.saveSubLog(p.getSlabNo(), finalSubMode, "成功", "板坯结束", organizationId); logger.info(""); } @@ -4027,7 +4006,7 @@ public class SubController { } - public void SaveData(SlabInfoDO p,Long organizationId) { + public void SaveData(SlabInfoDO p, Long organizationId, PmSubLog subLog) { // subService.batchInsertPmPdSlab(pmPdSlabDOList); // System.out.println("PmPdSlab表一保存成功"); // subService.batchInsertPmCmdSlab(pmCmdSlabDOList); @@ -4047,7 +4026,7 @@ public class SubController { // subService.batchInsertPmCmdCont(pmCmdContDOList); // System.out.println("PmCmdCont 命令参数 保存成功"); - subService.SaveData(p,pmPdSlabDOList, pmPdPlateCutDOList, pmPdBlockPosDOList, pmPdContSumDOList, pmSmallPltPosDOList, pmCmdSlabDOList, pmCmdLargePltDOList, pmCmdContDOList, pmCmdSmallPltDOList,plistpmSubHisDO,plistpmSubOrdDO,pmPdRecs,organizationId); + subService.SaveData(p,pmPdSlabDOList, pmPdPlateCutDOList, pmPdBlockPosDOList, pmPdContSumDOList, pmSmallPltPosDOList, pmCmdSlabDOList, pmCmdLargePltDOList, pmCmdContDOList, pmCmdSmallPltDOList,plistpmSubHisDO,plistpmSubOrdDO,pmPdRecs,organizationId,subLog); } diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java index 8df8a06..8ea8025 100644 --- a/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java @@ -124,7 +124,7 @@ public interface SubService { List getPmThickAddvBt(); - void SaveData(SlabInfoDO p, List pmPdSlabDOList, List pmPdPlateCutDOList, List pmPdBlockPosDOList, List pmPdContSumDOList, List pmSmallPltPosDOList, List pmCmdSlabDOList, List pmCmdLargePltDOList, List pmCmdContDOList, List pmCmdSmallPltDOList, List plistpmSubHisDO, List plistpmSubOrdDO, List pmPdRecDTOList, Long organizationId); + void SaveData(SlabInfoDO p, List pmPdSlabDOList, List pmPdPlateCutDOList, List pmPdBlockPosDOList, List pmPdContSumDOList, List pmSmallPltPosDOList, List pmCmdSlabDOList, List pmCmdLargePltDOList, List pmCmdContDOList, List pmCmdSmallPltDOList, List plistpmSubHisDO, List plistpmSubOrdDO, List pmPdRecDTOList, Long organizationId, PmSubLog subLog); void saveSubLog(String slabNo, long subMode, String subRslt, String subLog, Long organizationId); diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java index 7b93a4c..f089d33 100644 --- a/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java @@ -444,9 +444,9 @@ public class SubServiceImpl implements SubService { @Override @Transactional(rollbackFor = Exception.class) - public void SaveData(SlabInfoDO p, List pmPdSlabDOList, List pmPdPlateCutDOList, List pmPdBlockPosDOList, List pmPdContSumDOList, List pmSmallPltPosDOList, List pmCmdSlabDOList, List pmCmdLargePltDOList, List pmCmdContDOList, List pmCmdSmallPltDOList, List plistpmSubHisDO, List plistpmSubOrdDO, List pmPdRecDTOList, Long organizationId) { - + public void SaveData(SlabInfoDO p, List pmPdSlabDOList, List pmPdPlateCutDOList, List pmPdBlockPosDOList, List pmPdContSumDOList, List pmSmallPltPosDOList, List pmCmdSlabDOList, List pmCmdLargePltDOList, List pmCmdContDOList, List pmCmdSmallPltDOList, List plistpmSubHisDO, List plistpmSubOrdDO, List pmPdRecDTOList, Long organizationId, PmSubLog subLog) { + String subLogStr = subLog.getSubLog(); //抛合同事件 String bizId = pmPdRecDTOList.get(0).getKeyvalue1(); String key = String.format(PmPlateConstants.YIELD_EXEC_LOCK_KEY, organizationId.toString(), bizId); @@ -478,6 +478,7 @@ public class SubServiceImpl implements SubService { Constants.SYSTEM_PD_CODE, "余材板坯组板"); System.out.println("抛合同组板事件 执行成功"); // 抛合同 + subLogStr += "-----抛合同组板事件 执行成功"; } finally { @@ -491,47 +492,58 @@ public class SubServiceImpl implements SubService { if (plistpmSubHisDO.size() > 0) { pmSubHisRepository.batchInsertSelective(plistpmSubHisDO); System.out.println("pmSubHis表 保存成功"); + subLogStr += "-----pmSubHis表 保存成功"; } if (plistpmSubOrdDO.size() > 0) { pmSubOrdRepository.batchInsertSelective(plistpmSubOrdDO); System.out.println("pmSubOrd表 保存成功"); + subLogStr += "-----pmSubOrd表 保存成功"; } // if (pmPdSlabDOList.size() > 0) { pmPdSlabRepository.batchInsertSelective(pmPdSlabDOList); System.out.println("PmPdSlab表 保存成功"); + subLogStr += "-----PmPdSlab表 保存成功"; } if (pmPdPlateCutDOList.size() > 0) { pmPdPlateCutRepository.batchInsertSelective(pmPdPlateCutDOList); System.out.println("PmPdPlateCut 大板粗切位置 保存成功"); + subLogStr += "-----PmPdPlateCut 大板粗切位置 保存成功"; } if (pmPdBlockPosDOList.size() > 0) { pmPdBlockPosRepository.batchInsertSelective(pmPdBlockPosDOList); System.out.println("PmPdBlockPos 组合子板位置表 保存成功"); + subLogStr += "-----PmPdBlockPos 组合子板位置表 保存成功"; } if (pmPdContSumDOList.size() > 0) { pmPdContSumRepository.batchInsertSelective(pmPdContSumDOList); System.out.println("PmPdContSum 合同总量表 保存成功"); + subLogStr += "-----PmPdContSum 合同总量表 保存成功"; } if (pmSmallPltPosDOList.size() > 0) { pmSmallPltPosRepository.batchInsertSelective(pmSmallPltPosDOList); System.out.println("PmSmallPltPos 命令小板位置表 保存成功"); + subLogStr += "-----PmSmallPltPos 命令小板位置表 保存成功"; } if (pmCmdSlabDOList.size() > 0) { pmCmdSlabRepository.batchInsertSelective(pmCmdSlabDOList); System.out.println("PmCmdSlab 保存成功"); + subLogStr += "-----PmCmdSlab 保存成功"; } if (pmCmdLargePltDOList.size() > 0) { pmCmdLargePltRepository.batchInsertSelective(pmCmdLargePltDOList); System.out.println("pmCmdLargePltDO 命令大板 保存成功"); + subLogStr += "-----pmCmdLargePltDO 命令大板 保存成功"; } if (pmCmdContDOList.size() > 0) { pmCmdContRepository.batchInsertSelective(pmCmdContDOList); System.out.println("PmCmdCont 命令参数 保存成功"); + subLogStr += "-----PmCmdCont 命令参数 保存成功"; } if (pmCmdSmallPltDOList.size() > 0) { pmCmdSmallPltRepository.batchInsertSelective(pmCmdSmallPltDOList); System.out.println("PmCmdSmallPlt 命令小板表 保存成功"); + subLogStr += "-----PmCmdSmallPlt 命令小板表 保存成功"; } // 调用mm接口 @@ -543,16 +555,23 @@ public class SubServiceImpl implements SubService { pmPdSlabInfo = buildPmPdSlabInfo(pmPdSlabSplitDTO, p.getSlabNo(), p.getMscLineNo(), p.getTenantId()); pmPdSlabInfoRepository.insertSelective(pmPdSlabInfo); System.out.println("pmPdSlabInfo表 保存成功"); + subLogStr += "-----pmPdSlabInfo表 保存成功"; //抛合同 zbCtEventRec(organizationId, pmPdSlabDOList, pmCmdLargePltDOList, pmCmdSlabDOList, pmSmallPltPosDOList); System.out.println("抛合同事件完成"); + subLogStr += "-----抛合同事件完成"; // 轧钢模块“在制品材料管理封锁事件接口" callMatStatusModify(pmPdSlabInfo); System.out.println("mm模块接口 调用成功"); + subLogStr += "-----mm模块接口 调用成功"; System.out.println("程序执行完成!"); + subLogStr += "-----程序执行完成!"; + subLog.setSubDate(new java.util.Date()); + subLog.setSubLog(subLogStr); + pmSubLogRepository.insertSelective(subLog); } @Override