houzhongjian
2024-07-23 a6de490948278991e47952e90671ddba4555e9a2
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
package com.iailab.module.job.task;
 
import com.alibaba.fastjson.JSON;
import com.iailab.common.utils.DateUtils;
import com.iailab.module.mcs.dto.StModelDTO;
import com.iailab.module.mcs.service.StModelService;
import com.iailab.module.mcs.service.StModelResultService;
import com.iailab.module.model.handler.ModelHandler;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
 
import java.util.*;
 
/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年07月08日
 */
@Component("fakeDataTask")
public class FakeDataTask implements ITask {
 
    @Resource
    private StModelService stModelService;
 
    @Resource
    private ModelHandler modelHandler;
 
    @Resource
    private StModelResultService stModelCommonResultService;
 
    // private final String MODEL_CODE = "shallow_groove_separation_control307";
 
    // private final String MODEL_CODE = "shallow_groove_separation_control308";
 
    // private final String MODEL_CODE = "separation_control3318";
 
    // private final String MODEL_CODE = "separation_control3319";
 
    // private final String MODEL_CODE = "thickener_control_qc";
 
    // private final String MODEL_CODE = "thickener_control_xl";
 
    // private final String MODEL_CODE = "filter";
 
    private final String MODEL_CODE = "warehouse_allocation";
 
    private Date startDate = DateUtils.stringToDate("2024-05-15 12:00:00", DateUtils.DATE_TIME_PATTERN);
 
    private Date endDate = DateUtils.stringToDate("2024-07-01 12:00:00", DateUtils.DATE_TIME_PATTERN);
 
    private int sc = 60;
 
    private List<Integer> inHours = new ArrayList<>();
 
    FakeDataTask() {
        inHours.add(18);
    }
 
    @Override
    public void run(String params) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(startDate);
        do {
            calendar.add(Calendar.SECOND, sc);
            int hour = calendar.get(Calendar.HOUR_OF_DAY);
            System.out.println("hour=" + hour);
            System.out.println(DateUtils.format(calendar.getTime(), DateUtils.DATE_TIME_PATTERN));
            if (!inHours.contains(hour) || calendar.get(Calendar.MINUTE) > 10) {
                continue;
            }
            StModelDTO stModel = stModelService.getByCode(MODEL_CODE);
 
            // 307
            // String jsonString = "{\"mv_fl_kd_307\":14,\"mv_hj_water_valve_main_307\":0,\"mv_xj_water_valve_307\":51,\"mv_hj_water_valve_small_307\":0,\"mv_mn_water_valve_307\":0,\"status\":200,\"tips\":\"OK\"}";
 
            // 308
            // String jsonString = "{\"mv_fl_kd_308\":14,\"mv_hj_water_valve_main_308\":0,\"mv_xj_water_valve_308\":51,\"mv_hj_water_valve_small_308\":0,\"mv_mn_water_valve_308\":0,\"status\":200,\"tips\":\"OK\"}";
 
            // 3318
            //String jsonString = "{\"mv_pump_hl_3318\":9,\"mv_valve_fl_3318\":0,\"mv_pump_hj_3318\":11,\"mv_pump_xj_3318\":12,\"mv_value_hj_water_3318\":0,\"mv_value_xj_water_3318\":10,\"mv_valve_jj_3318\":0,\"mv_pump_mn_3318\":0,\"mv_valve_mn_water_3318\":30,\"target_md_3318\":15,\"status\":200,\"tips\":\"OK\"}";
 
            // 3319
            // String jsonString = "{\"mv_pump_hl_3319\":9,\"mv_valve_fl_3319\":0,\"mv_pump_hj_3319\":11,\"mv_pump_xj_3319\":12,\"mv_value_hj_water_3319\":0,\"mv_value_xj_water_3319\":10,\"mv_valve_jj_3319\":0,\"mv_pump_mn_3319\":0,\"mv_valve_mn_water_3319\":30,\"target_md_3319\":15,\"status\":200,\"tips\":\"OK\"}";
 
            // 浅槽浓缩
            // String jsonString = "{\"Dos_yang_det_QC\":35.5,\"Dos_yin_det_QC\":28.0,\"status\":200}";
 
            // 旋流浓缩
            // String jsonString = "{\"Dos_yang_det1_XL\":38.0,\"Dos_yang_det2_XL\":0,\"Dos_yin_det1_XL\":31.0,\"Dos_yin_det2_XL\":0,\"status\":200}";
 
            // 智能压滤
            // String jsonString = "{\"zt4429_res\":0,\"UF_pumb2\":0.0,\"zt4430_res\":-1,\"zt4422_res\":-1,\"zt4428_res\":1,\"zt4431_res\":1,\"zt4432_res\":-1,\"zt4419_res\":1,\"UF_pumb1\":1.0,\"zt4420_res\":-1,\"zt4418_res\":-1,\"zt4421_res\":-1,\"status\":200}";
 
            // 智能配仓
            String jsonString = "{\"status\":200,\"tips\":\"OK\",\"unloader_state1\":0,\"unloader_state2\":0,\"unloader_state3\":0,\"unloader_state4\":0,\"unloader_state5\":0,\"unloader_state6\":0,\"unloader_state7\":0,\"unloader_state8\":0,\"unloader_state9\":0,\"unloader_state10\":1,\"bunker_ash\":7.74,\"bunker_water\":6.78,\"bunker_heat_val\":4617,\"bunker_number\":[4,12]}";
 
            Map<String, Object> result = JSON.parseObject(jsonString);
            stModelCommonResultService.addML(stModel.getId(), result, calendar.getTime());
            modelHandler.addLog(stModel.getId(), MODEL_CODE, calendar.getTime(), modelHandler.dealResult(result));
        } while (calendar.getTime().getTime() <= endDate.getTime());
 
    }
}