From b10569dc3c4ea8e8530786713cbbbc3246498e74 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 16 六月 2025 15:54:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java | 67 ++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 14 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java index 1357808..448b5aa 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java @@ -10,7 +10,10 @@ import com.iailab.module.ansteel.api.vo.PowerTransferRespVO; import com.iailab.module.ansteel.common.enums.TransferTypeEnum; import com.iailab.module.ansteel.common.utils.DecimalUtil; +import com.iailab.module.model.api.mcs.McsApi; +import com.iailab.module.model.api.mcs.dto.PredictTnValueReqVO; import com.iailab.module.model.api.mdk.MdkApi; +import com.iailab.module.model.api.mdk.dto.MdkPredictDataDTO; import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO; import com.iailab.module.model.api.mdk.dto.MdkScheduleRespDTO; import com.iailab.module.model.enums.CommonConstant; @@ -22,7 +25,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.*; + +import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao @@ -36,6 +42,8 @@ @Autowired private MdkApi mdkApi; + @Autowired + private McsApi mcsApi; /** * 负荷移植-负荷移植建议与方案 @@ -47,6 +55,17 @@ @Operation(summary = "负荷移植-负荷移植建议与方案") public CommonResult<PowerTransferRespVO> scheduleEleLoad(@RequestBody PowerTransferReqVO reqVO) { log.info("异常工况下的负荷移植"); + reqVO.setLimit(new BigDecimal(170000)); + if (reqVO.getTingjiZhong() == null) { + reqVO.setTingjiZhong(0); + } + if (reqVO.getTingjiHou()== null) { + reqVO.setTingjiHou(0); + } + if (reqVO.getTingjiRezha()== null) { + reqVO.setTingjiRezha(0); + } + PowerTransferRespVO result = new PowerTransferRespVO(); List<PowerTransferDetRespVO> adviceList = new ArrayList<>(); try { @@ -64,11 +83,13 @@ Map<String, String> dynamicSettings = new HashMap<>(); Integer[] xiufengOrder = { reqVO.getBfg(), - reqVO.getStart(), reqVO.getNow() == null ? Integer.parseInt(nowH) : reqVO.getNow(), + reqVO.getStart(), reqVO.getMins()}; dynamicSettings.put("xiufeng_order", JSONArray.toJSONString(xiufengOrder)); dynamicSettings.put("jiaohua_BFG_down", reqVO.getLimit().toString()); + Integer[] tingjiOrder = {reqVO.getTingjiZhong(), reqVO.getTingjiHou(), reqVO.getTingjiRezha()}; + dynamicSettings.put("tingji_order", JSONArray.toJSONString(tingjiOrder)); dto.setDynamicSettings(dynamicSettings); break; case JX: @@ -82,15 +103,15 @@ MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); log.info("调度方案执行完成," + mdkScheduleRespDTO); - /*String statusCode = mdkScheduleRespDTO.getStatusCode(); + String statusCode = mdkScheduleRespDTO.getStatusCode(); if (!CommonConstant.MDK_STATUS_100.equals(statusCode)) { log.info("statusCode=" + statusCode); return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), "工序异常,无计算结果"); } - Map<String, Object> data = mdkScheduleRespDTO.getResult();*/ - String fakeData = "{\"houbanAdvice\":[1000.0,150.0,16.97],\"2#LFAdvice\":[1000.0,150.0,11.8],\"1#2#zhiyangAdvice\":[1000.0,150.0,3.0],\"shaojieAdvice\":[1000.0,150.0,8.25],\"CCPPAdvice\":[1000.0,150.0,47.3],\"demand\":[34.4,0.0,3.0,0.0,0.0],\"rezhaAdvice\":[1000.0,150.0,45.86],\"best_total_power\":129.27,\"bfg_gap\":377924.37,\"zhongbanAdvice\":[1000.0,150.0,4.12],\"3#zhiyangAdvice\":[1000.0,150.0,25.3],\"cog_gap\":[800.0,59113.58],\"baihuiAdvice\":[1000.0,150.0,1.0],\"1#LFAdvice\":[1000.0,150.0,15.98]}"; - Map<String, Object> data = JSONObject.parseObject(fakeData, Map.class); + Map<String, Object> data = mdkScheduleRespDTO.getResult(); + // String fakeData = "{\"houbanAdvice\":[1000.0,150.0,16.97],\"2#LFAdvice\":[1000.0,150.0,11.8],\"1#2#zhiyangAdvice\":[1000.0,150.0,3.0],\"shaojieAdvice\":[1000.0,150.0,8.25],\"CCPPAdvice\":[1000.0,150.0,47.3],\"demand\":[34.4,0.0,3.0,0.0,0.0],\"rezhaAdvice\":[1000.0,150.0,45.86],\"best_total_power\":129.27,\"bfg_gap\":377924.37,\"zhongbanAdvice\":[1000.0,150.0,4.12],\"3#zhiyangAdvice\":[1000.0,150.0,25.3],\"cog_gap\":[800.0,59113.58],\"baihuiAdvice\":[1000.0,150.0,1.0],\"1#LFAdvice\":[1000.0,150.0,15.98]}"; + // Map<String, Object> data = JSONObject.parseObject(fakeData, Map.class); switch (TransferTypeEnum.getEumByCode(reqVO.getType())) { case XF: // 高炉休风 @@ -99,9 +120,10 @@ result.setDemand(data.get("demand"));//需量缺口 result.setCogGapTime(data.get("cog_gap") == null ? 0 : DecimalUtil.toBigDecimal(data.get("cog_gap"), 0).intValue()); //焦化减高炉煤气-时间 result.setCogGapAmount(data.get("cog_gap") == null ? 0 : DecimalUtil.toBigDecimal(data.get("cog_gap"), 1).intValue());//焦化减高炉煤气-数量 + result.setBfgShengyue(DecimalUtil.toBigDecimal(data.get("BFG_shengyu"))); - if (data.get("zhongabnAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("中板工序", data.get("zhongabnAdvice"))); + if (data.get("zhongbanAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("中板工序", data.get("zhongbanAdvice"))); } if (data.get("houbanAdvice") != null) { adviceList.add(DecimalUtil.toPowerTransferDetRespVO("厚板工序", data.get("houbanAdvice"))); @@ -112,20 +134,29 @@ if (data.get("baihuiAdvice") != null) { adviceList.add(DecimalUtil.toPowerTransferDetRespVO("白灰工序", data.get("baihuiAdvice"))); } - if (data.get("zhiyangAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("3#制氧机", data.get("zhiyangAdvice"))); + if (data.get("3#zhiyangAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("3#制氧机", data.get("3#zhiyangAdvice"))); } - if (data.get("1LFAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("1#LF炉", data.get("1LFAdvice"))); + if (data.get("1#LFAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("1#LF炉", data.get("1#LFAdvice"))); } - if (data.get("2LFAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("2#LF炉", data.get("2LFAdvice"))); + if (data.get("2#LFAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("2#LF炉", data.get("2#LFAdvice"))); } if (data.get("shaojieAdvice") != null) { adviceList.add(DecimalUtil.toPowerTransferDetRespVO("B系列烧结", data.get("shaojieAdvice"))); } - if (data.get("shaojieAdvice") != null) { + if (data.get("CCPPAdvice") != null) { adviceList.add(DecimalUtil.toPowerTransferDetRespVO("CCPP", data.get("CCPPAdvice"))); + } + if (data.get("135Advice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("135机组", data.get("135Advice"))); + } + if (data.get("1#2#zhiyangAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("1#2#制氧机", data.get("1#2#zhiyangAdvice"))); + } + if (data.get("2#lianganglianzhuAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("2#炼钢连铸", data.get("2#lianganglianzhuAdvice"))); } result.setAdviceList(adviceList); log.info("XFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXF"); @@ -147,4 +178,12 @@ log.info("result=" + JSONObject.toJSONString(result)); return CommonResult.success(result); } + + @PostMapping("/predict-data/tn-value") + @Operation(summary = "获取T+N预测数据") + public CommonResult<List<MdkPredictDataDTO>> getPredictTnValue(@RequestBody PredictTnValueReqVO reqVO) { + log.info("PredictTnValueReqVO:"+reqVO); + List<MdkPredictDataDTO> list = mcsApi.getPredictTnValue(reqVO); + return success(list); + } } \ No newline at end of file -- Gitblit v1.9.3