沙钢智慧能源系统后端代码
dongyukun
5 天以前 3da3dda8fe9ab520cac2675fb1e1e63a725d44ef
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
package com.iailab.module.shasteel.job.task;
 
import com.iailab.module.data.api.ind.IndItemApi;
import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO;
import com.iailab.module.model.api.mcs.McsApi;
import com.iailab.module.model.api.mcs.dto.ChartDTO;
import com.iailab.module.model.api.mcs.dto.ChartParamDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * 同步分段数据定时任务
 * @author Jay
 */
@Component("syncElectricityPriceDataTask")
public class SyncElectricityPriceDataTask implements ITask {
    private Logger logger = LoggerFactory.getLogger(getClass());
 
    @Autowired
    private IndItemApi indItemApi;
 
    @Autowired
    private McsApi mcsApi;
 
    private static final String PRICE_ITEM_CODE = "PTDM01_EPS_EP";
 
    private static final String IND_J_CODE = "A0000100085";
 
    private static final String IND_F_CODE = "A0000100086";
 
    private static final String IND_P_CODE = "A0000100087";
 
    private static final String IND_G_CODE = "A0000100088";
 
    @Override
    public void run(String params) {
        logger.info("SyncElectricityPriceDataTask定时任务正在执行,参数为:{}", params);
        try {
            ChartDTO chartDTO = new ChartDTO();
            chartDTO.setChartCode(PRICE_ITEM_CODE);
            List<ChartParamDTO> chartParams = new ArrayList<>();
            List<ApiIndItemValueDTO> jIndItemlist = indItemApi.queryIndItemDefaultValue(IND_J_CODE);
            logger.info("查询到的尖价格:" + jIndItemlist);
            if (!CollectionUtils.isEmpty(jIndItemlist)){
                String jPrice = String.valueOf(jIndItemlist.get(0).getDataValue());
                ChartParamDTO jChartParam = new ChartParamDTO();
                jChartParam.setParamCode("EJ00");
                jChartParam.setParamValue(jPrice);
                chartParams.add(jChartParam);
            }
            List<ApiIndItemValueDTO> fIndItemlist = indItemApi.queryIndItemDefaultValue(IND_F_CODE);
            logger.info("查询到的峰价格:" + fIndItemlist);
            if (!CollectionUtils.isEmpty(fIndItemlist)){
                String fPrice = String.valueOf(fIndItemlist.get(0).getDataValue());
                logger.info("查询到的峰价格:" + fPrice);
                ChartParamDTO fChartParam = new ChartParamDTO();
                fChartParam.setParamCode("EF00");
                fChartParam.setParamValue(fPrice);
                chartParams.add(fChartParam);
            }
            List<ApiIndItemValueDTO> pIndItemlist = indItemApi.queryIndItemDefaultValue(IND_P_CODE);
            logger.info("查询到的平价格:" + pIndItemlist);
            if (!CollectionUtils.isEmpty(pIndItemlist)){
                String pPrice = String.valueOf(pIndItemlist.get(0).getDataValue());
                ChartParamDTO pChartParam = new ChartParamDTO();
                pChartParam.setParamCode("EP00");
                pChartParam.setParamValue(pPrice);
                chartParams.add(pChartParam);
            }
            List<ApiIndItemValueDTO> gIndItemlist = indItemApi.queryIndItemDefaultValue(IND_G_CODE);
            logger.info("查询到的谷价格:" + gIndItemlist);
            if (!CollectionUtils.isEmpty(gIndItemlist)){
                String gPrice = String.valueOf(gIndItemlist.get(0).getDataValue());
                ChartParamDTO gChartParam = new ChartParamDTO();
                gChartParam.setParamCode("EG00");
                gChartParam.setParamValue(gPrice);
                chartParams.add(gChartParam);
            }
            chartDTO.setChartParams(chartParams);
            logger.info("chartDTO:" + chartDTO);
            mcsApi.updateChartParam(chartDTO);
        } catch (Exception ex) {
            logger.error("SyncElectricityPriceDataTask运行异常:" + ex.getMessage());
            ex.printStackTrace();
        }
        logger.info("SyncElectricityPriceDataTask运行完成");
    }
 
}