鞍钢鲅鱼圈能源管控系统后端代码
liriming
3 天以前 93cf898ec4c205005f452d291a8f401bdb4835e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package com.iailab.module.ansteel.job.task;
 
import com.iailab.framework.common.util.date.DateUtils;
import com.iailab.module.ansteel.coking.entity.CokingAnalyIndEntity;
import com.iailab.module.ansteel.coking.entity.CokingTraceDeviationEntity;
import com.iailab.module.ansteel.coking.entity.CokingTraceReportEntity;
import com.iailab.module.ansteel.coking.entity.CokingTraceSuggestEntity;
import com.iailab.module.ansteel.coking.service.CokingAnalyIndService;
import com.iailab.module.ansteel.coking.service.CokingTraceDeviationService;
import com.iailab.module.ansteel.coking.service.CokingTraceReportService;
import com.iailab.module.ansteel.coking.service.CokingTraceSuggestService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.util.*;
 
/**
 * @author lirm
 * @Description
 * @createTime 2025年04月17日
 */
@Component("runCokingTraceModelTask")
public class RunCokingTraceModelTask implements ITask {
 
    private Logger logger = LoggerFactory.getLogger(getClass());
 
    @Autowired
    private CokingTraceReportService cokingTraceReportService;
 
    @Autowired
    private CokingTraceSuggestService cokingTraceSuggestService;
 
    @Autowired
    private CokingTraceDeviationService cokingTraceDeviationService;
 
    @Autowired
    private CokingAnalyIndService cokingAnalyIndService;
 
    private static final HashMap<String, Object> sugObjMap = new HashMap<String, Object>() {{
        put("1#", "1#干熄焦主蒸汽温度因装焦量、装焦温度偏低而降低13℃。经模型计算,建议调整XX,预计可使XX指标升高/降低XX");
        put("2#", "2#干熄焦蒸汽发生量因空气导入量偏高、锅炉入口温度偏低而减少13t。经模型计算,建议调整XX,预计可使XX指标升高/降低XX\n");
    }};
 
    private static final HashMap<String, List<String>> deviationMap = new HashMap<String, List<String>>() {{
        put("1", Arrays.asList("1#", "一级指标-偏差值", "主蒸汽温度", "13", "℃"));
        put("2", Arrays.asList("1#", "二级指标-偏差值", "装焦温度", "50", "℃"));
        put("3", Arrays.asList("1#", "影响因素1-偏差值", "CO含量", "5", "%"));
        put("4", Arrays.asList("1#", "影响因素2-偏差值", "H2含量", "4", "%"));
        put("5", Arrays.asList("2#", "一级指标-偏差值", "蒸汽产量", "15", "t"));
        put("6", Arrays.asList("2#", "二级指标-偏差值", "空气导入量", "350", ""));
        put("7", Arrays.asList("2#", "影响因素1-偏差值", "干熄炉入口温度", "30", "℃"));
        put("8", Arrays.asList("2#", "影响因素2-偏差值", "H2含量", "4", "%"));
    }};
 
    @Override
    public void run(String params) {
        logger.info("RunCokingTraceModelTask,参数为:{}", params);
        try {
            Calendar calendar = Calendar.getInstance();
            int hour = calendar.get(Calendar.HOUR_OF_DAY);
            String yesterday = DateUtils.format(DateUtils.addDateDays(new Date(), -1), DateUtils.FORMAT_YEAR_MONTH_DAY);
            String clock = "";
            if (hour == 0) {
                clock = yesterday.concat("-").concat("A");
            } else if (hour == 8) {
                clock = yesterday.concat("-").concat("B");
            } else if (hour == 16) {
                clock = yesterday.concat("-").concat("C");
            }
            Map<String, Object> tMap = new HashMap<>();
            tMap.put("relId", UUID.randomUUID().toString());
            tMap.put("process", "干熄焦工序");
            tMap.put("reportName", "锅炉蒸汽产量");
            tMap.put("analyDate", yesterday);
            tMap.put("analyClass", "甲班");
            tMap.put("clock", clock);
            tMap.put("analyContent", "锅炉蒸汽产量异常");
 
            saveTraceReport(tMap);
            saveTraceSuggest(tMap);
            saveTraceDeviation(tMap);
            saveTraceAnalyInd(tMap);
 
        } catch (Exception ex) {
            logger.error("RunCokingTraceModelTask运行异常");
            ex.printStackTrace();
        }
        logger.info("RunCokingTraceModelTask运行完成");
 
    }
 
    private void saveTraceReport(Map<String, Object> tMap) {
        CokingTraceReportEntity reportEntity = new CokingTraceReportEntity();
        reportEntity.setId(tMap.get("relId").toString());
        reportEntity.setProcess(tMap.get("process").toString());
        reportEntity.setReportName(tMap.get("reportName").toString());
        reportEntity.setAnalyDate(tMap.get("analyDate").toString());
        reportEntity.setAnalyClass(tMap.get("analyClass").toString());
        reportEntity.setClock(tMap.get("clock").toString());
        reportEntity.setAnalyContent(tMap.get("analyContent").toString());
        reportEntity.setCreateDate(new Date());
        cokingTraceReportService.save(reportEntity);
    }
 
    private void saveTraceSuggest(Map<String, Object> tMap) {
        for (Map.Entry<String, Object> entry : sugObjMap.entrySet()) {
            CokingTraceSuggestEntity suggestEntity = new CokingTraceSuggestEntity();
            suggestEntity.setRelId(tMap.get("relId").toString());
            suggestEntity.setProcess(tMap.get("process").toString());
            suggestEntity.setSugObj(entry.getKey());
            suggestEntity.setClock(tMap.get("clock").toString());
            suggestEntity.setContent(entry.getValue().toString());
            cokingTraceSuggestService.save(suggestEntity);
        }
    }
 
    private void saveTraceDeviation(Map<String, Object> tMap) {
        for (Map.Entry<String, List<String>> entry : deviationMap.entrySet()) {
            CokingTraceDeviationEntity deviationEntity = new CokingTraceDeviationEntity();
            deviationEntity.setRelId(tMap.get("relId").toString());
            deviationEntity.setProcess(tMap.get("process").toString());
            deviationEntity.setSugObj(entry.getValue().get(0));
            deviationEntity.setClock(tMap.get("clock").toString());
            deviationEntity.setGroupName(entry.getValue().get(1));
            deviationEntity.setIndName(entry.getValue().get(2));
            deviationEntity.setIndValue(entry.getValue().get(3));
            deviationEntity.setIndUnit(entry.getValue().get(4));
            deviationEntity.setCreateDate(new Date());
 
            cokingTraceDeviationService.save(deviationEntity);
        }
    }
 
    private void saveTraceAnalyInd(Map<String, Object> tMap) {
        CokingAnalyIndEntity analyIndEntity = new CokingAnalyIndEntity();
        analyIndEntity.setRelId(tMap.get("relId").toString());
        analyIndEntity.setAnalyType(tMap.get("process").toString());
        analyIndEntity.setAnalyDate(tMap.get("analyDate").toString());
        analyIndEntity.setAnalyClass(tMap.get("analyClass").toString());
        analyIndEntity.setAnalyContent(tMap.get("analyContent").toString());
        cokingAnalyIndService.save(analyIndEntity);
    }
}