From 9580fc23754b06addc64155eabb25a10b2d71102 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期四, 24 四月 2025 14:13:14 +0800 Subject: [PATCH] 电网拓扑下拉列表 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java | 111 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 76 insertions(+), 35 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 ad95115..9278972 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 @@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSONObject; import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants; import com.iailab.framework.common.pojo.CommonResult; +import com.iailab.framework.common.util.date.DateUtils; import com.iailab.module.ansteel.api.vo.PowerTransferDetRespVO; import com.iailab.module.ansteel.api.vo.PowerTransferReqVO; 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.mdk.MdkApi; import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO; @@ -35,8 +37,14 @@ @Autowired private MdkApi mdkApi; + /** + * 负荷移植-负荷移植建议与方案 + * + * @param reqVO + * @return + */ @PostMapping("/power-transfer") - @Operation(summary = "异常工况下的负荷移植") + @Operation(summary = "负荷移植-负荷移植建议与方案") public CommonResult<PowerTransferRespVO> scheduleEleLoad(@RequestBody PowerTransferReqVO reqVO) { log.info("异常工况下的负荷移植"); PowerTransferRespVO result = new PowerTransferRespVO(); @@ -48,22 +56,28 @@ calendar.set(Calendar.MILLISECOND,0); MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); dto.setScheduleTime(calendar.getTime()); - - if ("1".equals(reqVO.getType())) { - // 高炉休风 - dto.setScheduleCode("AnSteelpowertransfer"); - Map<String, String> dynamicSettings = new HashMap<>(); - Integer[] xiufengOrder = {reqVO.getBfg(), - reqVO.getStart(), - reqVO.getMins()}; - dynamicSettings.put("xiufeng_order", JSONArray.toJSONString(xiufengOrder)); - dynamicSettings.put("jiaohua_BFG_down", reqVO.getLimit().toString()); - dto.setDynamicSettings(dynamicSettings); - } else if ("2".equals(reqVO.getType())) { - // 产线检修 - - + String nowH = DateUtils.format(calendar.getTime(), "hh:mm"); + switch (TransferTypeEnum.getEumByCode(reqVO.getType())) { + case XF: + // 高炉休风 + dto.setScheduleCode("AnSteelpowertransfer"); + Map<String, String> dynamicSettings = new HashMap<>(); + Integer[] xiufengOrder = { + reqVO.getBfg(), + reqVO.getStart(), + reqVO.getNow() == null ? Integer.parseInt(nowH) : reqVO.getNow(), + reqVO.getMins()}; + dynamicSettings.put("xiufeng_order", JSONArray.toJSONString(xiufengOrder)); + dynamicSettings.put("jiaohua_BFG_down", reqVO.getLimit().toString()); + dto.setDynamicSettings(dynamicSettings); + break; + case JX: + // 产线检修 + break; + default: + return CommonResult.error(GlobalErrorCodeConstants.NOT_FOUND, "Type参数错误"); } + log.info("调度方案开始执行," + JSONObject.toJSONString(dto)); MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); log.info("调度方案执行完成," + mdkScheduleRespDTO); @@ -75,33 +89,60 @@ } Map<String, Object> data = mdkScheduleRespDTO.getResult(); - if ("1".equals(reqVO.getType())) { - // 高炉休风 - result.setBestTotalPower(DecimalUtil.toBigDecimal(data.get("best_total_power"))); - result.setBfgAdvice(DecimalUtil.toBigDecimal(data.get("BFGAdvice"))); - result.setDemandAdvice(DecimalUtil.toBigDecimal(data.get("DemandAdvice"))); - result.setJiaohuaAdviceTime(DecimalUtil.toBigDecimal(data.get("jiaohuaAdvice"), 0).intValue()); - result.setJiaohuaAdviceAmount(DecimalUtil.toBigDecimal(data.get("jiaohuaAdvice"), 1).intValue()); + switch (TransferTypeEnum.getEumByCode(reqVO.getType())) { + case XF: + // 高炉休风 + result.setBestTotalPower(DecimalUtil.toBigDecimal(data.get("best_total_power")));//负荷调整总量 + result.setBfgGap(DecimalUtil.toBigDecimal(data.get("bfg_gap")));//煤气送管网缺口 + result.setDemand(DecimalUtil.toBigDecimal(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());//焦化减高炉煤气-数量 - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("中板工序", data.get("zhongabnAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("厚板工序", data.get("houbanAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("热轧工序", data.get("rezhaAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("白灰工序", data.get("baihuiAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("3#制氧机", data.get("zhiyangAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("1#LF炉", data.get("1LFAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("2#LF炉", data.get("2LFAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("B系列烧结", data.get("shaojieAdvice"))); - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("CCPP", data.get("CCPPAdvice"))); + if (data.get("zhongabnAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("中板工序", data.get("zhongabnAdvice"))); + } + if (data.get("houbanAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("厚板工序", data.get("houbanAdvice"))); + } + if (data.get("rezhaAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("热轧工序", data.get("rezhaAdvice"))); + } + 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("1LFAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("1#LF炉", data.get("1LFAdvice"))); + } + if (data.get("2LFAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("2#LF炉", data.get("2LFAdvice"))); + } + if (data.get("shaojieAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("B系列烧结", data.get("shaojieAdvice"))); + } + if (data.get("shaojieAdvice") != null) { + adviceList.add(DecimalUtil.toPowerTransferDetRespVO("CCPP", data.get("CCPPAdvice"))); + } + result.setAdviceList(adviceList); + log.info("XFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXF"); + break; + case JX: + // 产线检修 - } else if ("2".equals(reqVO.getType())) { - // 产线检修 + log.info("JXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJXJX"); + break; + default: + + break; } - } catch (Exception ex) { ex.printStackTrace(); return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), ex.getMessage()); } + log.info("result=" + JSONObject.toJSONString(result)); return CommonResult.success(result); } } \ No newline at end of file -- Gitblit v1.9.3