lxw
2023-09-08 0c68ddbef7aa46a1e62cca537acf12d2b8178f31
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
146
147
148
package com.whyc.service;
 
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.dto.AlarmDaoFactory;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.AlarmPar;
import com.whyc.dto.result.AlarmRes;
import com.whyc.mapper.BattalarmDataHistoryMapper;
import com.whyc.mapper.CommonMapper;
import com.whyc.pojo.BattAlarmDataVerify;
import com.whyc.pojo.BattalarmDataHistory;
import com.whyc.pojo.UserInf;
import com.whyc.util.ActionUtil;
import com.whyc.util.MessageUtils;
import com.whyc.util.SubTablePageInfoUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
@Service
public class BattalarmDataHistoryService {
 
    @Resource
    private BattalarmDataHistoryMapper mapper;
 
    @Resource
    private SubTablePageInfoUtils subTablePageInfoUtils;
 
    @Resource
    private CommonMapper commonMapper;
 
    //分页查询所有的历史告警
 
    public Response serchByInfo(AlarmPar par) {
        //分页信息
        PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize());
        UserInf uinf = ActionUtil.getUser();
        par.setUId(uinf.getUId().intValue());
        List<AlarmRes> list = mapper.serchByInfo(par);
        for (AlarmRes a : list) {
            List<BattalarmDataHistory> l = a.getAdataHs();
            for (BattalarmDataHistory adataH : l) {
                adataH.setAlmSignalIdName(MessageUtils.getMessage(AlarmDaoFactory.getAlarmName(adataH.getAlmSignalId())));
                adataH.setAlmLevelName(MessageUtils.getMessage(AlarmDaoFactory.getAlarmType(adataH.getAlmLevel())));
            }
        }
        PageInfo<AlarmRes> pinfo = new PageInfo<AlarmRes>(list);
        List levelList = serchByLevel(uinf.getUId().intValue());
        return new Response().setII(1, pinfo, levelList, "返回结果");
    }
 
    //分页查询所有的历史告警
    public Response getPageInfo(AlarmPar param) throws ParseException, InterruptedException {
        //分页信息
        Integer pageNum = param.getPage().getPageCurr();
        Integer pageSize = param.getPage().getPageSize();
        UserInf uinf = ActionUtil.getUser();
        int uId = uinf.getUId().intValue();
        param.setUId(uId);
        Date almStartTime = param.getAlmStartTime();
        Date almEndTime = param.getAlmStartTime1();
        //List<AlarmRes> list = mapper.serchByInfo(parm);
        PageInfo<Object> pageInfo = subTablePageInfoUtils.getPageInfoByMonthTable(pageNum, pageSize, almStartTime, almEndTime,
                "db_alarm", "tb_battalarm_data_history", param);
        List<Object> list = pageInfo.getList();
        for (Object data : list) {
            AlarmRes a = (AlarmRes) data;
            List<BattalarmDataHistory> l = a.getAdataHs();
            for (BattalarmDataHistory adataH : l) {
                adataH.setAlmSignalIdName(MessageUtils.getMessage(AlarmDaoFactory.getAlarmName(adataH.getAlmSignalId())));
                adataH.setAlmLevelName(MessageUtils.getMessage(AlarmDaoFactory.getAlarmType(adataH.getAlmLevel())));
            }
        }
        return new Response().setII(1, pageInfo, null, "返回结果");
    }
 
    //查询分级告警的个数
    public List serchByLevel(int uId) {
        List list = new ArrayList();
        //分四级查询个数
        for (int i = 1; i <= 4; i++) {
            int countLevel = mapper.serchByLevel(i, uId);
            list.add(countLevel);
        }
        return list;
    }
 
    //删除历史告警记录
    @Transactional
    public Response delete(List<Integer> list) {
        int flag = 0;
        for (Integer num : list) {
            UpdateWrapper wrapper = new UpdateWrapper<>();
            // 通过num删除
            wrapper.eq("num", num);
            flag = mapper.delete(wrapper);
        }
        return new Response().set(flag);
    }
 
    public List<BattalarmDataHistory> getDataBeforeRetentionMonth(Date retentionTime) {
        return mapper.getDataBeforeRetentionMonth(retentionTime);
    }
 
    public void deleteBeforeRetentionMonth(Date retentionTime) {
        UpdateWrapper<BattalarmDataHistory> update = Wrappers.update();
 
        update.lt("alm_start_time",retentionTime);
        mapper.delete(update);
    }
 
    public void add(BattAlarmDataVerify data) {
        BattalarmDataHistory dataHistory = new BattalarmDataHistory();
        dataHistory.setAlmClearedType(data.getAlmClearedType());
        dataHistory.setAlmConfirmedTime(data.getAlmConfirmedTime());
        dataHistory.setAlmEndTime(data.getAlmEndTime());
        dataHistory.setAlmId(data.getAlmId());
        dataHistory.setAlmIsConfirmed(data.getAlmIsConfirmed());
        dataHistory.setAlmLevel(data.getAlmLevel());
        dataHistory.setAlmSeverity(data.getAlmSeverity());
        dataHistory.setAlmSignalId(data.getAlmSignalId());
        dataHistory.setAlmStartTime(data.getAlmStartTime());
        dataHistory.setAlmValue(data.getAlmValue());
        dataHistory.setBattGroupId(data.getBattGroupId());
        dataHistory.setMonNum(data.getMonNum());
        dataHistory.setRecordId(data.getRecordId());
        dataHistory.setUsrId(data.getUsrId());
        mapper.insert(dataHistory);
    }
 
    public List<BattalarmDataHistory> getListByStationId(Date startTime, Date endTime, String stationId,String tableName) {
        return mapper.getListByStationId(startTime,endTime,stationId,tableName);
    }
 
    public Response getLevelList() {
        Integer uId = ActionUtil.getUser().getUId().intValue();
        List<Integer> levelList = subTablePageInfoUtils.getLevelList(uId,"db_alarm", "tb_battalarm_data_history", "tb_battalarm_data_history(_[0-9]{4}_[0-9]{2})?",null);
        return new Response().set(1,levelList);
    }
}