From 18052721bf3ab2a239d551d58bf916bc32ba564a Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Fri, 30 Apr 2021 11:38:54 +0800
Subject: [PATCH] webcosket调整

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java         |    7 ++-
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml             |   24 ++++++++++-
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java            |    7 ++-
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/vo/AlarmVO.java                    |    2 +
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java |    7 ++-
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java           |   30 ++++++++------
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java    |   28 +++++++++++++
 7 files changed, 79 insertions(+), 26 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 08555c3..1d7640c 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
@@ -22,6 +22,7 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.vo.DeptVo;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
@@ -35,6 +36,7 @@
 import org.springblade.jfpt.alarm.wrapper.AlarmWrapper;
 import org.springblade.jfpt.animalheat.service.AnimalHeatService;
 import org.springblade.common.entity.AlarmExcel;
+import org.springblade.jfpt.equipment.feign.DeptFeignApi;
 import org.springblade.jfpt.healthcode.service.IhealthcodeService;
 import org.springblade.jfpt.operation.entity.Operation;
 import org.springblade.jfpt.operation.service.IOperationService;
@@ -71,6 +73,8 @@
 	private IhealthcodeService ihealthcodeService;
 
 	private ParcelService parcelService;
+
+	private final DeptFeignApi deptFeignApi;
 
 	/**
 	 * 详情
@@ -644,7 +648,29 @@
 		response.setHeader("Access-Control-Allow-Origin", "*");
 		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
 		response.setHeader("Access-Control-Allow-Credentials","true");
-		return R.data(alarmService.getAlarm(alarmVO));
+
+		//获取部门数据
+		List<DeptVo> deptVos = deptFeignApi.selDeptList();
+
+		List<AlarmVO> page = alarmService.getAlarm(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));
+			}
+		}
+		return R.data(page);
 	}
 
 	/**
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 3cfede9..ce6d514 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
@@ -25,6 +25,7 @@
 import org.springblade.common.entity.AlarmExcel;
 import org.springblade.jfpt.alarm.vo.AlarmVO;
 import org.springblade.jfpt.parcel.vo.ConditionVo;
+import org.springblade.system.user.entity.User;
 
 import java.util.List;
 import java.util.Map;
@@ -88,13 +89,13 @@
 	 */
     List<Map<String, Object>> selectAlarmSum(@Param("conditionVo") ConditionVo conditionVo);
 
-	List<Map<String, Object>> queryPolice();
+	List<User> queryPolice();
 
-	List<Map<String, Object>> queryPoliceTime(List policeIdArr);
+	List<AlarmVO> queryPoliceTime(List policeIdArr);
 
 	List<Map<String, Object>> queryBa();
 
-	List<Map<String, Object>> getAlarm(@Param("alarm") AlarmVO alarm);
+	List<AlarmVO> getAlarm(@Param("alarm") AlarmVO alarm);
 
 	List<Map<String, Object>> getAlarming(@Param("alarm") AlarmVO alarm);
 
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 a04d822..1deb79f 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
@@ -41,6 +41,22 @@
         <result column="baphone" property="baphone"/>
     </resultMap>
 
+    <!-- 通用查询映射结果 -->
+    <resultMap id="alarmonline" type="org.springblade.jfpt.alarm.vo.AlarmVO">
+        <id column="alarmPeople" property="alarmPeople"/>
+        <result column="alarmId" property="alarmId"/>
+        <result column="phoneNumber" property="phoneNumber"/>
+    </resultMap>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="userResultMap" type="org.springblade.system.user.entity.User">
+        <result column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="phone" property="phone"/>
+        <result column="online_status" property="online_status"/>
+        <result column="work_status" property="work_status"/>
+    </resultMap>
+
     <sql id="alarmCondition">
         <if test="alarm.id!=null">
             and a.id = #{alarm.id}
@@ -521,16 +537,17 @@
 
     </select>
 
-    <select id="queryPolice" resultType="java.util.HashMap">
+    <select id="queryPolice" resultMap="userResultMap">
         SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1372092102682521602"
     </select>
 
 
-    <select id="queryPoliceTime" resultType="java.util.HashMap">
+    <select id="queryPoliceTime" resultMap="alarmonline">
 
         SELECT
         a.alarmPeople,
         a.alarmId,
+        a.phoneNumber,
         max( a.jjTime ) AS jjTime
         FROM
         sys_alarm a
@@ -545,7 +562,8 @@
         </if>
         GROUP BY
         a.alarmPeople,
-        a.alarmId
+        a.alarmId,
+        a.phoneNumber
         ORDER BY
         jjTime
         LIMIT 1
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 c9cf51e..eb9fa7a 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
@@ -23,6 +23,7 @@
 import org.springblade.common.entity.AlarmExcel;
 import org.springblade.jfpt.alarm.vo.AlarmVO;
 import org.springblade.jfpt.parcel.vo.ConditionVo;
+import org.springblade.system.user.entity.User;
 
 import java.util.List;
 import java.util.Map;
@@ -79,13 +80,13 @@
 	 */
 	List<Map<String,Object>> selectAlarmSum(ConditionVo conditionVo);
 
-	List<Map<String, Object>> queryPolice();
+	List<User> queryPolice();
 
-	List<Map<String, Object>> queryPoliceTime(List policeIdArr);
+	List<AlarmVO> queryPoliceTime(List policeIdArr);
 
 	List<Map<String, Object>> queryBa();
 
