From ee9178fd08db8862ca629411b48ffd3ea8c40dff Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 13 六月 2025 14:21:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java |   46 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 38 insertions(+), 8 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 50fc65d..e651569 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,7 @@
     @Operation(summary = "负荷移植-负荷移植建议与方案")
     public CommonResult<PowerTransferRespVO> scheduleEleLoad(@RequestBody PowerTransferReqVO reqVO) {
         log.info("异常工况下的负荷移植");
+        reqVO.setLimit(new BigDecimal(170000));
         PowerTransferRespVO result = new PowerTransferRespVO();
         List<PowerTransferDetRespVO> adviceList = new ArrayList<>();
         try {
@@ -64,11 +73,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:
@@ -89,6 +100,8 @@
             }
 
             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:
                     // 高炉休风
@@ -97,6 +110,7 @@
                     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")));
@@ -110,20 +124,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");
@@ -145,4 +168,11 @@
         log.info("result=" + JSONObject.toJSONString(result));
         return CommonResult.success(result);
     }
+
+    @PostMapping("/predict-data/tn-value")
+    @Operation(summary = "获取T+N预测数据")
+    public CommonResult<List<MdkPredictDataDTO>> getPredictTnValue(PredictTnValueReqVO reqVO) {
+        List<MdkPredictDataDTO> list = mcsApi.getPredictTnValue(reqVO);
+        return success(list);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3