南昌市物联网技防平台-后台
zengh
2021-05-20 13efa665ef67f62d0e8e5d6aade5f79ebff5187d
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -1,5 +1,6 @@
package org.springblade.jfpt.nettyServer;
import com.alibaba.fastjson.JSONObject;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.Channel;
@@ -9,20 +10,23 @@
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;
import org.springblade.jfpt.message.entity.Message;
import org.springblade.jfpt.message.service.IMessageService;
import org.springblade.jfpt.operation.service.IOperationService;
import org.springblade.jfpt.operation.vo.OperationVO;
import org.springblade.jfpt.parcel.util.HttpClientUtils;
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;
import javax.annotation.PostConstruct;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
@Component
@@ -43,6 +47,9 @@
   private org.springblade.jfpt.Netty.service.nettyService nettyService;
   @Autowired
   private IMessageService messageService;
   @Autowired
   private IEquipmentService equipmentService;
   @Autowired
@@ -50,6 +57,9 @@
   @Autowired
   private IAlarmService alarmService;
   @Autowired
   private IPushMsgService pushMsgService;
   @Autowired
   private IOperationService operationService;
@@ -106,6 +116,8 @@
   @Override
   public void channelRead(ChannelHandlerContext channelHandlerContext, Object info) throws Exception {
      long startTime1 = System.currentTimeMillis();
      Date day = new Date();
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      System.out.println("接收到了:" + info);
      ByteBuf buf = (ByteBuf) info;
      byte[] req = new byte[buf.readableBytes()];
@@ -113,8 +125,11 @@
      String body = new String(req, "UTF-8");
      String content = body;
      System.out.println("接收客户端数据:" + body);
      String state="系统故障"; //设备故障状态
      String reason=null; //故障原因
      String state = "系统故障"; //设备故障状态
      String reason = null; //故障原因
      String CSType = content.substring(2, 4);
      //获取字符串的长度
      int length = content.length();
      //当字符串长度大于200时,采集体温数据,小于则采集报警数据
@@ -124,6 +139,72 @@
            //插入数据
            serverHandler.animalHeatService.save(body);
         }
      } else if (CSType.equals("HK")) {
         List<String> outData = new ArrayList<>();
         switch (content.substring(0, 2)) {
            case "BJ":
               //报警信息
               String devId = content.substring(12, 24);
               List<Map<String, Object>> list = serverHandler.equipmentService.selectInfos(devId);
               Alarm alarm = new Alarm();
               alarm.setWaringType("紧急求救");
               alarm.setAlarmType("一键报警");
               alarm.setGalarmPeople("报警主机");
               alarm.setAlarmTime(df.format(day));
               alarm.setPlace((String) list.get(0).get("streeName"));//事发地址
               alarm.setDeviceNumber((String) list.get(0).get("deviceNumber"));//设备编号
               alarm.setDistrict((String) list.get(0).get("district"));//县区
               alarm.setProvince((String) list.get(0).get("province"));//市
               alarm.setCity((String) list.get(0).get("city"));
               alarm.setJd((String) list.get(0).get("jd"));//经度
               alarm.setWd((String) list.get(0).get("wd"));//纬度
               alarm.setCid(String.valueOf(1));//警情代码
               alarm.setJtype("0");
               setAlarmData(alarm,list);
               outData.add("BJOK");
               //报文内容保存
               String ChannelName = "";//设备编码
               Message message = new Message();
               message.setEnumber(ChannelName);
               message.setContent(body);
               message.setTime(df.format(day));
               serverHandler.messageService.save(message);
               break;
            case "XT":
               //心跳信息
               String devIds = content.substring(12, 24);
               Date d = new Date();
               SimpleDateFormat sbf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
               String format = sbf.format(d);
               serverHandler.equipmentService.updateChannel(format, devIds);
               outData.add("XTOK");
               break;
            case "JS":
               //校时信息
               Date sj = new Date();
               SimpleDateFormat js = new SimpleDateFormat("yyyyMMddHHmmss");
               outData.add("JSOK" + js.format(sj) );
               break;
            case "ZT":
               //状态信息
               outData.add("ZTOK");
               break;
         }
         for (int i = 0; i < outData.size(); i++) {
            channelHandlerContext.writeAndFlush(Unpooled.copiedBuffer(outData.get(i), CharsetUtil.UTF_8));
         }
      } else {
         String ChannelName = content.substring(10, 22);//设备编码
         String sub = content.substring(23, 27);
@@ -144,6 +225,7 @@
         }
         List<String> outData = new ArrayList<>();
         switch (content.substring(0, 2)) {
            case "LA": {
               System.out.println("按下按钮+++++++++++++++++++++++++++++++++");
@@ -157,8 +239,6 @@
               Alarm alarm = new Alarm();
               alarm.setAlarmType("一键报警");
               alarm.setGalarmPeople("报警主机");
               Date day = new Date();
               SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
               alarm.setAlarmTime(df.format(day));
               alarm.setPlace((String) list.get(0).get("streeName"));//事发地址
               alarm.setDeviceNumber((String) list.get(0).get("deviceNumber"));//设备编号
@@ -297,8 +377,7 @@
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("24小时监察报警");
                        alarm.setContent("24小时辅助");
                     }
                     else if (fqbm.equals("1")) {
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("25小时监察报警");
                        alarm.setContent("瓦斯侦测");
                     } else if (fqbm.equals("2")) {
@@ -370,56 +449,56 @@
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("交流电故障");
                        reason="交流电故障";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "交流电故障";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("备电偏低");
                        reason="备电偏低";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "备电偏低";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("RAM校验错误");
                        reason="RAM校验错误";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "RAM校验错误";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("ROM校验错误");
                        reason="ROM校验错误";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "ROM校验错误";
                        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("系统关闭");
                        reason="系统关闭";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "系统关闭";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } 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 "31":
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("接地故障");
                        reason="接地故障";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "接地故障";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     }
                     break;
                  case "32":
