已重命名2个文件
已删除2个文件
已复制2个文件
已修改4个文件
| | |
| | | `rel_id` varchar(36) NULL DEFAULT NULL COMMENT '关联ID', |
| | | `title` varchar(20) NULL DEFAULT NULL COMMENT '标题', |
| | | `clock` varchar(20) NULL DEFAULT NULL COMMENT '查询时间', |
| | | `ind_code` varchar(20) NULL DEFAULT NULL COMMENT '编码', |
| | | `ind_name` varchar(20) NULL DEFAULT NULL COMMENT '名称', |
| | | `ind_value` varchar(20) NULL DEFAULT NULL COMMENT '值', |
| | | `ind_unit` varchar(20) NULL DEFAULT NULL COMMENT '单位', |
| | |
| | | @Schema(description = "查询时间") |
| | | private String clock; |
| | | |
| | | @Schema(description = "编码") |
| | | private String indCode; |
| | | |
| | | @Schema(description = "名称") |
| | | private String indName; |
| | | |
| | |
| | | * 查询时间 |
| | | */ |
| | | private String clock; |
| | | |
| | | /** |
| | | * 编码 |
| | | */ |
| | | private String indCode; |
| | | /** |
| | | * 名称 |
| | | */ |
| | |
| | | |
| | | String STEAM_INDEX_CHARTCODE = "STEAM_INDEX"; |
| | | String COKE_INDEX_CHARTCODE = "COKE_INDEX"; |
| | | String COAL_INDEX_CHARTCODE = "COAL_INDEX"; |
| | | String CHEMPROD_INDEX_CHARTCODE = "CHEMPROD_INDEX"; |
| | | } |
copy from ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
copy to ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelBMTask.java
文件从 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java 复制 |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 炼焦工序-异常溯源 |
| | | * 备煤工序异常溯源 |
| | | * |
| | | * @author lirm |
| | | * @Description |
| | | * @createTime 2025年04月21日 |
| | | * @createTime 2025年04月22日 |
| | | */ |
| | | @Component("runCokingTraceModel3Task") |
| | | public class RunCokingTraceModel3Task implements ITask { |
| | | @Component("runCokingTraceModelBMTask") |
| | | public class RunCokingTraceModelBMTask implements ITask{ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private IndItemApi indItemApi; |
| | | |
| | | 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> coalColoumMap = new HashMap<String, Object>() {{ |
| | | put("coalColoum0", "一级指标-偏差值"); |
| | | put("coalColoum1", "二级指标-偏差值"); |
| | | put("coalColoum2", "影响因素1-偏差值"); |
| | | }}; |
| | | |
| | | private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{ |
| | | put("LJSY001", "荒煤气发生"); |
| | | put("LJSY005", "耗热量"); |
| | | put("BMSY001", "备煤耗电"); |
| | | }}; |
| | | |
| | | 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" + |
| | | " \"cokeColoum0\":[[0,13],[0,42],[0,34]],\n" + |
| | | " \"cokeColoum1\":[[13,12],[12,34],[24,42]],\n" + |
| | | " \"cokeColoum2\":[[27,45],[58,42],[70,31]],\n" + |
| | | " \"cokeColoum3\":[[108,56],[110,89],[185,21]],\n" + |
| | | " \"cokeColoum4\":[[199,13],[200,51],[197,34]],\n" + |
| | | " \"cokeColoum5\":[[147,33],[131,12],[122,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\":\"2月18日甲班:吨焦耗热量异常\",\n" + |
| | | " \"cokeHomeErr\":\"2月18日煤气预热器前数据异常(无数据)\"\n" + |
| | | " }\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" + |
| | | " \"coalColoum0\":[[0,450],[0,137],[0,342]],\n" + |
| | | " \"coalColoum1\":[[2,306],[3,134],[1,142]],\n" + |
| | | " \"coalColoum2\":[[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\":\"2月18日甲班:备煤耗电异常\",\n" + |
| | | "\"coalErr\":\"2月18日粉碎机耗电数据异常(无数据)\"\n" + |
| | | " }" + |
| | | "}"; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void run(String params) { |
| | | logger.info("RunCokingTraceModel3Task,参数为:{}", params); |
| | | logger.info("RunCokingTraceModelBMTask,参数为:{}", params); |
| | | try { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(Calendar.MILLISECOND, 0); |
| | |
| | | calendar.set(Calendar.MINUTE,0); |
| | | calendar.add(Calendar.DAY_OF_YEAR, -1); |
| | | String yesterday = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY); |
| | | // int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | Date startDate = calendar.getTime(); |
| | | calendar.add(Calendar.HOUR, 8); |
| | | Date endDate = calendar.getTime(); |
| | | int hour = 8; |
| | | String clock = ""; |
| | | String analyClass = ""; |
| | | if (hour == 0) { |
| | |
| | | } |
| | | Map<String, Object> tMap = new HashMap<>(); |
| | | tMap.put("relId", UUID.randomUUID().toString()); |
| | | tMap.put("process", "炼焦工序"); |
| | | tMap.put("reportName", "炼焦工序"); |
| | | tMap.put("process", "备煤工序"); |
| | | tMap.put("reportName", "备煤工序"); |
| | | tMap.put("analyDate", yesterday); |
| | | tMap.put("analyClass", analyClass); |
| | | tMap.put("clock", clock); |
| | | tMap.put("analyContent", "COG回收量异常;吨焦耗热量异常"); |
| | | tMap.put("analyContent", "备煤耗电异常"); |
| | | tMap.put("startDate", startDate); |
| | | tMap.put("endDate", endDate); |
| | | |
| | |
| | | saveTraceChart(tMap,result,startDate,endDate); |
| | | } |
| | | } catch (Exception ex) { |
| | | logger.error("RunCokingTraceModel3Task运行异常"); |
| | | logger.error("RunCokingTraceModelBMTask运行异常"); |
| | | ex.printStackTrace(); |
| | | } |
| | | logger.info("RunCokingTraceModel3Task运行完成"); |
| | | logger.info("RunCokingTraceModelBMTask运行完成"); |
| | | } |
| | | |
| | | private void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | CokingTraceReportEntity reportEntity = new CokingTraceReportEntity(); |
| | | reportEntity.setId(tMap.get("relId").toString()); |
| | | reportEntity.setProcess(tMap.get("process").toString()); |
| | |
| | | cokingTraceReportService.save(reportEntity); |
| | | } |
| | | |
| | | private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | String cokeTotal = result.get("cokeTotal").toString(); |
| | | if(StringUtils.isNotBlank(cokeTotal)){ |
| | | CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); |
| | | suggestEntity.setRelId(tMap.get("relId").toString()); |
| | | suggestEntity.setProcess(tMap.get("process").toString()); |
| | | suggestEntity.setSugObj("LJ"); |
| | | suggestEntity.setClock(tMap.get("clock").toString()); |
| | | suggestEntity.setContent(cokeTotal); |
| | | suggestEntity.setCreateDate(new Date()); |
| | | cokingTraceSuggestService.save(suggestEntity); |
| | | } |
| | | public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | String coalTotal = result.get("coalPrepElecTotal1").toString(); |
| | | if(StringUtils.isNotBlank(coalTotal)){ |
| | | CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); |
| | | suggestEntity.setRelId(tMap.get("relId").toString()); |
| | | suggestEntity.setProcess(tMap.get("process").toString()); |
| | | suggestEntity.setSugObj("BM"); |
| | | suggestEntity.setClock(tMap.get("clock").toString()); |
| | | suggestEntity.setContent(coalTotal); |
| | | suggestEntity.setCreateDate(new Date()); |
| | | cokingTraceSuggestService.save(suggestEntity); |
| | | } |
| | | } |
| | | |
| | | private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COKE_INDEX_CHARTCODE); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue())); |
| | | for(int i=0;i<=5;i++){ |
| | | String cokeColoum = result.get("cokeColoum"+i).toString(); |
| | | if(StringUtils.isNotBlank(cokeColoum)){ |
| | | JSONArray responseArr = JSON.parseArray(cokeColoum); |
| | | @Transactional |
| | | public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COAL_INDEX_CHARTCODE); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName())); |
| | | for(int i=0;i<=2;i++){ |
| | | String coalColoum = result.get("coalColoum"+i).toString(); |
| | | if(StringUtils.isNotBlank(coalColoum)){ |
| | | JSONArray responseArr = JSON.parseArray(coalColoum); |
| | | for (int j = 0; j < responseArr.size(); j++) { |
| | | JSONArray element = JSON.parseArray(responseArr.get(j).toString()); |
| | | CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity(); |
| | | deviationEntity.setRelId(tMap.get("relId").toString()); |
| | | deviationEntity.setProcess(tMap.get("process").toString()); |
| | | deviationEntity.setClock(tMap.get("clock").toString()); |
| | | deviationEntity.setSugObj("LJ"); |
| | | deviationEntity.setGroupName(cokeColoumMap.get("cokeColoum"+i).toString()); |
| | | deviationEntity.setSugObj("BM"); |
| | | deviationEntity.setGroupName(coalColoumMap.get("coalColoum"+i).toString()); |
| | | deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); |
| | | // deviationEntity.setIndName(element.get(0).toString()); |
| | | deviationEntity.setIndValue(element.get(1).toString()); |
| | | deviationEntity.setCreateDate(new Date()); |
| | | cokingTraceDeviationService.save(deviationEntity); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | String[] analyContent = tMap.get("analyContent").toString().split(";"); |
| | | for(int i=0;i<analyContent.length;i++){ |
| | | CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity(); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("indType","炼焦工序异常溯源"); |
| | | map.put("indType","备煤工序异常溯源"); |
| | | List<CokingTraceConfEntity> list = cokingTraceConfService.list(map); |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | logger.info("ConfLis is Empty"); |
| | |
| | | cokingTraceIndEntity.setRelId(tMap.get("relId").toString()); |
| | | cokingTraceIndEntity.setTitle(conf.getIndType()); |
| | | cokingTraceIndEntity.setClock(tMap.get("clock").toString()); |
| | | cokingTraceIndEntity.setIndCode(conf.getIndCode()); |
| | | cokingTraceIndEntity.setIndName(conf.getIndName()); |
| | | cokingTraceIndEntity.setIndValue(value); |
| | | cokingTraceIndEntity.setIndUnit(conf.getIndUnit()); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) { |
| | | public void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) { |
| | | historyPointMap.forEach((key,value) ->{ |
| | | CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity(); |
| | | cokingTraceChartEntity.setRelId(tMap.get("relId").toString()); |
文件名从 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelTask.java 修改 |
| | |
| | | import org.slf4j.LoggerFactory; |
| | | 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.*; |
| | |
| | | * @Description |
| | | * @createTime 2025年04月17日 |
| | | */ |
| | | @Component("runCokingTraceModelTask") |
| | | public class RunCokingTraceModelTask implements ITask { |
| | | @Component("runCokingTraceModelGXJTask") |
| | | public class RunCokingTraceModelGXJTask implements ITask { |
| | | |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | |
| | | |
| | | @Override |
| | | public void run(String params) { |
| | | logger.info("RunCokingTraceModelTask,参数为:{}", params); |
| | | logger.info("RunCokingTraceModelGXJTask,参数为:{}", params); |
| | | try { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | // int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | String yesterday = DateUtils.format(DateUtils.addDateDays(new Date(), -1), DateUtils.FORMAT_YEAR_MONTH_DAY); |
| | | String clock = ""; |
| | | String analyClass = ""; |
| | | int hour = 8; |
| | | if (hour == 0) { |
| | | clock = yesterday.concat("-").concat("A"); |
| | | analyClass = "甲班"; |
| | |
| | | saveTraceInd(tMap,result); |
| | | } |
| | | } catch (Exception ex) { |
| | | logger.error("RunCokingTraceModelTask运行异常"); |
| | | logger.error("RunCokingTraceModelGXJTask运行异常"); |
| | | ex.printStackTrace(); |
| | | } |
| | | logger.info("RunCokingTraceModelTask运行完成"); |
| | | logger.info("RunCokingTraceModelGXJTask运行完成"); |
| | | |
| | | } |
| | | |
| | | private void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | CokingTraceReportEntity reportEntity = new CokingTraceReportEntity(); |
| | | reportEntity.setId(tMap.get("relId").toString()); |
| | | reportEntity.setProcess(tMap.get("process").toString()); |
| | |
| | | cokingTraceReportService.save(reportEntity); |
| | | } |
| | | |
| | | private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | for(int i=1;i<=2;i++){ |
| | | String steamTotal = result.get("steamTotal"+i).toString(); |
| | | if(StringUtils.isNotBlank(steamTotal)){ |
| | | CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); |
| | | suggestEntity.setRelId(tMap.get("relId").toString()); |
| | | suggestEntity.setProcess(tMap.get("process").toString()); |
| | | suggestEntity.setSugObj(i+"#"); |
| | | suggestEntity.setSugObj("GXJ"); |
| | | suggestEntity.setClock(tMap.get("clock").toString()); |
| | | suggestEntity.setContent(steamTotal); |
| | | suggestEntity.setCreateDate(new Date()); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.STEAM_INDEX_CHARTCODE); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue())); |
| | | 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)){ |
| | |
| | | deviationEntity.setRelId(tMap.get("relId").toString()); |
| | | deviationEntity.setProcess(tMap.get("process").toString()); |
| | | deviationEntity.setClock(tMap.get("clock").toString()); |
| | | deviationEntity.setSugObj("1#"); |
| | | deviationEntity.setSugObj("GXJ"); |
| | | deviationEntity.setGroupName(steamFirstColoumMap.get("steamFirstColoum"+i).toString()); |
| | | deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); |
| | | deviationEntity.setIndValue(element.get(1).toString()); |
| | |
| | | deviationEntity.setRelId(tMap.get("relId").toString()); |
| | | deviationEntity.setProcess(tMap.get("process").toString()); |
| | | deviationEntity.setClock(tMap.get("clock").toString()); |
| | | deviationEntity.setSugObj("2#"); |
| | | deviationEntity.setSugObj("GXJ"); |
| | | deviationEntity.setGroupName(steamSecondColoumMap.get("steamSecondColoum" + i).toString()); |
| | | deviationEntity.setIndName(element.get(0).toString()); |
| | | deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); |
| | | deviationEntity.setIndValue(element.get(1).toString()); |
| | | deviationEntity.setCreateDate(new Date()); |
| | | cokingTraceDeviationService.save(deviationEntity); |
| | |
| | | |
| | | } |
| | | |
| | | private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | String[] analyContent = tMap.get("analyContent").toString().split(";"); |
| | | for(int i=0;i<analyContent.length;i++){ |
| | | CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity(); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("indType","干熄焦工序异常溯源"); |
| | | List<CokingTraceConfEntity> list = cokingTraceConfService.list(map); |
| | |
| | | cokingTraceIndEntity.setRelId(tMap.get("relId").toString()); |
| | | cokingTraceIndEntity.setTitle(conf.getIndType()); |
| | | cokingTraceIndEntity.setClock(tMap.get("clock").toString()); |
| | | cokingTraceIndEntity.setIndCode(conf.getIndCode()); |
| | | cokingTraceIndEntity.setIndName(conf.getIndName()); |
| | | cokingTraceIndEntity.setIndValue(value); |
| | | cokingTraceIndEntity.setIndUnit(conf.getIndUnit()); |
copy from ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java
copy to ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelHCTask.java
文件从 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java 复制 |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 炼焦工序-异常溯源 |
| | | * 化产工序异常溯源 |
| | | * |
| | | * @author lirm |
| | | * @Description |
| | | * @createTime 2025年04月21日 |
| | | * @createTime 2025年04月22日 |
| | | */ |
| | | @Component("runCokingTraceModel3Task") |
| | | public class RunCokingTraceModel3Task implements ITask { |
| | | @Component("runCokingTraceModelHCTask") |
| | | public class RunCokingTraceModelHCTask implements ITask{ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private IndItemApi indItemApi; |
| | | |
| | | 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> chemProdColoumMap = new HashMap<String, Object>() {{ |
| | | put("chemProdFirstColoum0", "一级指标-偏差值"); |
| | | put("chemProdFirstColoum1", "二级指标-偏差值"); |
| | | put("chemProdFirstColoum2", "影响因素1-偏差值"); |
| | | }}; |
| | | |
| | | private static final HashMap<String, Object> historyPointMap = new HashMap<String, Object>() {{ |
| | | put("LJSY001", "荒煤气发生"); |
| | | put("LJSY005", "耗热量"); |
| | | put("HCSY001", "蒸汽消耗"); |
| | | put("HCSY020", "初冷器出口煤气温度"); |
| | | put("HCSY021", "洗苯塔后煤气含苯"); |
| | | put("HCSY022", "脱硫后H2S含量"); |
| | | }}; |
| | | |
| | | 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" + |
| | | " \"cokeColoum0\":[[0,13],[0,42],[0,34]],\n" + |
| | | " \"cokeColoum1\":[[13,12],[12,34],[24,42]],\n" + |
| | | " \"cokeColoum2\":[[27,45],[58,42],[70,31]],\n" + |
| | | " \"cokeColoum3\":[[108,56],[110,89],[185,21]],\n" + |
| | | " \"cokeColoum4\":[[199,13],[200,51],[197,34]],\n" + |
| | | " \"cokeColoum5\":[[147,33],[131,12],[122,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\":\"2月18日甲班:吨焦耗热量异常\",\n" + |
| | | " \"cokeHomeErr\":\"2月18日煤气预热器前数据异常(无数据)\"\n" + |
| | | " }\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" + |
| | | " \"chemProdFirstColoum0\":[[0,42]],\n" + |
| | | " \"chemProdFirstColoum1\":[[5,1342],[7,1342],[9,1342]],\n" + |
| | | " \"chemProdFirstColoum2\":[[5,10,1342],[5,16,1342],[7,18,1342]],\n" + |
| | | " \"chemProdHomePage\":[[9,1342],[9,1342]],\n" + |
| | | " \"chemProdHomeIndex\":[[90.4,90.2],[80.3,78],[103,100],[280,270]],\n" + |
| | | " \"chemProdHomeIndexInfo\":\"2月18日甲班:化产蒸汽消耗量异常\",\n" + |
| | | " \"chemProdHomeErr\":\"2月18日化产蒸汽消耗量数据异常(无数据)\"\n" + |
| | | " }" + |
| | | "}"; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void run(String params) { |
| | | logger.info("RunCokingTraceModel3Task,参数为:{}", params); |
| | | logger.info("RunCokingTraceModelHCTask,参数为:{}", params); |
| | | try { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(Calendar.MILLISECOND, 0); |
| | |
| | | calendar.set(Calendar.MINUTE,0); |
| | | calendar.add(Calendar.DAY_OF_YEAR, -1); |
| | | String yesterday = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY); |
| | | // int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | Date startDate = calendar.getTime(); |
| | | calendar.add(Calendar.HOUR, 8); |
| | | Date endDate = calendar.getTime(); |
| | | int hour = 8; |
| | | String clock = ""; |
| | | String analyClass = ""; |
| | | if (hour == 0) { |
| | |
| | | } |
| | | Map<String, Object> tMap = new HashMap<>(); |
| | | tMap.put("relId", UUID.randomUUID().toString()); |
| | | tMap.put("process", "炼焦工序"); |
| | | tMap.put("reportName", "炼焦工序"); |
| | | tMap.put("process", "化产工序"); |
| | | tMap.put("reportName", "化产工序"); |
| | | tMap.put("analyDate", yesterday); |
| | | tMap.put("analyClass", analyClass); |
| | | tMap.put("clock", clock); |
| | | tMap.put("analyContent", "COG回收量异常;吨焦耗热量异常"); |
| | | tMap.put("analyContent", "化产蒸汽消耗量异常"); |
| | | tMap.put("startDate", startDate); |
| | | tMap.put("endDate", endDate); |
| | | |
| | |
| | | saveTraceChart(tMap,result,startDate,endDate); |
| | | } |
| | | } catch (Exception ex) { |
| | | logger.error("RunCokingTraceModel3Task运行异常"); |
| | | logger.error("RunCokingTraceModelHCTask运行异常"); |
| | | ex.printStackTrace(); |
| | | } |
| | | logger.info("RunCokingTraceModel3Task运行完成"); |
| | | logger.info("RunCokingTraceModelHCTask运行完成"); |
| | | } |
| | | |
| | | private void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | CokingTraceReportEntity reportEntity = new CokingTraceReportEntity(); |
| | | reportEntity.setId(tMap.get("relId").toString()); |
| | | reportEntity.setProcess(tMap.get("process").toString()); |
| | |
| | | cokingTraceReportService.save(reportEntity); |
| | | } |
| | | |
| | | private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | String cokeTotal = result.get("cokeTotal").toString(); |
| | | if(StringUtils.isNotBlank(cokeTotal)){ |
| | | public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | String chemProdTotal = result.get("chemProdTotal").toString(); |
| | | if(StringUtils.isNotBlank(chemProdTotal)){ |
| | | CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); |
| | | suggestEntity.setRelId(tMap.get("relId").toString()); |
| | | suggestEntity.setProcess(tMap.get("process").toString()); |
| | | suggestEntity.setSugObj("LJ"); |
| | | suggestEntity.setSugObj("HC"); |
| | | suggestEntity.setClock(tMap.get("clock").toString()); |
| | | suggestEntity.setContent(cokeTotal); |
| | | suggestEntity.setContent(chemProdTotal); |
| | | suggestEntity.setCreateDate(new Date()); |
| | | cokingTraceSuggestService.save(suggestEntity); |
| | | } |
| | | } |
| | | |
| | | private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COKE_INDEX_CHARTCODE); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue())); |
| | | for(int i=0;i<=5;i++){ |
| | | String cokeColoum = result.get("cokeColoum"+i).toString(); |
| | | if(StringUtils.isNotBlank(cokeColoum)){ |
| | | JSONArray responseArr = JSON.parseArray(cokeColoum); |
| | | public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.CHEMPROD_INDEX_CHARTCODE); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName())); |
| | | for(int i=0;i<=2;i++){ |
| | | String chemProdFirstColoum = result.get("chemProdFirstColoum"+i).toString(); |
| | | if(StringUtils.isNotBlank(chemProdFirstColoum)){ |
| | | JSONArray responseArr = JSON.parseArray(chemProdFirstColoum); |
| | | for (int j = 0; j < responseArr.size(); j++) { |
| | | JSONArray element = JSON.parseArray(responseArr.get(j).toString()); |
| | | CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity(); |
| | | deviationEntity.setRelId(tMap.get("relId").toString()); |
| | | deviationEntity.setProcess(tMap.get("process").toString()); |
| | | deviationEntity.setClock(tMap.get("clock").toString()); |
| | | deviationEntity.setSugObj("LJ"); |
| | | deviationEntity.setGroupName(cokeColoumMap.get("cokeColoum"+i).toString()); |
| | | deviationEntity.setSugObj("HC"); |
| | | deviationEntity.setGroupName(chemProdColoumMap.get("chemProdFirstColoum"+i).toString()); |
| | | deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); |
| | | // deviationEntity.setIndName(element.get(0).toString()); |
| | | deviationEntity.setIndValue(element.get(1).toString()); |
| | | deviationEntity.setCreateDate(new Date()); |
| | | cokingTraceDeviationService.save(deviationEntity); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | String[] analyContent = tMap.get("analyContent").toString().split(";"); |
| | | for(int i=0;i<analyContent.length;i++){ |
| | | CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity(); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("indType","炼焦工序异常溯源"); |
| | | map.put("indType","化产工序异常溯源"); |
| | | List<CokingTraceConfEntity> list = cokingTraceConfService.list(map); |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | logger.info("ConfLis is Empty"); |
| | |
| | | cokingTraceIndEntity.setRelId(tMap.get("relId").toString()); |
| | | cokingTraceIndEntity.setTitle(conf.getIndType()); |
| | | cokingTraceIndEntity.setClock(tMap.get("clock").toString()); |
| | | cokingTraceIndEntity.setIndCode(conf.getIndCode()); |
| | | cokingTraceIndEntity.setIndName(conf.getIndName()); |
| | | cokingTraceIndEntity.setIndValue(value); |
| | | cokingTraceIndEntity.setIndUnit(conf.getIndUnit()); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) { |
| | | public void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) { |
| | | historyPointMap.forEach((key,value) ->{ |
| | | CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity(); |
| | | cokingTraceChartEntity.setRelId(tMap.get("relId").toString()); |
文件名从 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModel3Task.java 修改 |
| | |
| | | * @Description |
| | | * @createTime 2025年04月21日 |
| | | */ |
| | | @Component("runCokingTraceModel3Task") |
| | | public class RunCokingTraceModel3Task implements ITask { |
| | | @Component("runCokingTraceModelLJTask") |
| | | public class RunCokingTraceModelLJTask implements ITask { |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | @Autowired |
| | |
| | | "}"; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void run(String params) { |
| | | logger.info("RunCokingTraceModel3Task,参数为:{}", params); |
| | | logger.info("RunCokingTraceModelLJTask,参数为:{}", params); |
| | | try { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(Calendar.MILLISECOND, 0); |
| | |
| | | calendar.set(Calendar.MINUTE,0); |
| | | calendar.add(Calendar.DAY_OF_YEAR, -1); |
| | | String yesterday = DateUtils.format(calendar.getTime(), DateUtils.FORMAT_YEAR_MONTH_DAY); |
| | | // int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | int hour = calendar.get(Calendar.HOUR_OF_DAY); |
| | | Date startDate = calendar.getTime(); |
| | | calendar.add(Calendar.HOUR, 8); |
| | | Date endDate = calendar.getTime(); |
| | | int hour = 8; |
| | | String clock = ""; |
| | | String analyClass = ""; |
| | | if (hour == 0) { |
| | |
| | | saveTraceChart(tMap,result,startDate,endDate); |
| | | } |
| | | } catch (Exception ex) { |
| | | logger.error("RunCokingTraceModel3Task运行异常"); |
| | | logger.error("RunCokingTraceModelLJTask运行异常"); |
| | | ex.printStackTrace(); |
| | | } |
| | | logger.info("RunCokingTraceModel3Task运行完成"); |
| | | logger.info("RunCokingTraceModelLJTask运行完成"); |
| | | } |
| | | |
| | | private void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceReport(Map<String, Object> tMap,JSONObject result) { |
| | | CokingTraceReportEntity reportEntity = new CokingTraceReportEntity(); |
| | | reportEntity.setId(tMap.get("relId").toString()); |
| | | reportEntity.setProcess(tMap.get("process").toString()); |
| | |
| | | cokingTraceReportService.save(reportEntity); |
| | | } |
| | | |
| | | private void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceSuggest(Map<String, Object> tMap,JSONObject result) { |
| | | String cokeTotal = result.get("cokeTotal").toString(); |
| | | if(StringUtils.isNotBlank(cokeTotal)){ |
| | | CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity(); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceDeviation(Map<String, Object> tMap,JSONObject result) { |
| | | List<ChartParamDTO> list = mcsApi.getChartParamList(CommonConstant.COKE_INDEX_CHARTCODE); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamValue())); |
| | | Map<String, String> steamIndexMaps = list.stream().collect(Collectors.toMap(ChartParamDTO::getParamCode, e -> e.getParamName())); |
| | | for(int i=0;i<=5;i++){ |
| | | String cokeColoum = result.get("cokeColoum"+i).toString(); |
| | | if(StringUtils.isNotBlank(cokeColoum)){ |
| | |
| | | deviationEntity.setSugObj("LJ"); |
| | | deviationEntity.setGroupName(cokeColoumMap.get("cokeColoum"+i).toString()); |
| | | deviationEntity.setIndName(steamIndexMaps.get(element.get(0).toString())); |
| | | // deviationEntity.setIndName(element.get(0).toString()); |
| | | deviationEntity.setIndValue(element.get(1).toString()); |
| | | deviationEntity.setCreateDate(new Date()); |
| | | cokingTraceDeviationService.save(deviationEntity); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveAnalyInd(Map<String, Object> tMap,JSONObject result) { |
| | | String[] analyContent = tMap.get("analyContent").toString().split(";"); |
| | | for(int i=0;i<analyContent.length;i++){ |
| | | CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity(); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | public void saveTraceInd(Map<String, Object> tMap,JSONObject result) { |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("indType","炼焦工序异常溯源"); |
| | | List<CokingTraceConfEntity> list = cokingTraceConfService.list(map); |
| | |
| | | cokingTraceIndEntity.setRelId(tMap.get("relId").toString()); |
| | | cokingTraceIndEntity.setTitle(conf.getIndType()); |
| | | cokingTraceIndEntity.setClock(tMap.get("clock").toString()); |
| | | cokingTraceIndEntity.setIndCode(conf.getIndCode()); |
| | | cokingTraceIndEntity.setIndName(conf.getIndName()); |
| | | cokingTraceIndEntity.setIndValue(value); |
| | | cokingTraceIndEntity.setIndUnit(conf.getIndUnit()); |
| | |
| | | } |
| | | } |
| | | |
| | | private void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) { |
| | | public void saveTraceChart(Map<String, Object> tMap, JSONObject result,Date startDate,Date endDate) { |
| | | historyPointMap.forEach((key,value) ->{ |
| | | CokingTraceChartEntity cokingTraceChartEntity = new CokingTraceChartEntity(); |
| | | cokingTraceChartEntity.setRelId(tMap.get("relId").toString()); |