From 92dd2a69b3c53a46b5e92fc9d8303df4ba2276b9 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期二, 29 四月 2025 17:23:18 +0800 Subject: [PATCH] 定时任务修改 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java | 90 +++++++---------- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java | 57 +++++------ /dev/null | 0 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java | 64 +++++++----- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java | 66 +++++------- 5 files changed, 129 insertions(+), 148 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java index 4a612a4..1e08094 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java @@ -11,6 +11,7 @@ import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.ChartParamDTO; +import com.iailab.module.model.api.mdk.MdkApi; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -57,6 +59,9 @@ @Autowired private McsApi mcsApi; + @Autowired + private MdkApi mdkApi; + private final static String process = "备煤工序"; private final static String reportName = "备煤工序异常溯源"; @@ -67,29 +72,20 @@ private final static String coalRow = "coalRow"; - private static final HashMap<String, Object> coalColoumMap = new HashMap<String, Object>() {{ - put("coalColoum0", "一级指标-偏差值"); - put("coalColoum1", "二级指标-偏差值"); - put("coalColoum2", "影响因素1-偏差值"); - }}; - - private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{ - put("F0000101008", "备煤耗电"); - }}; - private static final String jsonStr = "{\n" + " " + "\"result\": {\n" + - "\"coalPrepElec\":[1600.8,1613.5],\n" + - "\"coalPrepElecIndex\":[[0.8,0.73],[723,608],[1782,1782],[752,743],[729,783]],\n" + - "\"coalPrepElecTotal1\":\"1#粉碎机耗电因粉碎机偏高增加220KW/h,经模型计算,建建议调整单班用煤量,预计可使粉碎机耗电量指标降低170KW/h\",\n" + - "\"coalPrepElecTotal2\":\"1#粉碎机耗电量数据异常\",\n" + - "\"coalRow0\":[[0,450],[0,137],[0,342]],\n" + - "\"coalRow1\":[[0,450],[3,134],[1,142]],\n" + - "\"coalRow2\":[[4,142],[4,132],[4,349]],\n" + - "\"coalPrepElecHomePage\":[[50,42],[10,10]],\n" + - "\"coalHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" + - "\"coalIndexInfo\":\"4月25日甲班:备煤耗电异常\",\n" + - "\"coalErr\":\"4月25日粉碎机耗电数据异常(无数据)\"\n" + " }" + "}"; + "\"coalHomeIndexInfo\":\"2025-04-28 甲班 备煤耗电偏高\"," + + "\"coalPrepElec\":[1600.8,1613.5]," + + "\"coalPrepElecTotal1\":\"备煤耗电量偏高,经模型计算,原因和调整建议如下:煤量异常,当前值2000, 建议调整煤量至区间[765.0,1020.0]\"," + + "\"coalPrepElecTime\":[[0.3,0.3],[1700.31,1900.2],[120.3]]," + + "\"coalPrepElecIndex\":[133527.2,283517.6,83451.5,233461.2,83564.4]," + + "\"coalRow0\":[[0.0,1000.3],[1.0,120.2],[7.0,1150.32]]," + + "\"coalRow1\":[[0.0,1000.5],[2.0,200.56],[7.0,120.2]]," + + "\"coalRow2\":[[0.0,1000.6],[3.0,261.7],[7.0,170.52]]," + + "\"coalPrepElecHomePage\":[503000.6,84.04]," + + "\"coalHomeIndex\":[30.0,4.6,523000.6]" + + " }" + + "}"; @Override public void run(String params) { @@ -129,6 +125,16 @@ } // 调用模型 + /* MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); + dto.setScheduleTime(calendar.getTime()); + dto.setScheduleCode(params); + MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); + logger.info(params + "调度方案执行完成," + mdkScheduleRespDTO); + Map<String, Object> result = mdkScheduleRespDTO.getResult(); + + JSONObject jsonObject = new JSONObject(result); + JSONObject result2 = (JSONObject) JSON.toJSON(jsonObject.get("result"));*/ + JSONObject jsonObject = JSONObject.parseObject(jsonStr); JSONObject result = (JSONObject) JSON.toJSON(jsonObject.get("result")); @@ -139,7 +145,7 @@ // 保存报告 String analyDate = DateUtils.format(startDate); - String analyContent = result.getString("coalIndexInfo"); + String analyContent = result.getString("coalHomeIndexInfo"); String relId = cokingTraceReportService.save(process, reportName, analyDate, analyClass, clock, analyContent); // 保存一级分析指标 @@ -206,36 +212,36 @@ entity.setClock(clock); entity.setSugObj(SugObj); - entity.setInd1Name(steamIndexMaps.get(rowArr.getJSONArray(0).get(0).toString())); + entity.setInd1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(0).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd1Value(rowArr.getJSONArray(0).get(1).toString()); entity.setInd1Unit(""); - entity.setInd2Name(steamIndexMaps.get(rowArr.getJSONArray(1).get(0).toString())); + entity.setInd2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(1).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd2Value(rowArr.getJSONArray(1).get(1).toString()); entity.setInd2Unit(""); if (rowArr.size() > 2) { - entity.setFac1Name(steamIndexMaps.get(rowArr.getJSONArray(2).get(0).toString())); + entity.setFac1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(2).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac1Value(rowArr.getJSONArray(2).get(1).toString()); entity.setFac1Unit(""); } if (rowArr.size() > 3) { - entity.setFac2Name(steamIndexMaps.get(rowArr.getJSONArray(3).get(0).toString())); + entity.setFac2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(3).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac2Value(rowArr.getJSONArray(3).get(1).toString()); entity.setFac2Unit(""); } if (rowArr.size() > 4) { - entity.setFac3Name(steamIndexMaps.get(rowArr.getJSONArray(4).get(0).toString())); + entity.setFac3Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(4).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac3Value(rowArr.getJSONArray(4).get(1).toString()); entity.setFac3Unit(""); } if (rowArr.size() > 5) { - entity.setFac4Name(steamIndexMaps.get(rowArr.getJSONArray(5).get(0).toString())); + entity.setFac4Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(5).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac4Value(rowArr.getJSONArray(5).get(1).toString()); entity.setFac4Unit(""); } if (rowArr.size() > 6) { - entity.setFac5Name(steamIndexMaps.get(rowArr.getJSONArray(6).get(0).toString())); + entity.setFac5Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(6).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac5Value(rowArr.getJSONArray(6).get(1).toString()); entity.setFac5Unit(""); } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java index 700f866..40733e5 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java @@ -11,6 +11,7 @@ import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.ChartParamDTO; +import com.iailab.module.model.api.mdk.MdkApi; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -52,6 +54,9 @@ @Autowired private McsApi mcsApi; + @Autowired + private MdkApi mdkApi; + private final static String process = "干熄焦工序"; private final static String reportName = "干熄焦工序异常溯源"; @@ -60,42 +65,23 @@ private final static String steamRow = "steamRow"; - private static final HashMap<String, Object> steamFirstColoumMap = new HashMap<String, Object>() {{ - put("steamFirstColoum0", "一级指标-偏差值"); - put("steamFirstColoum1", "二级指标-偏差值"); - put("steamFirstColoum2", "影响因素1-偏差值"); - put("steamFirstColoum3", "影响因素2-偏差值"); - put("steamFirstColoum4", "影响因素3-偏差值"); - put("steamFirstColoum5", "影响因素n-偏差值"); - }}; - - private static final HashMap<String, Object> steamSecondColoumMap = new HashMap<String, Object>() {{ - put("steamSecondColoum0", "一级指标-偏差值"); - put("steamSecondColoum1", "二级指标-偏差值"); - put("steamSecondColoum2", "影响因素1-偏差值"); - put("steamSecondColoum3", "影响因素2-偏差值"); - put("steamSecondColoum4", "影响因素3-偏差值"); - put("steamSecondColoum5", "影响因素n-偏差值"); - }}; + private final static String SugObj = "GXJ"; private static final String jsonStr="{\"result\":{" + - " \"steamTotal\":\"2#干熄焦蒸汽发生量因空气导入量偏高、锅炉入口温度偏低而减少13t,经模型计算,建议调整空气导入量,预计可使主蒸汽流量指标升高20m3/h\",\n" + - " \"steamRow0\":[[14,20],[14,30],[14,35]],\n" + - " \"steamRow1\":[[10,5],[11,15],[21,20]],\n" + - " \"steamRow2\":[[74,8],[36,18],[35,34]],\n" + - " \"steamRow3\":[[24,67],[6,12],[19,21]],\n" + - " \"steamRow4\":[[21,19],[22,31],[8,42]],\n" + - " \"steamRow5\":[[11,45],[9,62],[18,34]],\n" + - " \"steamSecondColoum0\":[[14,20],[14,50],[14,13]],\n" + - " \"steamSecondColoum1\":[[11,27],[10,35],[22,16]],\n" + - " \"steamSecondColoum2\":[[36,90],[35,34],[74,55]],\n" + - " \"steamSecondColoum3\":[[6,66],[19,73],[21,31]],\n" + - " \"steamSecondColoum4\":[[22,65],[8,22],[21,67]],\n" + - " \"steamSecondColoum5\":[[9,29],[11,56],[18,61]],\n" + - " \"steamHomePage\":[[663,617],[66.5,68.9]],\n" + - " \"steamHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" + - " \"steamHomeIndexInfo\":\"4月25日甲班:干熄焦产蒸汽量异常\",\n" + - " \"steamHomeErr\":\"4月25日循环风机转速数据异常(无数据)\"}}"; + " \"steamProd\":[[0.038,0.036],[0.035,0.036],[0.037,0.034]]," + + "\"steamRow0\":[[14.0,20.7],[14.0,30.5],[14.0,35.2],[24.0,67.9],[6.0,12.3]]," + + "\"steamRow1\":[[10.0,5.5],[11.0,15.1],[21.0,20.6],[22.0,31.3],[8.0,42.5]]," + + "\"steamRow2\":[[74.0,8.2],[36.0,18.2],[35.0,34.6],[9.0,62.4],[18.0,34.7]]," + + "\"steamPressure\":[3.7,3.6,3.4]," + + "\"steamHomePage\":[[220.4,223.5],[0.5],[673214.3]]," + + "\"steamHomeIndexInfo\":\"2025-04-28 甲班 干熄焦产蒸汽量异常\"," + + "\"steamTemperature\":[461.3,460.4,456.6]," + + "\"steamElec\":[233564.3,224571.7,246120.2,603157.7]," + + "\"steamIndex\":[[3.182,3.265,3.275],[1250.3,1293.1,1264.05],[890.3,886.32,901.21],[161495.2,171043.5,168533.6],[203667.2,238742.6,226731.7],[223548.3,223097.9,226733.3]]," + + "\"steamTotal1\":\"2#干熄焦蒸汽发生量因空气导入量偏高、锅炉入口温度偏低而减少13t,经模型计算,建议调整空气导入量,预计可使主蒸汽流量指标升高20m3/h\"," + + "\"steamHomeIndex\":[[63.2,61.7],[62.8,67.2],[66.1,65.7],[204.6,220.5]]" + + " }" + + "}"; @Override public void run(String params) { @@ -107,37 +93,39 @@ calendar.set(Calendar.MINUTE, 0); int hour = calendar.get(Calendar.HOUR_OF_DAY); Date startDate = calendar.getTime(); - Date endDate = calendar.getTime(); String clock = ""; String analyClass = ""; if (hour >= 8 && hour < 16) { calendar.set(Calendar.HOUR_OF_DAY, 0); startDate = calendar.getTime(); - calendar.add(Calendar.HOUR_OF_DAY, 8); - endDate = calendar.getTime(); clock = DateUtils.format(startDate).concat("-").concat("A"); analyClass = "甲班"; } else if (hour >= 16 && hour < 24) { calendar.set(Calendar.HOUR_OF_DAY, 8); startDate = calendar.getTime(); - calendar.add(Calendar.HOUR_OF_DAY, 8); - endDate = calendar.getTime(); clock = DateUtils.format(startDate).concat("-").concat("B"); analyClass = "乙班"; } else if (hour >= 0 && hour < 8) { calendar.add(Calendar.DAY_OF_YEAR, -1); calendar.set(Calendar.HOUR_OF_DAY, 16); startDate = calendar.getTime(); - calendar.add(Calendar.HOUR_OF_DAY, 8); - endDate = calendar.getTime(); clock = DateUtils.format(startDate).concat("-").concat("B"); analyClass = "丙班"; } // 调用模型 +/* MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); + dto.setScheduleTime(calendar.getTime()); + dto.setScheduleCode(params); + MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); + logger.info(params + "调度方案执行完成," + mdkScheduleRespDTO); + Map<String, Object> result = mdkScheduleRespDTO.getResult(); + + JSONObject jsonObject = new JSONObject(result); + JSONObject result2 = (JSONObject) JSON.toJSON(jsonObject.get("result"));*/ + JSONObject jsonObject = JSONObject.parseObject(jsonStr); JSONObject result = (JSONObject) JSON.toJSON(jsonObject.get("result")); - if (Objects.isNull(result)) { logger.info("模型结果为空"); return; @@ -170,7 +158,7 @@ public void saveTraceSuggest(String relId, String process, String clock, JSONObject result) { List<CokingTraceSuggestEntity> entityList = new ArrayList<>(); - String steamTotal = result.get("steamTotal").toString(); + String steamTotal = result.get("steamTotal1").toString(); if(StringUtils.isNotBlank(steamTotal)){ CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); suggestEntity.setRelId(relId); @@ -208,38 +196,38 @@ entity.setRelId(relId); entity.setProcess(process); entity.setClock(clock); - entity.setSugObj("GXJ"); + entity.setSugObj(SugObj); - entity.setInd1Name(steamIndexMaps.get(rowArr.getJSONArray(0).get(0).toString())); + entity.setInd1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(0).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd1Value(rowArr.getJSONArray(0).get(1).toString()); entity.setInd1Unit(""); - entity.setInd2Name(steamIndexMaps.get(rowArr.getJSONArray(1).get(0).toString())); + entity.setInd2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(1).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd2Value(rowArr.getJSONArray(1).get(1).toString()); entity.setInd2Unit(""); if (rowArr.size() > 2) { - entity.setFac1Name(steamIndexMaps.get(rowArr.getJSONArray(2).get(0).toString())); + entity.setFac1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(2).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac1Value(rowArr.getJSONArray(2).get(1).toString()); entity.setFac1Unit(""); } if (rowArr.size() > 3) { - entity.setFac2Name(steamIndexMaps.get(rowArr.getJSONArray(3).get(0).toString())); + entity.setFac2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(3).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac2Value(rowArr.getJSONArray(3).get(1).toString()); entity.setFac2Unit(""); } if (rowArr.size() > 4) { - entity.setFac3Name(steamIndexMaps.get(rowArr.getJSONArray(4).get(0).toString())); + entity.setFac3Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(4).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac3Value(rowArr.getJSONArray(4).get(1).toString()); entity.setFac3Unit(""); } if (rowArr.size() > 5) { - entity.setFac4Name(steamIndexMaps.get(rowArr.getJSONArray(5).get(0).toString())); + entity.setFac4Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(5).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac4Value(rowArr.getJSONArray(5).get(1).toString()); entity.setFac4Unit(""); } if (rowArr.size() > 6) { - entity.setFac5Name(steamIndexMaps.get(rowArr.getJSONArray(6).get(0).toString())); + entity.setFac5Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(6).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac5Value(rowArr.getJSONArray(6).get(1).toString()); entity.setFac5Unit(""); } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java index 58f6eb8..7582390 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java @@ -4,11 +4,14 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.iailab.framework.common.util.date.DateUtils; -import com.iailab.module.ansteel.coking.entity.*; +import com.iailab.module.ansteel.coking.entity.CokingAnalyIndEntity; +import com.iailab.module.ansteel.coking.entity.CokingTraceDeviationEntity; +import com.iailab.module.ansteel.coking.entity.CokingTraceSuggestEntity; import com.iailab.module.ansteel.coking.service.*; import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.ChartParamDTO; +import com.iailab.module.model.api.mdk.MdkApi; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -52,6 +56,9 @@ @Autowired private McsApi mcsApi; + @Autowired + private MdkApi mdkApi; + private final static String process = "化产工序"; private final static String reportName = "化产工序异常溯源"; @@ -62,31 +69,19 @@ private final static String chemProdRow = "chemProdRow"; - private static final HashMap<String, Object> chemProdColoumMap = new HashMap<String, Object>() {{ - put("chemProdFirstColoum0", "一级指标-偏差值"); - put("chemProdFirstColoum1", "二级指标-偏差值"); - put("chemProdFirstColoum2", "影响因素1-偏差值"); - }}; - - private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{ - put("F0000101006", "蒸汽消耗"); - put("F0000101006", "初冷器出口煤气温度"); - put("F0000101006", "洗苯塔后煤气含苯"); - put("F0000101006", "脱硫后H2S含量"); - }}; - private static final String jsonStr = "{\n" + "\"result\":{\n" + - "\"chemProdSteam\":[[33836,33925]], \n" + - "\"chemProdIndex\":[[352,355],[68,66.3],[82.5,87.6],[50.7,56.5],[73.5,73.1]],\n" + - "\"chemProdTotal\":\"蒸汽消耗量异常,当前值1342,经模型计算,指标1异常,当前值1342,建议调整指标1至区间[90,110],指标2异常,当前值1342,建议调整指标2至区间[50,80]\",\n" + - "\"chemProdRow0\":[[0,42],[5,345],[2,41]],\n" + " " + - "\"chemProdRow1\":[[5,1342],[7,1342],[9,1342]],\n" + - "\"chemProdRow2\":[[5,1342],[5,1342],[7,1342]],\n" + - "\"chemProdHomePage\":[[9,1342],[9,1342]],\n" + - "\"chemProdHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" + - "\"chemProdHomeIndexInfo\":\"4月25日甲班:化产蒸汽消耗量异常\",\n" + - "\"chemProdHomeErr\":\"4月25日化产蒸汽消耗量数据异常(无数据)\"\n" + " }" + "}"; + "\"chemProdHomePage\":[1782.7,0.8]," + + "\"chemProdElec\":[794680.52]," + + "\"chemProdIndex\":[16.3,2.57,0.017,0.745,658731.5]," + + "\"chemProdRow0\":[[0.0,42.3],[5.0,1342.5],[10.0,122.5]]," + + "\"chemProdRow1\":[[0.0,42.3],[7.0,12.5],[9.0,17.45]]," + + "\"chemProdRow2\":[[0.0,42.3],[12.0,23.5],[35.0,54.33]]," + + "\"chemProdSteam\":[46.3]," + + "\"chemProdTotal\":\"蒸汽消耗量异常,经模型计算,原因和调整建议如下:电捕绝缘箱温度异常,当前值190,建议调整电捕绝缘箱温度至区间[80,110], 蒸氨塔塔顶温度异常,当前值190,建议调整蒸氨塔塔顶温度至区间[101,103]\"," + + "\"chemProdHomeIndexInfo\":\"2025-04-28 甲班 化产蒸汽消耗量异常\""+ + " }" + + "}"; @Override public void run(String params) { @@ -202,36 +197,36 @@ entity.setClock(clock); entity.setSugObj(SugObj); - entity.setInd1Name(steamIndexMaps.get(rowArr.getJSONArray(0).get(0).toString())); + entity.setInd1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(0).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd1Value(rowArr.getJSONArray(0).get(1).toString()); entity.setInd1Unit(""); - entity.setInd2Name(steamIndexMaps.get(rowArr.getJSONArray(1).get(0).toString())); + entity.setInd2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(1).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd2Value(rowArr.getJSONArray(1).get(1).toString()); entity.setInd2Unit(""); if (rowArr.size() > 2) { - entity.setFac1Name(steamIndexMaps.get(rowArr.getJSONArray(2).get(0).toString())); + entity.setFac1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(2).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac1Value(rowArr.getJSONArray(2).get(1).toString()); entity.setFac1Unit(""); } if (rowArr.size() > 3) { - entity.setFac2Name(steamIndexMaps.get(rowArr.getJSONArray(3).get(0).toString())); + entity.setFac2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(3).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac2Value(rowArr.getJSONArray(3).get(1).toString()); entity.setFac2Unit(""); } if (rowArr.size() > 4) { - entity.setFac3Name(steamIndexMaps.get(rowArr.getJSONArray(4).get(0).toString())); + entity.setFac3Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(4).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac3Value(rowArr.getJSONArray(4).get(1).toString()); entity.setFac3Unit(""); } if (rowArr.size() > 5) { - entity.setFac4Name(steamIndexMaps.get(rowArr.getJSONArray(5).get(0).toString())); + entity.setFac4Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(5).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac4Value(rowArr.getJSONArray(5).get(1).toString()); entity.setFac4Unit(""); } if (rowArr.size() > 6) { - entity.setFac5Name(steamIndexMaps.get(rowArr.getJSONArray(6).get(0).toString())); + entity.setFac5Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(6).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac5Value(rowArr.getJSONArray(6).get(1).toString()); entity.setFac5Unit(""); } diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java index 1232a9f..9ee62a9 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java @@ -11,6 +11,7 @@ import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mcs.dto.ChartParamDTO; +import com.iailab.module.model.api.mdk.MdkApi; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -54,6 +56,9 @@ @Autowired private McsApi mcsApi; + @Autowired + private MdkApi mdkApi; + private final static String process = "炼焦工序"; private final static String reportName = "炼焦工序异常溯源"; @@ -64,36 +69,23 @@ private final static String cokeRow = "cokeRow"; - private static final HashMap<String, Object> cokeColoumMap = new HashMap<String, Object>() {{ - put("cokeColoum0", "一级指标-偏差值"); - put("cokeColoum1", "二级指标-偏差值"); - put("cokeColoum2", "影响因素1-偏差值"); - put("cokeColoum3", "影响因素2-偏差值"); - put("cokeColoum4", "影响因素3-偏差值"); - put("cokeColoum5", "影响因素n-偏差值"); - }}; - - private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{ - put("F0000101009", "荒煤气发生"); - put("F0000101009", "耗热量"); - }}; - - private static final String jsonStr = "{\n" + " " + - "\"result\": {\n" + " " + - "\"cokeCOG\":[100.5,99.8],\n" + " " + - "\"cokeHeat\":[3.7,3.8],\n" + " " + - "\"cokeIndex\":[[0.8,0.7],[608,608],[1440,1460],[1346,1293],[0.8,0.7],[1372,1293]],\n" + " " + - "\"cokeTotal\":\"炼焦吨焦耗热量因煤气流量偏高、煤气水分偏低而增加23,经模型计算,延建议调整煤气流量,预计可使吨焦耗热量指标降低17\",\n" + " " + - "\"cokeRow0\":[[0,13],[0,42],[0,34]],\n" + " " + - "\"cokeRow1\":[[13,12],[12,34],[24,42]],\n" + " " + - "\"cokeRow2\":[[27,45],[58,42],[70,31]],\n" + " " + - "\"cokeRow3\":[[18,56],[10,89],[15,21]],\n" + " " + - "\"cokeRow4\":[[19,13],[20,51],[17,34]],\n" + " " + - "\"cokeRow5\":[[47,33],[31,12],[22,13]],\n" + " " + - "\"cokeHomePage\":[[202,42],[203,13],[204,45],[205,34],[206,17]],\n" + " " + - "\"cokeHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" + " " + - "\"cokeHomeIndexInfo\":\"4月25日甲班:吨焦耗热量异常\",\n" + " " + - "\"cokeHomeErr\":\"4月25日煤气预热器前数据异常(无数据)\"\n" + " " + "}\n" + "}"; + private static final String jsonStr = "{\n" + + "\"result\": {\n" + + "\"cokeElec\":[583562.4]," + + "\"cokeHeat1\":[130820.4,136710.3]," + + "\"cokeRow0\":[[0.0,13.6],[2.0,10.5],[69.0,34.6]]," + + "\"cokeIndex\":[[0.0149,0.0148],[23.6,24.5],[1350.2,1423.5],[1.21,1.25],[0.28],[103542.3,135238.5],[104668.63,137826.5],[155678.2]]," + + "\"cokeRow1\":[[0.0,12.51],[81.0,34.3],[69.0,42.3],[86.0,56.4],[92.0,89.4]]," + + "\"cokeRow2\":[[0.0,45.3],[9.0,42.5],[81.0,31.2],[88.0,16.3]]," + + "\"cokeHeat2\":[135220.3,134720.3]," + + "\"cokeCOG2\":[64525.8,64824.2]," + + "\"cokeHomeIndex\":[[90.4,90.2],[80.3,78.5],[103.6,100.3],[280.9,270.4]]," + + "\"cokeHomeIndexInfo\":\"2025-04-28 甲班 吨焦耗热量异常\"," + + "\"cokeCOG1\":[64435.5,64532.6]," + + "\"cokeHomePage\":[[124439.4,124428.4],[320.6],[224.3],[248305.4],[124436.2],[3.96],[0.43]]," + + "\"cokeTotal\":\"炼焦吨焦耗热量因煤气流量偏高、煤气水分偏低而增加23,经模型计算,延建议调整煤气流量,预计可使吨焦耗热量指标降低17\"" + + " }" + + "}"; @Override public void run(String params) { @@ -209,36 +201,36 @@ entity.setClock(clock); entity.setSugObj(SugObj); - entity.setInd1Name(steamIndexMaps.get(rowArr.getJSONArray(0).get(0).toString())); + entity.setInd1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(0).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd1Value(rowArr.getJSONArray(0).get(1).toString()); entity.setInd1Unit(""); - entity.setInd2Name(steamIndexMaps.get(rowArr.getJSONArray(1).get(0).toString())); + entity.setInd2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(1).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setInd2Value(rowArr.getJSONArray(1).get(1).toString()); entity.setInd2Unit(""); if (rowArr.size() > 2) { - entity.setFac1Name(steamIndexMaps.get(rowArr.getJSONArray(2).get(0).toString())); + entity.setFac1Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(2).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac1Value(rowArr.getJSONArray(2).get(1).toString()); entity.setFac1Unit(""); } if (rowArr.size() > 3) { - entity.setFac2Name(steamIndexMaps.get(rowArr.getJSONArray(3).get(0).toString())); + entity.setFac2Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(3).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac2Value(rowArr.getJSONArray(3).get(1).toString()); entity.setFac2Unit(""); } if (rowArr.size() > 4) { - entity.setFac3Name(steamIndexMaps.get(rowArr.getJSONArray(4).get(0).toString())); + entity.setFac3Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(4).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac3Value(rowArr.getJSONArray(4).get(1).toString()); entity.setFac3Unit(""); } if (rowArr.size() > 5) { - entity.setFac4Name(steamIndexMaps.get(rowArr.getJSONArray(5).get(0).toString())); + entity.setFac4Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(5).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac4Value(rowArr.getJSONArray(5).get(1).toString()); entity.setFac4Unit(""); } if (rowArr.size() > 6) { - entity.setFac5Name(steamIndexMaps.get(rowArr.getJSONArray(6).get(0).toString())); + entity.setFac5Name(steamIndexMaps.get(new BigDecimal(rowArr.getJSONArray(6).get(0).toString()).setScale(0,BigDecimal.ROUND_HALF_UP).toString())); entity.setFac5Value(rowArr.getJSONArray(6).get(1).toString()); entity.setFac5Unit(""); } 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\24320250321.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\24320250321.doc" deleted file mode 100644 index 013684d..0000000 --- "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\24320250321.doc" +++ /dev/null Binary files differ 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\24320250321.pdf" "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\24320250321.pdf" deleted file mode 100644 index fff15df..0000000 --- "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\24320250321.pdf" +++ /dev/null Binary files differ 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\24320250328.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\24320250328.doc" deleted file mode 100644 index 8f9b9a7..0000000 --- "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\24320250328.doc" +++ /dev/null Binary files differ 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\24320250328.pdf" "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\24320250328.pdf" deleted file mode 100644 index b27f8fa..0000000 --- "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\24320250328.pdf" +++ /dev/null Binary files differ -- Gitblit v1.9.3