洪城义警-正式版后台
zengh
2021-07-16 fc6be1cc1f57eb54ec4fe2e9f5f23fe09fab653c
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
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.alarm.service;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.common.entity.AlarmExcel;
import org.springblade.common.entity.ReportReturnData;
import org.springblade.modules.alarm.entity.Alarm;
import org.springblade.modules.alarm.vo.AlarmVO;
import org.springblade.modules.parcel.vo.ConditionVo;
import org.springblade.modules.system.entity.User;
 
import java.util.List;
import java.util.Map;
 
/**
 *  服务类
 *
 * @author BladeX
 * @since 2020-07-04
 */
public interface IAlarmService extends IService<Alarm> {
 
    /**
     * 自定义分页
     *
     * @param page
     * @param alarm
     * @return
     */
    IPage<AlarmVO> selectAlarmPage(IPage<AlarmVO> page, AlarmVO alarm);
    List<AlarmVO> listAll();
    List<AlarmVO> selectList(String jtype, String district, String waringType, String beginTime, String endTime);
    List<AlarmVO> getLimit();
    List<AlarmVO> selectInfo(String id);
    List<AlarmVO> selecttx(String id);
    void deletejj(String id);
    void s(Alarm alarm);
    void updateOne(Alarm alarm);
    List<Map<String, Object>> selectScount(String time);
    List<AlarmVO> selectListSe(String beginTime, String endTime);
    void updateJtype(String id, String jtype, String bz,String securityArr);
    void updateVaddress(String vaddress,String uids,String jid);
    void updatePoliceStatus(String id, String status);
    void updateAaddress(String aaddress,String jid);
    List<Map<String, Object>> selectEq(String time);
 
    /**
     * 查询警情总数
     * @param conditionVo status  0:本日   1:本周   2:本月  3:近7天
     * @return
     */
    Integer selectAlarmCount(ConditionVo conditionVo);
 
    /**
     * 查询7天内主动报警(紧急求助)每天的数量
     * @return
     */
    Map<String, Object> selectAlarmData();
 
    /**
     * 主动报警统计   饼图展示
     * @param conditionVo status 0:本日   1:本月  2:本月
     * @return
     */
    List<Map<String,Object>> selectAlarmSum(ConditionVo conditionVo);
 
    List<User> queryPolice();
 
    List<AlarmVO> queryPoliceTime(List policeIdArr);
 
    List<Map<String, Object>> queryBa();
 
    List<AlarmVO> getAlarm(AlarmVO alarmVO);
 
    List<AlarmVO> getAlarming(AlarmVO alarmVO);
 
    boolean setAlarm(AlarmVO alarmVO);
 
    /**
     * 查询当前时间段一键求助报警总次数
     * @param conditionVo
     * @return
     */
    Integer selAlarmTimeCount(ConditionVo conditionVo);
 
 
    /**
     * 一键求助报警确认时间占比
     * @param conditionVo 条件
     * @return
     */
    Object selConfirmTimePro(ConditionVo conditionVo);
 
    /**
     * 查询当前时间段区间时间一键求助报警个数
     * @param conditionVo
     * @return
     */
    List<Integer> selAlarmTimeDis(ConditionVo conditionVo);
 
    /**
     * 统计时间段内一键求助警情数量数据
     * @param conditionVo
     * @return
     */
    Map<String, Object> selectAlarmTimeData(ConditionVo conditionVo);
 
    /**
     * 根据编号查询本年所有月份的报警数
     * @param deviceNumber
     * @return
     */
    List<Map<String, Object>> queryYearAlarm(String deviceNumber);
 
    /**
     * 导出主动报警数据表格
     * @param alarmVO 查询条件
     */
    List<AlarmExcel> exportAlarm(AlarmVO alarmVO);
 
    /**
     * 获取实时警情数据集合
     * @param alarmVO
     * @return
     */
    List<ReportReturnData> getAlarmPie(AlarmVO alarmVO);
 
    /**
     * 查询未处理及处理中的警情总数量
     * @param deviceNumber 设备编号
     * @return
     */
    Integer selectEqCount(String deviceNumber);
 
    /**
     * 查询所有在线的接警员信息
     * @param province  省
     * @param city  市
     * @return
     */
    List<User> selOnlinePolice(Integer province,Integer city);
 
    /**
     * 当web端点击办结,推送110,派送保安是 更新警情的接警员信息
     * @param alarm 警情信息
     * @return
     */
    boolean updateReceivingAlarmPoliceInfo(Alarm alarm);
 
    /**
     * 查询当前保安需要处理和未处理的警情信息
     * @param alarmVO 需包含保安人员id,状态 status  1 查当前保安收到的警情和已接收的警情,已处理完成的  2:未接收的   3:处理完成的
     * @return
     */
    List<AlarmVO> getAlarmList(AlarmVO alarmVO);
 
    /**
     * 获取警情数量的集合,全部,未处理,已处理的数量
     * @param alarmVO 需包含保安人员id
     * @return
     */
    List<Integer> getAlarmNumber(AlarmVO alarmVO);
 
    /**
     * 查询当前保安需要处理和未处理的巡逻信息
     * @param alarmVO 需包含保安人员id,状态 status  1 查当前保安收到的警情和已接收的警情,已处理完成的  2:未接收的   3:处理完成的
     * @return
     */
    List<AlarmVO> getPatrolList(AlarmVO alarmVO);
 
    /**
     * 获取巡逻数量的集合,全部,未处理,已处理的数量
     * @param alarmVO 需包含保安人员id
     * @return
     */
    List<Integer> getPatrolNumber(AlarmVO alarmVO);
}