From 7f8f3f1503d32a5bdb9bee7d76b318b70127f9d7 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Sat, 20 Mar 2021 18:45:34 +0800
Subject: [PATCH] 报警分发接口的同时记录日志
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java | 65 +++++++++++++++++++++++++++++++-
1 files changed, 63 insertions(+), 2 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 e8285aa..fb53a92 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
@@ -12,6 +12,8 @@
import org.springblade.jfpt.animalheat.service.AnimalHeatService;
import org.springblade.jfpt.catalog.service.catalogService;
import org.springblade.jfpt.equipment.service.IEquipmentService;
+import org.springblade.jfpt.operation.service.IOperationService;
+import org.springblade.jfpt.operation.vo.OperationVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -48,6 +50,9 @@
@Autowired
private IAlarmService alarmService;
+
+ @Autowired
+ private IOperationService operationService;
private static ServerHandler serverHandler;
@@ -100,6 +105,7 @@
*/
@Override
public void channelRead(ChannelHandlerContext channelHandlerContext, Object info) throws Exception {
+ long startTime1 = System.currentTimeMillis();
System.out.println("接收到了:" + info);
ByteBuf buf = (ByteBuf) info;
byte[] req = new byte[buf.readableBytes()];
@@ -140,6 +146,7 @@
List<String> outData = new ArrayList<>();
switch (content.substring(0, 2)) {
case "LA": {
+ System.out.println("按下按钮+++++++++++++++++++++++++++++++++");
String devId = content.substring(10, 22);
//String fqbm = content.substring(24, 26);
String d = content.substring(26, 27);
@@ -1692,9 +1699,63 @@
break;
}
- serverHandler.alarmService.s(alarm);
- outData.add("LEOK#@");
+ //警情分发测试代码
+ //查询所有闲置的接警员
+ 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)){
+ //System.out.println(policeList.get(i).get("real_name"));
+ online_police.add(policeList.get(i));
+ }
+ }
+
+ 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);
+
+ outData.add("LEOK#@");
+ long endTime1 = System.currentTimeMillis(); //获取结束时间
+
+ System.out.println("代码运行时间:" + (endTime1 - startTime1) + "ms"); //输出程序运行时间
break;
}
case "LD": {
--
Gitblit v1.9.3