| | |
| | | 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.webscoket.service.IPushMsgService; |
| | | import org.springblade.system.user.entity.User; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | private org.springblade.jfpt.Netty.service.nettyService nettyService; |
| | | |
| | | @Autowired |
| | | private IMessageService messageService; |
| | | |
| | | @Autowired |
| | | private IEquipmentService equipmentService; |
| | | |
| | | @Autowired |
| | |
| | | |
| | | @Autowired |
| | | private IAlarmService alarmService; |
| | | |
| | | @Autowired |
| | | private IPushMsgService pushMsgService; |
| | | |
| | | @Autowired |
| | | private IOperationService operationService; |
| | |
| | | @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()]; |
| | |
| | | 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"));//设备编号 |
| | |
| | | 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")) { |
| | |
| | | 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)); |
| | | } |
| | | } |
| | |
| | | |
| | | //将闲置状态的人员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"); |
| | | } |
| | | } |
| | | |
| | |
| | | operation.setZc("接警"); |
| | | operation.setZctime(alarm.getJjTime()); |
| | | serverHandler.operationService.save(operation); |
| | | |
| | | //通过websocket给前端接警员发送信息 |
| | | serverHandler.pushMsgService.pushMsg(alarm.getAlarmId(), alarm.getId().toString()); |
| | | } |
| | | |
| | | outData.add("LEOK#@"); |