-	List<Map<String, Object>> getAlarm(AlarmVO alarmVO);
+	List<AlarmVO> getAlarm(AlarmVO alarmVO);
 
 	List<Map<String, Object>> getAlarming(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 fd89a0f..bdb5ad0 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
@@ -26,6 +26,7 @@
 import org.springblade.common.entity.AlarmExcel;
 import org.springblade.jfpt.alarm.vo.AlarmVO;
 import org.springblade.jfpt.parcel.vo.ConditionVo;
+import org.springblade.system.user.entity.User;
 import org.springframework.stereotype.Service;
 
 import java.text.ParseException;
@@ -162,12 +163,12 @@
 	}
 
 	@Override
-	public List<Map<String, Object>> queryPolice() {
+	public List<User> queryPolice() {
 		return baseMapper.queryPolice();
 	}
 
 	@Override
-	public List<Map<String, Object>> queryPoliceTime(List policeIdArr) {
+	public List<AlarmVO> queryPoliceTime(List policeIdArr) {
 		return baseMapper.queryPoliceTime(policeIdArr);
 	}
 
@@ -177,7 +178,7 @@
 	}
 
 	@Override
-	public List<Map<String, Object>> getAlarm(AlarmVO alarmVO) {
+	public List<AlarmVO> getAlarm(AlarmVO alarmVO) {
 		return baseMapper.getAlarm(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 b25b1b5..6715cfb 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
@@ -57,4 +57,6 @@
 	private String baid;
 	private String baphone;
 
+	private String deptName;
+
 }
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
index 4fd2dc1..13bf16e 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -9,6 +9,7 @@
 import org.springblade.jfpt.Netty.service.nettyService;
 import org.springblade.jfpt.alarm.entity.Alarm;
 import org.springblade.jfpt.alarm.service.IAlarmService;
+import org.springblade.jfpt.alarm.vo.AlarmVO;
 import org.springblade.jfpt.animalheat.service.AnimalHeatService;
 import org.springblade.jfpt.catalog.service.catalogService;
 import org.springblade.jfpt.equipment.service.IEquipmentService;
@@ -17,6 +18,7 @@
 import org.springblade.jfpt.operation.service.IOperationService;
 import org.springblade.jfpt.operation.vo.OperationVO;
 import org.springblade.jfpt.webscoket.service.IPushMsgService;
+import org.springblade.system.user.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -1733,14 +1735,14 @@
 					if(alarm.getWaringType().equals("紧急求救")){
 						//警情分发测试代码
 						//查询所有闲置的接警员
-						List<Map<String, Object>> policeList = serverHandler.alarmService.queryPolice();
-						List<Map<String, Object>> online_police = new ArrayList<>();
-						List<Map<String, Object>> zx_police = new ArrayList<>();
+						List<User> policeList = serverHandler.alarmService.queryPolice();
+						List<User> online_police = new ArrayList<>();
+						List<User> zx_police = new ArrayList<>();
 						for (int i = 0; i < policeList.size(); i++) {
 							//System.out.println(policeList.get(i).get("real_name"));
-							if(policeList.get(i).get("online_status").equals(1)){
+							if(policeList.get(i).getOnline_status().equals(1)){
 									zx_police.add(policeList.get(i));
-								if (policeList.get(i).get("work_status").equals(0)){
+								if (policeList.get(i).getWork_status().equals(0)){
 									online_police.add(policeList.get(i));
 								}
 							}
@@ -1765,28 +1767,30 @@
 
 						//将闲置状态的人员id存入数组
 						for (int i = 0; i < online_police.size(); i++) {
-							policeIdArr.add(online_police.get(i).get("id"));
+							policeIdArr.add(online_police.get(i).getId());
 						}
 
 						//通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
-						List<Map<String, Object>> police = serverHandler.alarmService.queryPoliceTime(policeIdArr);
+						List<AlarmVO> police = serverHandler.alarmService.queryPoliceTime(policeIdArr);
 
 						if (police.size() != 0){
-							alarm.setAlarmId( police.get(0).get("alarmId").toString());
-							alarm.setAlarmPeople( police.get(0).get("alarmPeople").toString());
+							alarm.setAlarmId( police.get(0).getAlarmId().toString());
+							alarm.setAlarmPeople( police.get(0).getAlarmPeople().toString());
+							alarm.setPhoneNumber( police.get(0).getPhoneNumber().toString());
 							Date date = new Date();
 							SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 							alarm.setJjTime(dateFormat.format(date));
 
-							serverHandler.alarmService.updatePoliceStatus( police.get(0).get("alarmId").toString(),"1");
+							serverHandler.alarmService.updatePoliceStatus( police.get(0).getAlarmId().toString(),"1");
 						}else {
-							alarm.setAlarmId( online_police.get(0).get("id").toString());
-							alarm.setAlarmPeople(online_police.get(0).get("name").toString());
+							alarm.setAlarmId( online_police.get(0).getId().toString());
+							alarm.setAlarmPeople(online_police.get(0).getName().toString());
+							alarm.setPhoneNumber(online_police.get(0).getPhone().toString());
 							Date date = new Date();
 							SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 							alarm.setJjTime(dateFormat.format(date));
 
-							serverHandler.alarmService.updatePoliceStatus(online_police.get(0).get("id").toString(),"1");
+							serverHandler.alarmService.updatePoliceStatus(online_police.get(0).getId().toString(),"1");
 						}
 					}
 

--
Gitblit v1.9.3