| | |
| | | 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; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private IAlarmService alarmService; |
| | | |
| | | @Autowired |
| | | private IOperationService operationService; |
| | | |
| | | private static ServerHandler serverHandler; |
| | | |
| | |
| | | String body = new String(req, "UTF-8"); |
| | | String content = body; |
| | | System.out.println("接收客户端数据:" + body); |
| | | String state="系统故障"; //设备故障状态 |
| | | String reason=null; //故障原因 |
| | | //获取字符串的长度 |
| | | int length = content.length(); |
| | | //当字符串长度大于200时,采集体温数据,小于则采集报警数据 |
| | |
| | | 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); |
| | |
| | | } else if (fqbm.equals("1")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("交流电故障"); |
| | | reason="交流电故障"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("2")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("备电偏低"); |
| | | 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); |
| | | } else if (fqbm.equals("4")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("ROM校验错误"); |
| | | reason="ROM校验错误"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("5")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("远程编程"); |
| | | reason="远程编程"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("6")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("主机设置更改"); |
| | | reason="主机设置更改"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("7")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("自检失败"); |
| | | reason="自检失败"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("8")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("系统关闭"); |
| | | reason="系统关闭"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("9")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("备电故障"); |
| | | 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); |
| | | } |
| | | break; |
| | | case "32": |
| | |
| | | if (fqbm.equals("0")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("系统周边"); |
| | | reason="系统周边"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("1")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("回路断开"); |
| | | reason="回路断开"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("2")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("回路短路"); |
| | | reason="回路短路"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("3")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("扩展模块故障"); |
| | | // reason="扩展模块故障"; |
| | | // serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("4")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("中继器故障"); |
| | | // reason="中继器故障"; |
| | | // serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("5")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("打印机缺纸"); |
| | | // reason="打印机缺纸"; |
| | | // serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("6")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("打印机故障"); |
| | | // reason="打印机故障"; |
| | | // serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("7")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("扩展模块无直流"); |
| | | // reason="扩展模块无直流"; |
| | | // serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("8")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("扩展模块低电压"); |
| | | reason="扩展模块低电压"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("9")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("扩展模块复位"); |
| | | // 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); |
| | | } |
| | | break; |
| | | case "35": |
| | | if (fqbm.equals("0")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("通讯故障"); |
| | | reason="通讯故障"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("1")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("电话线故障"); |
| | | reason="电话线故障"; |
| | | serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("2")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("电话接口2故障"); |
| | | // reason="电话接口2故障"; |
| | | // serverHandler.equipmentService.updateExstate(state,reason,devId); |
| | | } else if (fqbm.equals("3")) { |
| | | alarm.setWaringType("通讯故障"); |
| | | alarm.setContent("远距离无线通讯"); |
| | |
| | | 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("系统故障"); |
| | |
| | | else if (fqbm.equals("3")) { |
| | | alarm.setWaringType("系统故障"); |
| | | alarm.setContent("警号/继电器故障-通讯故障(转发)"); |
| | | |
| | | } |
| | | else if (fqbm.equals("4")) { |
| | | alarm.setWaringType("系统故障"); |
| | |
| | | else if (fqbm.equals("7")) { |
| | | alarm.setWaringType("系统故障-恢复"); |
| | | alarm.setContent("交流电故障恢复-通讯故障(转发)"); |
| | | reason=""; |
| | | serverHandler.equipmentService.updateExstate("",reason,devId); |
| | | } |
| | | else if (fqbm.equals("8")) { |
| | | alarm.setWaringType("系统故障-恢复"); |
| | |
| | | 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("系统故障"); |
| | |
| | | else if (fqbm.equals("F")) { |
| | | alarm.setWaringType("系统故障-恢复"); |
| | | alarm.setContent("无线监控故障恢复-通讯故障(转发)"); |
| | | reason=""; |
| | | serverHandler.equipmentService.updateExstate("",reason,devId); |
| | | } |
| | | break; |
| | | case "9B": |
| | |
| | | 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((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); |
| | | |
| | | 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(); //获取结束时间 |
| | | |