From 9e8a11aea00e194d4532a1adb48891e95f75b8b9 Mon Sep 17 00:00:00 2001 From: liriming <1343021927@qq.com> Date: 星期五, 25 四月 2025 21:29:58 +0800 Subject: [PATCH] 偏差值修改 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelGXJTask.java | 125 ++++++++++++++++++++++------------------- 1 files changed, 68 insertions(+), 57 deletions(-) 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 965d546..c966fdf 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 @@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; @@ -51,22 +52,16 @@ private CokingTraceIndService cokingTraceIndService; @Autowired - private CokingTraceConfService cokingTraceConfService; - - @Autowired private McsApi mcsApi; - - @Autowired - private DataPointApi dataPointApi; - - @Autowired - private IndItemApi indItemApi; private final static String process = "干熄焦工序"; private final static String reportName = "干熄焦工序异常溯源"; private final static String indType = "干熄焦工序异常溯源"; + + private final static String steamRow = "steamRow"; + private static final HashMap<String, Object> steamFirstColoumMap = new HashMap<String, Object>() {{ put("steamFirstColoum0", "一级指标-偏差值"); put("steamFirstColoum1", "二级指标-偏差值"); @@ -88,12 +83,12 @@ private static final String jsonStr="{\"result\":{" + " \"steamTotal1\":\"2#干熄焦蒸汽发生量因空气导入量偏高、锅炉入口温度偏低而减少13t,经模型计算,建议调整空气导入量,预计可使主蒸汽流量指标升高20m3/h\",\n" + " \"steamTotal2\":\"2#干熄焦蒸汽发生量因空气导入量偏高、锅炉入口温度偏低而减少13m3/h,经模型计算,建议调整循环风机转速,预计可使主蒸汽流量指标升高32m3/h\",\n" + - " \"steamFirstColoum0\":[[14,20],[14,30],[14,35]],\n" + - " \"steamFirstColoum1\":[[10,5],[11,15],[21,20]],\n" + - " \"steamFirstColoum2\":[[74,8],[36,18],[35,34]],\n" + - " \"steamFirstColoum3\":[[24,67],[6,12],[19,21]],\n" + - " \"steamFirstColoum4\":[[21,19],[22,31],[8,42]],\n" + - " \"steamFirstColoum5\":[[11,45],[9,62],[18,34]],\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" + @@ -102,8 +97,8 @@ " \"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\":\"2月18日甲班:干熄焦产蒸汽量异常\",\n" + - " \"steamHomeErr\":\"2月18日循环风机转速数据异常(无数据)\"}}"; + " \"steamHomeIndexInfo\":\"4月25日甲班:干熄焦产蒸汽量异常\",\n" + + " \"steamHomeErr\":\"4月25日循环风机转速数据异常(无数据)\"}}"; @Override public void run(String params) { @@ -153,7 +148,7 @@ // 保存报告 String analyDate = DateUtils.format(startDate); - String analyContent = result.getString("coalIndexInfo"); + String analyContent = result.getString("steamHomeIndexInfo"); String relId = cokingTraceReportService.save(process, reportName, analyDate, analyClass, clock, analyContent); // 保存一级分析指标 @@ -198,49 +193,65 @@ public void saveTraceDeviation(String relId, String process, String clock, JSONObject result) { List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.STEAM_INDEX_CHARTCODE); Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName())); - for(int i=0;i<=5;i++){ - String steamFirstColoum = result.get("steamFirstColoum"+i).toString(); - if(StringUtils.isNotBlank(steamFirstColoum)){ - JSONArray responseArr = JSON.parseArray(steamFirstColoum); - List<CokingTraceDeviationEntity> entityList = new ArrayList<>(); - for (int j = 0; j < responseArr.size(); j++) { - JSONArray element = JSON.parseArray(responseArr.get(j).toString()); - CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity(); - deviationEntity.setRelId(relId); - deviationEntity.setProcess(process); - deviationEntity.setClock(clock); - deviationEntity.setSugObj("1#"); - deviationEntity.setGroupName(steamFirstColoumMap.get("steamFirstColoum"+i).toString()); - deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); - deviationEntity.setIndValue(element.get(1).toString()); - deviationEntity.setCreateDate(new Date()); - entityList.add(deviationEntity); - } - cokingTraceDeviationService.save(entityList); + + List<String> coalRowKeys = new ArrayList<>(); + result.forEach((key, value) -> { + if (StringUtils.isNotBlank(key) && key.contains(steamRow)) { + coalRowKeys.add(key); } - } - for(int i=0;i<=5;i++){ - String steamSecondColoum = result.get("steamSecondColoum"+i).toString(); - if(StringUtils.isNotBlank(steamSecondColoum)){ - JSONArray responseArr = JSON.parseArray(steamSecondColoum); - List<CokingTraceDeviationEntity> entityList = new ArrayList<>(); - for (int j = 0; j < responseArr.size(); j++) { - JSONArray element = JSON.parseArray(responseArr.get(j).toString()); - CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity(); - deviationEntity.setRelId(relId); - deviationEntity.setProcess(process); - deviationEntity.setClock(clock); - deviationEntity.setSugObj("2#"); - deviationEntity.setGroupName(steamSecondColoumMap.get("steamSecondColoum" + i).toString()); - deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); - deviationEntity.setIndValue(element.get(1).toString()); - deviationEntity.setCreateDate(new Date()); - entityList.add(deviationEntity); - } - cokingTraceDeviationService.save(entityList); + + }); + logger.info("coalRowKeys=" + coalRowKeys); + List<CokingTraceDeviationEntity> entityList = new ArrayList<>(); + for (String key : coalRowKeys) { + JSONArray rowArr = JSON.parseArray(result.get(key).toString()); + if (CollectionUtils.isEmpty(rowArr)) { + logger.info("rowArr is empty"); + continue; } + CokingTraceDeviationEntity entity = new CokingTraceDeviationEntity(); + entity.setRelId(relId); + entity.setProcess(process); + entity.setClock(clock); + entity.setSugObj(""); + + entity.setInd1Name(steamIndexMaps.get(rowArr.getJSONArray(0).get(0).toString())); + entity.setInd1Value(rowArr.getJSONArray(0).get(1).toString()); + entity.setInd1Unit(""); + + entity.setInd2Name(steamIndexMaps.get(rowArr.getJSONArray(1).get(0).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.setFac1Value(rowArr.getJSONArray(2).get(1).toString()); + entity.setFac1Unit(""); + } + if (rowArr.size() > 3) { + entity.setFac2Name(steamIndexMaps.get(rowArr.getJSONArray(3).get(0).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.setFac3Value(rowArr.getJSONArray(4).get(1).toString()); + entity.setFac3Unit(""); + } + if (rowArr.size() > 5) { + entity.setFac4Name(steamIndexMaps.get(rowArr.getJSONArray(5).get(0).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.setFac5Value(rowArr.getJSONArray(6).get(1).toString()); + entity.setFac5Unit(""); + } + entityList.add(entity); } + cokingTraceDeviationService.save(entityList); } public void saveAnalyInd(String relId, String process, String analyDate, String analyClass, String analyContent) { -- Gitblit v1.9.3