@@ -447,18 +526,18 @@
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("系统周边");
                        reason="系统周边";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "系统周边";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("回路断开");
                        reason="回路断开";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "回路断开";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("回路短路");
                        reason="回路短路";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "回路短路";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("扩展模块故障");
@@ -487,8 +566,8 @@
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("扩展模块低电压");
                        reason="扩展模块低电压";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "扩展模块低电压";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("扩展模块复位");
@@ -508,13 +587,13 @@
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("通讯故障");
                        reason="通讯故障";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "通讯故障";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("电话线故障");
                        reason="电话线故障";
                        serverHandler.equipmentService.updateExstate(state,reason,devId);
                        reason = "电话线故障";
                        serverHandler.equipmentService.updateExstate(state, reason, devId);
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("电话接口2故障");
@@ -700,8 +779,7 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("警号/继电器输出禁止");
                        alarm.setContent("故障继电器禁止");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("警号/继电器输出禁止");
                        alarm.setContent("回动继电器禁止");
                     }
@@ -731,8 +809,7 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("旁路操作");
                        alarm.setContent("局部旁路");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("旁路操作");
                        alarm.setContent("Swinger Bypass");
                     }
@@ -753,24 +830,19 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("火警回路");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("报告跟随");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("监听跟随");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("步行测试");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("OFF normal condition");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("视频传输");
                     }
@@ -797,24 +869,19 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("事件缓存已满");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("时间/日期调整");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("时间/日期丢失");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("进入编程模式");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("退出编程模式");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("24小时未读取事件缓存");
                     }
@@ -841,20 +908,16 @@
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("服务请求");
                        alarm.setContent("医疗");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("服务请求");
                        alarm.setContent("家政");
                     }
                     else if (fqbm.equals("4")) {
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("服务请求");
                        alarm.setContent("金融");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("服务请求");
                        alarm.setContent("法律");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("服务请求");
                        alarm.setContent("保险");
                     }
@@ -875,48 +938,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("火警");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("门磁防区-通讯故障(转发)");
                     }
@@ -937,48 +989,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -999,48 +1040,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("窃盗");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -1061,48 +1091,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("医疗求助");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -1123,48 +1142,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("紧急求救");
                        alarm.setContent("防区-通讯故障(转发)");
                     }
@@ -1185,48 +1193,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("防区故障");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -1247,48 +1244,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("防区恢复");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -1309,48 +1295,37 @@
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("系统事件");
                        alarm.setContent("系统事件-通讯故障(转发)");
                     }
