From dbe1588cc6f6d596964c3dd0decee406942bdc84 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 22 Jun 2021 11:39:45 +0800
Subject: [PATCH] 新增查询当前保安人员的警情信息接口
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java | 14 +++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml | 76 ++++++++++++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java | 22 +++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java | 5 +
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java | 21 +++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java | 48 ++++++++++++
6 files changed, 183 insertions(+), 3 deletions(-)
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
index a7be510..2426598 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -697,6 +697,7 @@
List<DeptVo> deptVos = deptFeignApi.selDeptList();
List<AlarmVO> page = alarmService.getAlarming(alarmVO);
+
for (int j = 0; j < page.size(); j++) {
if (null!=page.get(j).getDeptId()){
String[] split = page.get(j).getDeptId().split(",");
@@ -719,6 +720,53 @@
}
/**
+ * 查询当前保安需要处理和未处理的警情信息
+ * @param alarmVO 需包含保安人员id,状态 status 1 查当前保安收到的警情和已接收的警情,已处理完成的 2:未接收的 3:处理完成的
+ * @param response
+ * @param query 分页对象
+ * @return
+ */
+ @GetMapping("/APP-getAlarmListPage")
+ public R getAlarmListPage(AlarmVO alarmVO, HttpServletResponse response,Query query) {
+ response.setHeader("Access-Control-Allow-Origin", "*");
+ response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
+ response.setHeader("Access-Control-Allow-Credentials","true");
+ Map<String, Object> map = new HashMap<>(2);
+ //获取部门数据
+ List<DeptVo> deptVos = deptFeignApi.selDeptList();
+
+ List<AlarmVO> page = new ArrayList<>();
+ //不分页的情况
+ if (null == query.getCurrent()) {
+ //获取警情数量的集合
+ map.put("number",alarmService.getAlarmNumber(alarmVO));
+ //获取警情数据
+ page = alarmService.getAlarmList(alarmVO);
+ }
+ for (int j = 0; j < page.size(); j++) {
+ if (null!=page.get(j).getDeptId()){
+ String[] split = page.get(j).getDeptId().split(",");
+ List<String> list = Arrays.asList(split);
+ StringBuffer deptNameBuiffer = new StringBuffer();
+ //数据匹配封装
+ for (String deptId:list) {
+ for (DeptVo deptVo:deptVos) {
+ if (deptId.equals(deptVo.getId().toString())){
+ deptNameBuiffer.append(deptVo.getDeptName()).append(",");
+ }
+ }
+ }
+ //封装部门名称数据
+ page.get(j).setDeptName(deptNameBuiffer.substring(0,deptNameBuiffer.length()-1));
+ }
+ }
+ //封装数据
+ map.put("page",page);
+ //返回数据
+ return R.data(map);
+ }
+
+ /**
* APP警情接受
* @param alarmVO
* @param response
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
index eae4480..8d21ce3 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -159,4 +159,26 @@
* @return
*/
int updateReceivingAlarmPoliceInfo(@Param("alarm") Alarm alarm);
+
+
+ /**
+ * 查询当前保安需要处理和未处理以及处理完成的警情信息
+ * @param alarmVO 需包含保安人员id,状态 status 1 查当前保安收到的警情和已接收的警情,已处理完成的 2:未接收的 3:处理完成的
+ * @return
+ */
+ List<AlarmVO> getAlarmList(@Param("alarm")AlarmVO alarmVO);
+
+ /**
+ * 查询当前保安所有的警情信息
+ * @param alarmVO 需包含保安人员id,状态 status 1 查当前保安收到的警情和已接收的警情,已处理完成的
+ * @return
+ */
+ List<AlarmVO> getAllAlarmList(@Param("alarm")AlarmVO alarmVO);
+
+ /**
+ * 获取警情数量的集合,全部,未处理,已处理的数量
+ * @param alarmVO 需包含保安人员id
+ * @return
+ */
+ List<Integer> getAlarmNumber(@Param("alarm")AlarmVO alarmVO);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
index ef20253..890fd21 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -609,7 +609,6 @@
sys_alarm a
LEFT JOIN sys_equipment e ON e.deviceNumber = a.deviceNumber
WHERE
-
<if test="alarm.securityArr!=null and alarm.securityArr!=''">
securityId = "" or securityId IS NULL
AND securityArr LIKE concat('%',#{alarm.securityArr},'%')
@@ -618,8 +617,6 @@
<if test="alarm.id!=null and alarm.id!=''">
a.id = #{alarm.id}
</if>
-
-
</select>
<select id="getAlarming" resultMap="alarmResultMap">
@@ -645,6 +642,79 @@
</select>
+
+ <sql id="getAlarmListSqlParam">
+ select a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.content,a.waringType,a.bz,
+ a.deviceNumber,a.region,e.district,a.vaddress,a.aaddress,
+ a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,a.cid,
+ a.securityArr,a.securityId,
+ e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone,
+ e.stype,
+ e.oneId,
+ e.twoId,
+ e.threeId,
+ e.deptId,
+ e.deviceName,
+ a.place as place,
+ e.channelNumber
+ FROM
+ sys_alarm a
+ LEFT JOIN sys_equipment e ON e.deviceNumber = a.deviceNumber
+ WHERE
+ 1=1
+ </sql>
+
+ <!--查询当前保安所有警情信息-->
+ <select id="getAllAlarmList" resultMap="alarmResultMap">
+ (select * from (
+ <include refid="getAlarmListSqlParam"/>
+ and securityId =#{alarm.securityId} and jtype = 1 order by alarmTime limit 9999
+ )a)
+ union
+ (select * from (
+ <include refid="getAlarmListSqlParam"/>
+ and securityId = "" or securityId IS NULL
+ AND securityArr LIKE concat('%',#{alarm.securityId},'%')
+ order by alarmTime desc limit 9999
+ )a)
+ union
+ (select * from (
+ <include refid="getAlarmListSqlParam"/>
+ and securityId =#{alarm.securityId} and jtype = 2 order by alarmTime desc limit 9999
+ )a)
+ </select>
+
+ <!--查询当前保安需要处理和未处理的警情信息-->
+ <select id="getAlarmList" resultMap="alarmResultMap">
+ <include refid="getAlarmListSqlParam"/>
+ <if test="alarm.status==2">
+ and securityId = "" or securityId IS NULL
+ AND securityArr LIKE concat('%',#{alarm.securityId},'%')
+ order by alarmTime desc
+ </if>
+ <if test="alarm.status==3">
+ and securityId =#{alarm.securityId} and jtype = 2
+ order by alarmTime desc
+ </if>
+ </select>
+
+ <!--获取警情数量的集合,全部,未处理,已处理的数量-->
+ <select id="getAlarmNumber" resultType="java.lang.Integer">
+ (select ifnull(count(*),0) number from sys_alarm
+ where securityId =#{alarm.securityId}
+ or securityId = "" or securityId IS NULL
+ and securityArr LIKE concat('%',#{alarm.securityId},'%'))
+
+ union
+ (select ifnull(count(*),0) number from sys_alarm
+ where securityId = "" or securityId IS NULL
+ and securityArr LIKE concat('%',#{alarm.securityId},'%'))
+
+ union
+ (select ifnull(count(*),0) number from sys_alarm
+ where securityId =#{alarm.securityId} and jtype = 2)
+ </select>
+
<update id="setAlarm">
update sys_alarm SET securityId=#{alarm.securityId} where id=#{alarm.id}
</update>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
index 33abbb7..daefd9e 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -162,4 +162,18 @@
* @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);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
index 86d40c7..0b586df 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -445,4 +445,25 @@
}
return false;
}
+
+ /**
+ * 查询当前保安需要处理和未处理的警情信息
+ * @param alarmVO 需包含保安人员id,状态 status 1 查当前保安收到的警情和已接收的警情,已处理完成的 2:未接收的 3:处理完成的
+ * @return
+ */
+ @Override
+ public List<AlarmVO> getAlarmList(AlarmVO alarmVO) {
+
+ return alarmVO.getStatus()==1?baseMapper.getAllAlarmList(alarmVO):baseMapper.getAlarmList(alarmVO);
+ }
+
+ /**
+ * 获取警情数量的集合,全部,未处理,已处理的数量
+ * @param alarmVO 需包含保安人员id
+ * @return
+ */
+ @Override
+ public List<Integer> getAlarmNumber(AlarmVO alarmVO) {
+ return baseMapper.getAlarmNumber(alarmVO);
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java
index 931d58a..8168114 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java
@@ -61,5 +61,10 @@
private String manufacturers;
private String deviceName;
+ /**
+ * 状态 status 1 查当前保安收到的警情和已接收的警情,已处理完成的 2:未接收的 3:处理完成的
+ */
+ private Integer status;
+
}
--
Gitblit v1.9.3