From c7d05af4e7ebf92b67308df21bde17282c0c50f1 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 06 May 2021 21:44:06 +0800
Subject: [PATCH] 1.警情导出bug修复 2.警情统计接口修改 3.一键报警设备接收报文时修改设备状态

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 deletions(-)

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 5f89e58..18ca512 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;
 
@@ -44,6 +46,7 @@
 
 	@Autowired
 	private org.springblade.jfpt.Netty.service.nettyService nettyService;
+
 	@Autowired
 	private  IMessageService messageService;
 
@@ -136,12 +139,6 @@
 			}
 		} else {
 			String ChannelName = content.substring(10, 22);//设备编码
-			//报文内容保存
-			Message message = new Message();
-			message.setEnumber(ChannelName);
-			message.setContent(body);
-			message.setTime(df.format(day));
-			serverHandler.messageService.save(message);
 			String sub = content.substring(23, 27);
 			ConcurrentHashMap<String, Channel> channelHashMap = ChannelMap.getChannelHashMap();
 			if (channelHashMap == null) {
@@ -183,6 +180,8 @@
 					alarm.setWd((String) list.get(0).get("wd"));//纬度
 					alarm.setCid(String.valueOf(a));//警情代码
 					alarm.setJtype("0");
+					//修改设备状态
+					serverHandler.equipmentService.updateExstate("一键报警",null,(String) list.get(0).get("deviceNumber"));
 					switch (num) {
 						case "00":
 							if (fqbm.equals("0")) {
@@ -1728,18 +1727,24 @@
 							break;
 					}
 
+					//报文内容保存
+					Message message = new Message();
+					message.setEnumber(ChannelName);
+					message.setContent(body);
+					message.setTime(df.format(day));
+					serverHandler.messageService.save(message);
 
 					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));
 								}
 							}
@@ -1764,28 +1769,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