ustcyc
2025-01-07 de5d55508afd27fb2b47e6d4d6fd9984525c222c
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
package com.zhitan.alarm.services.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhitan.alarm.domain.AlarmItem;
import com.zhitan.alarm.mapper.AlarmItemMapper;
import com.zhitan.alarm.services.IAlarmItemService;
import com.zhitan.common.utils.DateUtils;
import com.zhitan.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
 
/**
 * 预报警设置Service业务层处理
 *
 * @author sys
 * @date 2020-03-02
 */
@Service
public class AlarmItemServiceImpl implements IAlarmItemService {
    @Autowired
    private AlarmItemMapper alarmItemMapper;
 
    /**
     * 查询预报警设置
     *
     * @param id 预报警设置ID
     * @return 预报警设置
     */
    @Override
    public AlarmItem selectAlarmItemById(String id) {
        return alarmItemMapper.selectAlarmItemById(id);
    }
 
    /**
     * 查询预报警设置列表
     *
     * @param alarmItem 预报警设置
     * @return 预报警设置
     */
    @Override
    public List<AlarmItem> selectAlarmItemList(AlarmItem alarmItem) {
        return alarmItemMapper.selectAlarmItemList(alarmItem);
    }
 
    /**
     * 新增预报警设置
     *
     * @param alarmItem 预报警设置
     * @return 结果
     */
    @Override
    public int insertAlarmItem(AlarmItem alarmItem) {
        alarmItem.setCreateTime(DateUtils.getNowDate());
        return alarmItemMapper.insertAlarmItem(alarmItem);
    }
 
    /**
     * 修改预报警设置
     *
     * @param alarmItem 预报警设置
     * @return 结果
     */
    @Override
    public int updateAlarmItem(AlarmItem alarmItem) {
        alarmItem.setUpdateTime(DateUtils.getNowDate());
        return alarmItemMapper.updateAlarmItem(alarmItem);
    }
 
    /**
     * 修改预报警设置
     *
     * @param ids,flag 预报警设置
     * @return 结果
     */
    @Override
    public int updateStartStop(String[] ids, String flag, String username) {
 
        return alarmItemMapper.updateStartStop(ids, flag, username);
    }
 
    /**
     * 批量删除预报警设置
     *
     * @param ids 需要删除的预报警设置ID
     * @return 结果
     */
    @Override
    public int deleteAlarmItemByIds(String[] ids) {
        return alarmItemMapper.deleteAlarmItemByIds(ids);
    }
 
    /**
     * 删除预报警设置信息
     *
     * @param id 预报警设置ID
     * @return 结果
     */
    @Override
    public int deleteAlarmItemById(String id) {
        return alarmItemMapper.deleteAlarmItemById(id);
    }
 
    /**
     * 查询预报警设置
     *
     * @param id 预报警设置ID
     * @return 预报警设置
     */
    @Override
    public List<AlarmItem> selectAlarmItemtingById(String id) {
        return alarmItemMapper.selectAlarmItemtingById(id);
    }
 
    /**
     * 查询预报警设置
     *
     * @return 预报警设置
     */
    @Override
    public String getStartStop(String indexid) {
        return alarmItemMapper.getStartStop(indexid);
    }
 
    /**
     * 修改弹出框限值
     *
     * @param data 【修改弹出框限值】
     * @return 结果
     */
    @Override
    public int updateLimitVal(List data, String username) {
        String id = "";
        int num = 0;
        int dataNum = data.size();
        Map<String, Object> map = (Map<String, Object>) data.get(0);
        id = map.get("indexId").toString();
        for (int i = 0; i < data.size(); i++) {
            Map<String, Object> map1 = (Map<String, Object>) data.get(i);
            String val = map1.get("limitVal").toString().trim();
            if ("".equals(val) || null == val) {
                data.remove(i);
                i--;
                num++;
            }
            map1.put("id", IdUtils.fastUUID());
            map1.put("alarmCode", map1.get("indexId").toString() + ":" + map1.get("timeSlotVal").toString() + ":" + map1.get("limitTypeVal").toString());
        }
        //查询条数
        int count = alarmItemMapper.selectCountById(id);
        if (num == dataNum) {//对比全空数据需要把数据库里id一致的全删除
            if (count > 0) {
                return alarmItemMapper.deleteAllLimitVal(id);
            } else {
                return 1;
            }
        } else {
            if (count > 0) {
                alarmItemMapper.deleteAllLimitVal(id);
                return alarmItemMapper.updateLimitValNoDel(data, id, username);
            } else {
                return alarmItemMapper.updateLimitValNoDel(data, id, username);
            }
        }
    }
 
    /**
     * 查询预报警设置
     *
     * @param id 预报警设置ID
     * @return 预报警设置
     */
    @Override
    public ArrayList getSettingCount(String[] id) {
        ArrayList list = new ArrayList();
        for (int i = 0; i < id.length; i++) {
            int count = alarmItemMapper.getSettingCount(id[i]);
            if (count > 0) {
                list.add(count);
            } else {
                list.add(0);
            }
        }
 
        return list;
    }
 
    @Override
    public List<AlarmItem> getAllAlarmItem() {
        return alarmItemMapper.getAllAlarmItem();
    }
 
    @Override
    public Page<AlarmItem> selectAlarmItemPage(AlarmItem alarmItem, Long pageNum, Long pageSize) {
        LambdaQueryWrapper<AlarmItem> queryWrapper =new LambdaQueryWrapper<>();
        queryWrapper.orderByDesc(AlarmItem::getCreateTime);
        return alarmItemMapper.selectPage(new Page<>(pageNum,pageSize),queryWrapper);
    }
}