From ad7b7464780debdbcd76542b34aa4eaf8344930d Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 30 Mar 2021 17:19:54 +0800
Subject: [PATCH] 分发接口调整

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java |  158 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 97 insertions(+), 61 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 fb53a92..60b2c77 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
@@ -462,28 +462,28 @@
 							} else if (fqbm.equals("3")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("扩展模块故障");
-								reason="扩展模块故障";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="扩展模块故障";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							} else if (fqbm.equals("4")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("中继器故障");
-								reason="中继器故障";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="中继器故障";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							} else if (fqbm.equals("5")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("打印机缺纸");
-								reason="打印机缺纸";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="打印机缺纸";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							} else if (fqbm.equals("6")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("打印机故障");
-								reason="打印机故障";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="打印机故障";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							} else if (fqbm.equals("7")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("扩展模块无直流");
-								reason="扩展模块无直流";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="扩展模块无直流";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							} else if (fqbm.equals("8")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("扩展模块低电压");
@@ -492,16 +492,16 @@
 							} else if (fqbm.equals("9")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("扩展模块复位");
-								reason="扩展模块复位";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="扩展模块复位";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							}
 							break;
 						case "34":
 							if (fqbm.equals("1")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("扩展模块防拆触发");
-								reason="扩展模块防拆触发";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="扩展模块防拆触发";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							}
 							break;
 						case "35":
@@ -518,8 +518,8 @@
 							} else if (fqbm.equals("2")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("电话接口2故障");
-								reason="电话接口2故障";
-								serverHandler.equipmentService.updateExstate(state,reason,devId);
+//								reason="电话接口2故障";
+//								serverHandler.equipmentService.updateExstate(state,reason,devId);
 							} else if (fqbm.equals("3")) {
 								alarm.setWaringType("通讯故障");
 								alarm.setContent("远距离无线通讯");
@@ -1359,10 +1359,14 @@
 							if (fqbm.equals("0")) {
 								alarm.setWaringType("系统故障-恢复");
 								alarm.setContent("电话线故障-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							else if (fqbm.equals("1")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("交流电故障-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							else if (fqbm.equals("2")) {
 								alarm.setWaringType("系统故障");
@@ -1371,6 +1375,7 @@
 							else if (fqbm.equals("3")) {
 								alarm.setWaringType("系统故障");
 								alarm.setContent("警号/继电器故障-通讯故障(转发)");
+
 							}
 							else if (fqbm.equals("4")) {
 								alarm.setWaringType("系统故障");
@@ -1387,6 +1392,8 @@
 							else if (fqbm.equals("7")) {
 								alarm.setWaringType("系统故障-恢复");
 								alarm.setContent("交流电故障恢复-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							else if (fqbm.equals("8")) {
 								alarm.setWaringType("系统故障-恢复");
@@ -1399,14 +1406,20 @@
 							else if (fqbm.equals("A")) {
 								alarm.setWaringType("系统故障-恢复");
 								alarm.setContent("电话线故障-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							else if (fqbm.equals("B")) {
 								alarm.setWaringType("系统故障-恢复");
 								alarm.setContent("回路短路故障恢复-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							else if (fqbm.equals("C")) {
 								alarm.setWaringType("系统故障-恢复");
 								alarm.setContent("无线监控恢复-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							else if (fqbm.equals("E")) {
 								alarm.setWaringType("系统故障");
@@ -1415,6 +1428,8 @@
 							else if (fqbm.equals("F")) {
 								alarm.setWaringType("系统故障-恢复");
 								alarm.setContent("无线监控故障恢复-通讯故障(转发)");
+								reason="";
+								serverHandler.equipmentService.updateExstate("",reason,devId);
 							}
 							break;
 						case "9B":
@@ -1699,58 +1714,79 @@
 							break;
 					}
 
-					//警情分发测试代码
-					//查询所有闲置的接警员
-					List<Map<String, Object>> policeList = serverHandler.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)){
+
+					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<>();
+						for (int i = 0; i < policeList.size(); i++) {
 							//System.out.println(policeList.get(i).get("real_name"));
-							online_police.add(policeList.get(i));
+							if(policeList.get(i).get("online_status").equals(1)){
+									zx_police.add(policeList.get(i));
+								if (policeList.get(i).get("work_status").equals(0)){
+									online_police.add(policeList.get(i));
+								}
+							}
+						}
+
+
+						//如果无在线闲置人员
+						if (online_police.size() == 0){
+
+							//判断是否有在线人员
+							if (zx_police.size() == 0){
+								//无在线人员,选取所有接警员
+								online_police = policeList;
+							}else{
+								//有在线人员
+								online_police = zx_police;
+							}
+
+						}
+
+						List policeIdArr = new ArrayList();
+
+						//将闲置状态的人员id存入数组
+						for (int i = 0; i < online_police.size(); i++) {
+							policeIdArr.add(online_police.get(i).get("id"));
+						}
+
+						//通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
+						List<Map<String, Object>> 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());
+							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");
+						}else {
+							alarm.setAlarmId( online_police.get(0).get("id").toString());
+							alarm.setAlarmPeople(online_police.get(0).get("name").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");
 						}
 					}
 
 
-					if (online_police.size() == 0){
-						online_police = policeList;
-					}
-
-					List policeIdArr = new ArrayList();
-
-					//将闲置状态的人员id存入数组
-					for (int i = 0; i < online_police.size(); i++) {
-						policeIdArr.add(online_police.get(i).get("id"));
-					}
-
-					//通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
-					List<Map<String, Object>> 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());
-						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");
-					}else {
-						alarm.setAlarmId( online_police.get(0).get("id").toString());
-						alarm.setAlarmPeople(online_police.get(0).get("name").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.s(alarm);
 
-					OperationVO operation = new OperationVO();
-					operation.setSnumber(alarm.getAlarmId());
-					operation.setSname(alarm.getAlarmPeople());
-					operation.setJid(alarm.getId().toString());
-					operation.setZc("接警");
-					operation.setZctime(alarm.getJjTime());
-					serverHandler.operationService.save(operation);
+					if(alarm.getWaringType().equals("紧急求救")){
+						OperationVO operation = new OperationVO();
+						operation.setSnumber(alarm.getAlarmId());
+						operation.setSname(alarm.getAlarmPeople());
+						operation.setJid(alarm.getId().toString());
+						operation.setZc("接警");
+						operation.setZctime(alarm.getJjTime());
+						serverHandler.operationService.save(operation);
+					}
 
 					outData.add("LEOK#@");
 					long endTime1 = System.currentTimeMillis();    //获取结束时间

--
Gitblit v1.9.3