From 56c701ab19eb16ebf2f75bdd42b4ea9da1c2a733 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期三, 25 六月 2025 14:19:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/ModelController.java | 102 ++++++++++++++++++++++----------------------------- 1 files changed, 44 insertions(+), 58 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 d47bdd4..1e6f233 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 @@ -70,35 +70,50 @@ if (reqVO.getTingjiRezha()== null) { reqVO.setTingjiRezha(0); } + if (reqVO.getIsReduceCog() == null) { + return CommonResult.error(GlobalErrorCodeConstants.UNKNOWN.getCode(), "IsReduceCog is null"); + } MdkScheduleReqDTO fhyzDto = new MdkScheduleReqDTO(); PowerTransferRespVO result = new PowerTransferRespVO(); - List<PowerTransferDetRespVO> adviceList = new ArrayList<>(); + List<PowerTransferDetRespVO> demandAdviceList = new ArrayList<>(); + List<PowerTransferDetRespVO> gasAdviceList = new ArrayList<>(); try { log.info("PowerTransferReqVO=" + JSONObject.toJSONString(reqVO)); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.SECOND,0); calendar.set(Calendar.MILLISECOND,0); + // 0 建议编码 + List<ChartParamDTO> demandParamList = mcsApi.getChartParamList(com.iailab.module.ansteel.common.constant.CommonConstant.FHYZ_DEMAND_ADVICE); + Map<String, ChartParamDTO> demandAdviceCodeMap = new HashMap<>(); + List<String> demandAdviceCodeList = new ArrayList<>(); + if (demandParamList != null) { + for (ChartParamDTO chartParamDTO : demandParamList) { + demandAdviceCodeMap.put(chartParamDTO.getParamCode(), chartParamDTO); + demandAdviceCodeList.add(chartParamDTO.getParamCode()); + } + } + + List<ChartParamDTO> gasParamList = mcsApi.getChartParamList(com.iailab.module.ansteel.common.constant.CommonConstant.FHYZ_GAS_ADVICE); + Map<String, ChartParamDTO> gasAdviceCodeMap = new HashMap<>(); + List<String> gasAdviceCodeList = new ArrayList<>(); + if (gasParamList != null) { + for (ChartParamDTO chartParamDTO : gasParamList) { + gasAdviceCodeMap.put(chartParamDTO.getParamCode(), chartParamDTO); + gasAdviceCodeList.add(chartParamDTO.getParamCode()); + } + } + String nowH = DateUtils.format(calendar.getTime(), "hh:mm"); switch (TransferTypeEnum.getEumByCode(reqVO.getType())) { case XF: - // 0 建议编码 - List<ChartParamDTO> chartParamList = mcsApi.getChartParamList(com.iailab.module.ansteel.common.constant.CommonConstant.FHYZ_ADVICE_CODE); - Map<String, Integer> fhyzAdviceCodeMap = new HashMap<>(); - List<String> fhyzAdviceCodeList = new ArrayList<>(); - if (chartParamList != null) { - for (ChartParamDTO chartParamDTO : chartParamList) { - fhyzAdviceCodeMap.put(chartParamDTO.getParamCode(), Integer.parseInt(chartParamDTO.getParamValue())); - fhyzAdviceCodeList.add(chartParamDTO.getParamCode()); - } - } // 1 日平衡 /*日平衡动态参数 zhiling_params [休风高炉,休风时长] jiaohua_params [是否减焦化BFG,下限] - load_change_state [热轧,厚板,中板,A系列烧结,B系列烧结] + testlist [热轧,厚板,中板,A系列烧结,B系列烧结] GASrezhaAdvice GAShoubanAdvice GASzhongbanAdvice @@ -114,15 +129,15 @@ zhilingParams.add(reqVO.getMins()); rphSettings.put("zhiling_params", JSONArray.toJSONString(zhilingParams)); List<Integer> jiaohuaParams = new ArrayList<>(); - jiaohuaParams.add(1); + jiaohuaParams.add(reqVO.getIsReduceCog() == 0 ? 0 : 1); jiaohuaParams.add(reqVO.getLimit().intValue()); rphSettings.put("jiaohua_params", JSONArray.toJSONString(jiaohuaParams)); List<Integer> loadChangeState = new ArrayList<>(); String[] loadChangeArr = {"GASrezhaAdvice", "GAShoubanAdvice", "GASzhongbanAdvice", "GASAshaojieAdvice", "GASBshaojieAdvice"}; - for (int i = 0; i < loadChangeState.size(); i++) { + for (int i = 0; i < loadChangeArr.length; i++) { loadChangeState.add(reqVO.getAdviceCodeList().contains(loadChangeArr[i]) ? 1 : 0); } - rphSettings.put("load_change_state", JSONArray.toJSONString(loadChangeState)); + rphSettings.put("testlist", JSONArray.toJSONString(loadChangeState)); rphScheduleReqDTO.setDynamicSettings(rphSettings); log.info("负荷移植调用日平衡开始执行," + JSONObject.toJSONString(rphScheduleReqDTO)); MdkScheduleRespDTO rphRespDTO = mdkApi.doSchedule(rphScheduleReqDTO); @@ -134,7 +149,6 @@ } String gasUseAllnNew = rphRespDTO.getResult().get("Gas_Use_All_new").toString(); log.info("gasUseAllnNew=" + gasUseAllnNew); - // 高炉休风 fhyzDto.setScheduleTime(calendar.getTime()); @@ -160,7 +174,7 @@ choiceParams.add(-1); } else { for(String adviceCode : reqVO.getAdviceCodeList()) { - choiceParams.add(fhyzAdviceCodeMap.get(adviceCode)); + choiceParams.add(Integer.parseInt(demandAdviceCodeMap.get(adviceCode).getParamValue())); } } dynamicSettings.put("choice_params", JSONArray.toJSONString(choiceParams)); @@ -189,50 +203,22 @@ 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(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"))); + result.setDemand(data.get("demand")); + result.setGasGap(data.get("gas_gap")); + result.setFadian(data.get("fadian")); - if (data.get("zhongbanAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("中板工序", data.get("zhongbanAdvice"))); + for (String adviceCode : demandAdviceCodeList) { + if (data.get(adviceCode) != null) { + demandAdviceList.add(DecimalUtil.toPowerTransferDetRespVO(adviceCode, demandAdviceCodeMap.get(adviceCode).getParamName(), data.get(adviceCode))); + } } - if (data.get("houbanAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("厚板工序", data.get("houbanAdvice"))); + result.setDemandAdviceList(demandAdviceList); + for (String adviceCode : gasAdviceCodeList) { + if (data.get(adviceCode) != null) { + gasAdviceList.add(DecimalUtil.toPowerTransferDetRespVO(adviceCode, gasAdviceCodeMap.get(adviceCode).getParamName(), data.get(adviceCode))); + } } - 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("3#zhiyangAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("3#制氧机", data.get("3#zhiyangAdvice"))); - } - if (data.get("1#LFAdvice") != null) { - adviceList.add(DecimalUtil.toPowerTransferDetRespVO("1#LF炉", data.get("1#LFAdvice"))); - } - 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("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); + result.setGasAdviceList(gasAdviceList); log.info("XFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXFXF"); break; case JX: -- Gitblit v1.9.3