From 456d96aecc44d7e7d88bbc21e8eb6575181a61ad Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 22 Jun 2021 20:56:48 +0800
Subject: [PATCH] 1.app 当前保安对应警情列表接口合并 2.取证上报(意见反馈)page 自定义类别接口修改合并

---
 src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java            |   21 +++++
 src/main/java/org/springblade/modules/alarm/service/IAlarmService.java         |   14 +++
 src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml             |   72 ++++++++++++++++++
 src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java |   23 +++++
 src/main/java/org/springblade/modules/alarm/vo/AlarmVO.java                    |    5 +
 src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java              |   10 ++
 src/main/java/org/springblade/modules/feedback/mapper/FeedbackMapper.xml       |   18 ++++
 src/main/java/org/springblade/modules/alarm/controller/AlarmController.java    |   47 +++++++++++
 8 files changed, 208 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java b/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
index 0a5fbe0..14b8e54 100644
--- a/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
+++ b/src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
@@ -719,6 +719,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/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
index d07f136..f40c026 100644
--- a/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
+++ b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.java
@@ -159,4 +159,25 @@
 	 * @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/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
index 82b7d99..efc8c38 100644
--- a/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
+++ b/src/main/java/org/springblade/modules/alarm/mapper/AlarmMapper.xml
@@ -645,6 +645,78 @@
 
     </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/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java b/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java
index aaf267f..3e4d442 100644
--- a/src/main/java/org/springblade/modules/alarm/service/IAlarmService.java
+++ b/src/main/java/org/springblade/modules/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/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java b/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
index 37cf2bd..745c810 100644
--- a/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
+++ b/src/main/java/org/springblade/modules/alarm/service/impl/AlarmServiceImpl.java
@@ -447,4 +447,27 @@
 		}
 		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/src/main/java/org/springblade/modules/alarm/vo/AlarmVO.java b/src/main/java/org/springblade/modules/alarm/vo/AlarmVO.java
index 429a5eb..894d4f3 100644
--- a/src/main/java/org/springblade/modules/alarm/vo/AlarmVO.java
+++ b/src/main/java/org/springblade/modules/alarm/vo/AlarmVO.java
@@ -61,5 +61,10 @@
 	private String manufacturers;
 	private String deviceName;
 
+	/**
+	 * 状态 status  1 查当前保安收到的警情和已接收的警情,已处理完成的  2:未接收的   3:处理完成的
+	 */
+	private Integer status;
+
 
 }
diff --git a/src/main/java/org/springblade/modules/feedback/mapper/FeedbackMapper.xml b/src/main/java/org/springblade/modules/feedback/mapper/FeedbackMapper.xml
index 77b4d4f..4e6c8f7 100644
--- a/src/main/java/org/springblade/modules/feedback/mapper/FeedbackMapper.xml
+++ b/src/main/java/org/springblade/modules/feedback/mapper/FeedbackMapper.xml
@@ -43,11 +43,25 @@
         <result column="tname" property="tname"/>
     </resultMap>
 
-
+    <!--自定义分页列表-->
     <select id="selectFeedbackPage" resultMap="feedbackResultMap">
-        select * from sys_feedback where is_deleted = 0
+        select * from sys_feedback
+        where 1=1
+        <if test="feedback.status==1">
+            and jid is null
+        </if>
+        <if test="feedback.sname!=null and feedback.sname!=''">
+            and sname like concat('%',#{feedback.sname},'%'))
+        </if>
+        <if test="feedback.beginTime!=null and feedback.beginTime!='' and feedback.beginTime!='undefined'">
+            and stime&gt;=#{feedback.beginTime}
+        </if>
+        <if test="feedback.endTime!=null and feedback.endTime!='' and feedback.endTime!='undefined'">
+            and stime&lt;=#{feedback.endTime}
+        </if>
     </select>
 
+
     <insert id="insertfeed">
        INSERT INTO act_deploy (jid,snumber,sname,addvcd,place,result,describe,type,devicenumber,galarmpeople,phone,stime,
        ctime,feedbackaudio,feedbackvideo,feedbackphoto,jd,wd,tname) VALUES (#{jid},#{snumber},#{sname},#{addvcd},#{place},#{result},#{describe},#{type},
diff --git a/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java b/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java
index 0951253..3073c6c 100644
--- a/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java
+++ b/src/main/java/org/springblade/modules/feedback/vo/FeedbackVO.java
@@ -43,4 +43,14 @@
  	 */
 	private Integer status;
 
+	/**
+	 * 开始时间
+	 */
+	private String beginTime;
+
+	/**
+	 * 结束时间
+	 */
+	private String endTime;
+
 }

--
Gitblit v1.9.3