@@ -1359,141 +1334,112 @@
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("系统故障-恢复");
                        alarm.setContent("电话线故障-通讯故障(转发)");
                        reason="";
                        serverHandler.equipmentService.updateExstate("",reason,devId);
                     }
                     else if (fqbm.equals("1")) {
                        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")) {
                        reason = "";
                        serverHandler.equipmentService.updateExstate("", reason, devId);
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("备电偏低-通讯故障(转发)");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("警号/继电器故障-通讯故障(转发)");
                     }
                     else if (fqbm.equals("4")) {
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("总线短路故障-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("电话线故障-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("系统故障-恢复");
                        alarm.setContent("备电故障恢复-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("系统故障-恢复");
                        alarm.setContent("交流电故障恢复-通讯故障(转发)");
                        reason="";
                        serverHandler.equipmentService.updateExstate("",reason,devId);
                     }
                     else if (fqbm.equals("8")) {
                        reason = "";
                        serverHandler.equipmentService.updateExstate("", reason, devId);
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("系统故障-恢复");
                        alarm.setContent("警号/继电器故障恢复-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("系统测试");
                        alarm.setContent("定期测试-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("系统故障-恢复");
                        alarm.setContent("电话线故障-通讯故障(转发)");
                        reason="";
                        serverHandler.equipmentService.updateExstate("",reason,devId);
                     }
                     else if (fqbm.equals("B")) {
                        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")) {
                        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")) {
                        reason = "";
                        serverHandler.equipmentService.updateExstate("", reason, devId);
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("系统故障");
                        alarm.setContent("无线监控故障-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("系统故障-恢复");
                        alarm.setContent("无线监控故障恢复-通讯故障(转发)");
                        reason="";
                        serverHandler.equipmentService.updateExstate("",reason,devId);
                        reason = "";
                        serverHandler.equipmentService.updateExstate("", reason, devId);
                     }
                     break;
                  case "9B":
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("快速布防-通讯故障(转发)");
                     }
                     else if (fqbm.equals("1")) {
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("1用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("2")) {
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("2用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("3用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("4")) {
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("4用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("5用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("6用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("7用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("8用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("9用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("10用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("11用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("12用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("13用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("14用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("布防");
                        alarm.setContent("远程控制-通讯故障(转发)");
                     }
@@ -1502,64 +1448,49 @@
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("16用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("1")) {
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("1用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("2")) {
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("2用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("3用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("4")) {
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("4用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("5用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("6用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("7用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("8用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("9用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("10用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("11用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("12用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("13用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("14用户-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("撤防");
                        alarm.setContent("远程控制-通讯故障(转发)");
                     }
@@ -1574,60 +1505,46 @@
                     if (fqbm.equals("1")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("1防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("2")) {
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("2防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("3防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("4")) {
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("警报故障");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -1636,64 +1553,49 @@
                     if (fqbm.equals("0")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("系统-通讯故障(转发)");
                     }
                     else if (fqbm.equals("1")) {
                     } else if (fqbm.equals("1")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("1防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("2")) {
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("2防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("3防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("4")) {
                     } else if (fqbm.equals("4")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("4防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("5")) {
                     } else if (fqbm.equals("5")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("5防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("6")) {
                     } else if (fqbm.equals("6")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("6防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("7")) {
                     } else if (fqbm.equals("7")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("7防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("8")) {
                     } else if (fqbm.equals("8")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("8防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("9")) {
                     } else if (fqbm.equals("9")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("9防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("A")) {
                     } else if (fqbm.equals("A")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("10防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("B")) {
                     } else if (fqbm.equals("B")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("11防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("C")) {
                     } else if (fqbm.equals("C")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("12防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("D")) {
                     } else if (fqbm.equals("D")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("13防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("E")) {
                     } else if (fqbm.equals("E")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("14防区-通讯故障(转发)");
                     }
                     else if (fqbm.equals("F")) {
                     } else if (fqbm.equals("F")) {
                        alarm.setWaringType("警报恢复");
                        alarm.setContent("15防区-通讯故障(转发)");
                     }
@@ -1702,44 +1604,55 @@
                     if (fqbm.equals("1")) {
                        alarm.setWaringType("视频故障");
                        alarm.setContent("视频遮挡");
                     }
                     else if (fqbm.equals("2")) {
                     } else if (fqbm.equals("2")) {
                        alarm.setWaringType("视频故障");
                        alarm.setContent("视频丢失");
                     }
                     else if (fqbm.equals("3")) {
                     } else if (fqbm.equals("3")) {
                        alarm.setWaringType("视频故障");
                        alarm.setContent("存储错误");
                     }
                     break;
               }
               //报文内容保存
               Message message = new Message();
               message.setEnumber(ChannelName);
               message.setContent(body);
               message.setTime(df.format(day));
               serverHandler.messageService.save(message);
               if(alarm.getWaringType().equals("紧急求救")){
               if (alarm.getWaringType().equals("紧急求救")) {
                  //修改设备状态
                  serverHandler.equipmentService.updateExstate("一键报警", null, (String) list.get(0).get("deviceNumber"));
                  //警情分发测试代码
                  //查询所有闲置的接警员
                  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 (null != policeList.get(i).getOnline_status()) {
                        if (policeList.get(i).getOnline_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 (null != policeList.get(i).getWork_status()) {
                              if (policeList.get(i).getWork_status().equals("0")) {
                                 online_police.add(policeList.get(i));
                              }
                           }
                        }
                     }
                  }
                  //如果无在线闲置人员
                  if (online_police.size() == 0){
                  if (online_police.size() == 0) {
                     //判断是否有在线人员
                     if (zx_police.size() == 0){
                     if (zx_police.size() == 0) {
                        //无在线人员,选取所有接警员
                        online_police = policeList;
                     }else{
                     } else {
                        //有在线人员
                        online_police = zx_police;
                     }
@@ -1750,35 +1663,37 @@
                  //将闲置状态的人员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());
                  if (police.size() != 0) {
                     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");
                     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());
                     serverHandler.alarmService.updatePoliceStatus(police.get(0).getAlarmId().toString(), "1");
                  } else {
                     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");
                     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");
                  }
               }
               serverHandler.alarmService.s(alarm);
               if(alarm.getWaringType().equals("紧急求救")){
               if (alarm.getWaringType().equals("紧急求救")) {
                  OperationVO operation = new OperationVO();
                  operation.setSnumber(alarm.getAlarmId());
                  operation.setSname(alarm.getAlarmPeople());
@@ -1786,6 +1701,26 @@
                  operation.setZc("接警");
                  operation.setZctime(alarm.getJjTime());
                  serverHandler.operationService.save(operation);
                  //通过websocket给前端接警员发送信息
                  serverHandler.pushMsgService.pushMsg(alarm.getAlarmId(), alarm.getId().toString());
                  Map<String, String> map = new HashMap<>();
                  map.put("deviceCode", (String) list.get(0).get("serialNumber"));
                  map.put("chl", (String) list.get(0).get("channelNumber"));
                  //请求视频播放地址
                  String params = HttpClientUtils.doGet("https://web.byisf.com:18000/GetPlayUrl", map);
                  Map<String, Object> data = (Map<String, Object>) JSONObject.parse(params);
                  Map<String, Object> datas = (Map<String, Object>) JSONObject.parse(data.get("data").toString());
                  String m3u8 = datas.get("m3u8").toString();
                  Map<String, String> rmap = new HashMap<>();
                  rmap.put("url", m3u8);
                  //请求视频录制
                  String rvideo = HttpClientUtils.doPost("https://web.byisf.com/api/blade-jfpts/rvideo/rVoids", rmap);
               }
               outData.add("LEOK#@");
@@ -1867,4 +1802,94 @@
   }
   //警情信息录入并派发
   public void setAlarmData(Alarm alarm,List<Map<String, Object>> list){
      if (alarm.getWaringType().equals("紧急求救")) {
         //修改设备状态
         serverHandler.equipmentService.updateExstate("一键报警", null, (String) list.get(0).get("deviceNumber"));
         //警情分发测试代码
         //查询所有闲置的接警员
         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 (null != policeList.get(i).getOnline_status()) {
               if (policeList.get(i).getOnline_status().equals("1")) {
                  zx_police.add(policeList.get(i));
                  if (null != policeList.get(i).getWork_status()) {
                     if (policeList.get(i).getWork_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).getId());
         }
         //通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
         List<AlarmVO> police = serverHandler.alarmService.queryPoliceTime(policeIdArr);
         if (police.size() != 0) {
            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).getAlarmId().toString(), "1");
         } else {
            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).getId().toString(), "1");
         }
      }
      serverHandler.alarmService.s(alarm);
      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);
         //通过websocket给前端接警员发送信息
         serverHandler.pushMsgService.pushMsg(alarm.getAlarmId(), alarm.getId().toString());
      }
   }
}