南昌市物联网技防平台-后台
zengh
2021-03-19 1f0e04ea6f31164bf2f6d0c41a9d927d0ae8748d
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -100,6 +100,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()];
@@ -1642,9 +1643,55 @@
                     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)){
                     //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((String) police.get(0).get("alarmId"));
                  alarm.setAlarmPeople((String) police.get(0).get("alarmPeople"));
//                  Date date = new Date();
//                  SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//                  alarm.setJjTime(dateFormat.format(date));
                  serverHandler.alarmService.updatePoliceStatus((String) police.get(0).get("alarmId"),"1");
               }else {
                  alarm.setAlarmId((String) police.get(0).get("alarmId"));
                  alarm.setAlarmPeople((String) online_police.get(0).get("name"));
//                  Date date = new Date();
//                  SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//                  alarm.setJjTime(dateFormat.format(date));
                  serverHandler.alarmService.updatePoliceStatus((String) police.get(0).get("alarmId"),"1");
               }
               serverHandler.alarmService.s(alarm);
               outData.add("LEOK#@");
               long endTime1 = System.currentTimeMillis();    //获取结束时间
               System.out.println("代码运行时间:" + (endTime1 - startTime1) + "ms");    //输出程序运行时间
               break;
            }
            case "LD": {