From 277bf84e1b064c216fc656853d48c829e9c0e204 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 31 三月 2025 16:27:22 +0800 Subject: [PATCH] 异常工况下的负荷移植 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java | 67 ++++++++++++++++++++++----------- doc/鞍钢数据接口文档_dev_pan.doc | 0 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferRespVO.java | 2 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferReqVO.java | 7 ++- 4 files changed, 50 insertions(+), 26 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 1503e7a..ad95115 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 @@ -11,6 +11,7 @@ import com.iailab.module.model.api.mdk.MdkApi; 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; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -47,35 +48,55 @@ calendar.set(Calendar.MILLISECOND,0); MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); dto.setScheduleTime(calendar.getTime()); - 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); + 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())) { + // 产线检修 + + + } log.info("调度方案开始执行," + JSONObject.toJSONString(dto)); MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); log.info("调度方案执行完成," + mdkScheduleRespDTO); - Map<String, Object> data = mdkScheduleRespDTO.getResult(); - 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()); + String statusCode = mdkScheduleRespDTO.getStatusCode(); + if (!CommonConstant.MDK_STATUS_100.equals(statusCode)) { + log.info("statusCode=" + statusCode); + return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), "工序异常,无计算结果"); + } - 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"))); + 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()); + + 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"))); + + } else if ("2".equals(reqVO.getType())) { + // 产线检修 + + } } catch (Exception ex) { ex.printStackTrace(); diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferReqVO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferReqVO.java index 62b3546..aba6d93 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferReqVO.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferReqVO.java @@ -16,7 +16,10 @@ public class PowerTransferReqVO implements Serializable { private static final long serialVersionUID = 1L; - @Schema(description = "休风时间开始(901)") + @Schema(description = "异常工况类型(1:高炉休风;2:产线检修)") + private Integer type; + + @Schema(description = "休风开始时间") private Integer start; @Schema(description = "休风时长") @@ -25,6 +28,6 @@ @Schema(description = "休风高炉(1/2)") private Integer bfg; - @Schema(description = "上限") + @Schema(description = "焦化消耗高炉煤气下限(大于0)") private BigDecimal limit; } \ No newline at end of file diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferRespVO.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferRespVO.java index f59fa27..b95d138 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferRespVO.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/vo/PowerTransferRespVO.java @@ -33,6 +33,6 @@ @Schema(description = "焦化减高炉煤气-数量") private Integer jiaohuaAdviceAmount; - @Schema(description = "焦化减高炉煤气-数量") + @Schema(description = "建议列表") private List<PowerTransferDetRespVO> adviceList; } \ No newline at end of file diff --git "a/doc/\351\236\215\351\222\242\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243_dev_pan.doc" "b/doc/\351\236\215\351\222\242\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243_dev_pan.doc" index 8f9b9a7..5b180c6 100644 --- "a/doc/\351\236\215\351\222\242\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243_dev_pan.doc" +++ "b/doc/\351\236\215\351\222\242\346\225\260\346\215\256\346\216\245\345\217\243\346\226\207\346\241\243_dev_pan.doc" Binary files differ -- Gitblit v1.9.3