From 94fc23eba4055c02a18ee5b1550fa723b4495e22 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Wed, 17 Mar 2021 19:16:42 +0800
Subject: [PATCH] 警情分发

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java         |    2 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml             |   43 ++++++++++++---------
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java            |    2 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java |    5 ++
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java    |   32 ++++++++++++++++
 5 files changed, 66 insertions(+), 18 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 82e8aec..3cb02e4 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
@@ -163,6 +163,38 @@
 		if (alarm.getAlarmTime() != null && alarm.getAlarmTime().equals("")){
 			alarm.setAlarmTime(null);
 		}
+		if (alarm.getCid() != null && alarm.getCid().equals("")){
+			alarm.setCid("0");
+		}
+
+
+		//警情分发测试代码
+		//查询所有在线的接警员
+		List<Map<String, Object>> policeList = alarmService.queryPolice();
+		List<Map<String, Object>> online_police = new ArrayList<>();
+		for (int i = 0; i < policeList.size(); i++) {
+			if (policeList.get(i).get("work_status").equals(0)){
+				System.out.println(policeList.get(i).get("real_name"));
+				online_police.add(policeList.get(i));
+			}
+		}
+
+		int size = 0;
+		if (online_police.size() == 0){
+			online_police = policeList;
+			size = policeList.size();
+		}else {
+			size = online_police.size();
+		}
+
+		int num=(int)(Math.random()*(size));
+		String name = (String) online_police.get(num).get("real_name");
+		String id = (String) online_police.get(num).get("id");
+
+		alarm.setAlarmPeople(name);
+		alarm.setAlarmId(name);
+
+
 		return R.status(alarmService.saveOrUpdate(alarm));
 	}
 
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 5311484..973d671 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
@@ -74,4 +74,6 @@
 	 * @return
 	 */
     List<Map<String, Object>> selectAlarmSum(@Param("conditionVo") ConditionVo conditionVo);
+
+	List queryPolice();
 }
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 e8e1b6e..2f51aa4 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
@@ -35,13 +35,15 @@
 
 
     <select id="selectAlarmPage" resultMap="alarmResultMap">
-        select a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,
-        a.deviceNumber,a.region,a.district, a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,a.cid,
+        select
+        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,
+        a.deviceNumber,a.region,a.district,
+        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,a.cid,
         e.serialNumber,
         e.stype,
         e.channelNumber from sys_alarm a
         LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
-         where 1=1
+        where 1=1
         <if test="alarm.jtype!=null">
             and a.jtype like concat('%',#{alarm.jtype},'%')
         </if>
@@ -116,7 +118,8 @@
         e.stype,
         e.channelNumber
         FROM
-        sys_alarm a  LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber LEFT JOIN jfpth.blade_region on jfpth.blade_region.`code`=a.district where 1=1
+        sys_alarm a LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber LEFT JOIN jfpth.blade_region on
+        jfpth.blade_region.`code`=a.district where 1=1
         <if test="jtype!=null and jtype!=''">
             and a.jtype=#{jtype}
         </if>
@@ -172,7 +175,7 @@
         </if>
     </select>
 
-<!--实时提醒-->
+    <!--实时提醒-->
     <select id="selecttx" resultMap="alarmResultMap">
         SELECT
         a.id,
@@ -200,7 +203,8 @@
         e.stype,
         e.channelNumber
         FROM
-        sys_alarm a LEFT JOIN sys_district d on d.addvcds=a.district LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber where 1=1
+        sys_alarm a LEFT JOIN sys_district d on d.addvcds=a.district LEFT JOIN sys_equipment e on
+        e.deviceNumber=a.deviceNumber where 1=1
         <if test="id!=null and id!=''">
             and a.id &gt;#{id}
         </if>
@@ -310,22 +314,25 @@
 
     <!--查询本日,本周,本月 主动报警的数量-->
     <select id="selectAlarmSum" resultType="java.util.HashMap">
-        select sa.alarmType name,IFNULL(sb.count, 0) value from  (select alarmType from sys_alarm GROUP BY alarmType) sa
+        select sa.alarmType name,IFNULL(sb.count, 0) value from (select alarmType from sys_alarm GROUP BY alarmType) sa
         left join
         ( select alarmType,count(*) count from sys_alarm
-            where 1=1
-            <if test="conditionVo.status==0">
-                and to_days(alarmTime)  = to_days(now())
-            </if>
-            <if test="conditionVo.status==1">
-                and YEARWEEK(date_format(alarmTime,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
-            </if>
-            <if test="conditionVo.status==2">
-                and date_format(alarmTime,'%Y%m') = date_format(now(),'%Y%m')
-            </if>
-            group by alarmType
+        where 1=1
+        <if test="conditionVo.status==0">
+            and to_days(alarmTime) = to_days(now())
+        </if>
+        <if test="conditionVo.status==1">
+            and YEARWEEK(date_format(alarmTime,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
+        </if>
+        <if test="conditionVo.status==2">
+            and date_format(alarmTime,'%Y%m') = date_format(now(),'%Y%m')
+        </if>
+        group by alarmType
         ) sb
         on
         sa.alarmType = sb.alarmType
     </select>
+
+    <select id="queryPolice" resultType="java.util.HashMap">
+    SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1370562810882502657"</select>
 </mapper>
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 9c8ae12..cc97bf7 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
@@ -72,4 +72,6 @@
 	 * @return
 	 */
 	List<Map<String,Object>> selectAlarmSum(ConditionVo conditionVo);
+
+	List queryPolice();
 }
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 68f1a52..47bb13c 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
@@ -141,4 +141,9 @@
 		//返回数据
 		return null;
 	}
+
+	@Override
+	public List queryPolice() {
+		return baseMapper.queryPolice();
+	}
 }

--
Gitblit v1.9.3