南昌市物联网技防平台-后台
zengh
2021-03-29 a63fed54aeaad0375081db68c026710ef4499eae
警情分配修改
1 files modified
99 ■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java 99 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/nettyServer/ServerHandler.java
@@ -1714,58 +1714,65 @@
                            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(alarm.getWaringType().equals("紧急求救")){
                        //警情分发测试代码
                        //查询所有闲置的接警员
                        List<Map<String, Object>> policeList = serverHandler.alarmService.queryPolice();
                        List<Map<String, Object>> online_police = new ArrayList<>();
                        for (int i = 0; i < policeList.size(); i++) {
                            if (policeList.get(i).get("work_status").equals(0)){
                                //System.out.println(policeList.get(i).get("real_name"));
                                online_police.add(policeList.get(i));
                            }
                        }
                        if (online_police.size() == 0){
                            online_police = policeList;
                        }
                        List policeIdArr = new ArrayList();
                        //将闲置状态的人员id存入数组
                        for (int i = 0; i < online_police.size(); i++) {
                            policeIdArr.add(online_police.get(i).get("id"));
                        }
                        //通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
                        List<Map<String, Object>> police = serverHandler.alarmService.queryPoliceTime(policeIdArr);
                        if (police.size() != 0){
                            alarm.setAlarmId( police.get(0).get("alarmId").toString());
                            alarm.setAlarmPeople( police.get(0).get("alarmPeople").toString());
                            Date date = new Date();
                            SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                            alarm.setJjTime(dateFormat.format(date));
                            serverHandler.alarmService.updatePoliceStatus( police.get(0).get("alarmId").toString(),"1");
                        }else {
                            alarm.setAlarmId( online_police.get(0).get("id").toString());
                            alarm.setAlarmPeople(online_police.get(0).get("name").toString());
                            Date date = new Date();
                            SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                            alarm.setJjTime(dateFormat.format(date));
                            serverHandler.alarmService.updatePoliceStatus(online_police.get(0).get("id").toString(),"1");
                        }
                    }
                    if (online_police.size() == 0){
                        online_police = policeList;
                    }
                    List policeIdArr = new ArrayList();
                    //将闲置状态的人员id存入数组
                    for (int i = 0; i < online_police.size(); i++) {
                        policeIdArr.add(online_police.get(i).get("id"));
                    }
                    //通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
                    List<Map<String, Object>> police = serverHandler.alarmService.queryPoliceTime(policeIdArr);
                    if (police.size() != 0){
                        alarm.setAlarmId( police.get(0).get("alarmId").toString());
                        alarm.setAlarmPeople( police.get(0).get("alarmPeople").toString());
                        Date date = new Date();
                        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        alarm.setJjTime(dateFormat.format(date));
                        serverHandler.alarmService.updatePoliceStatus( police.get(0).get("alarmId").toString(),"1");
                    }else {
                        alarm.setAlarmId( online_police.get(0).get("id").toString());
                        alarm.setAlarmPeople(online_police.get(0).get("name").toString());
                        Date date = new Date();
                        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        alarm.setJjTime(dateFormat.format(date));
                        serverHandler.alarmService.updatePoliceStatus(online_police.get(0).get("id").toString(),"1");
                    }
                    serverHandler.alarmService.s(alarm);
                    OperationVO operation = new OperationVO();
                    operation.setSnumber(alarm.getAlarmId());
                    operation.setSname(alarm.getAlarmPeople());
                    operation.setJid(alarm.getId().toString());
                    operation.setZc("接警");
                    operation.setZctime(alarm.getJjTime());
                    serverHandler.operationService.save(operation);
                    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();    //获取结束时间