南昌市物联网技防平台-后台
zengh
2021-03-18 80be018676ee9063820f2edf5a71d7d422ab3451
报警分发接口调整
5 files modified
96 ■■■■ changed files
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java 37 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java 4 ●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml 44 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java 4 ●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java 7 ●●●● patch | view | raw | blame | history
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -169,30 +169,45 @@
        //警情分发测试代码
        //查询所有在线的接警员
        //查询所有闲置的接警员
        List<Map<String, Object>> policeList = 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"));
                //System.out.println(policeList.get(i).get("real_name"));
                online_police.add(policeList.get(i));
            }
        }
        int size = 0;
        if (online_police.size() == 0){
            online_police = policeList;
            size = policeList.size();
        }else {
            size = online_police.size();
        }
        int num=(int)(Math.random()*(size));
        String name = (String) online_police.get(num).get("real_name");
        String id = (String) online_police.get(num).get("id");
        List policeIdArr = new ArrayList();
        alarm.setAlarmPeople(name);
        alarm.setAlarmId(name);
        //将闲置状态的人员id存入数组
        for (int i = 0; i < online_police.size(); i++) {
            policeIdArr.add(online_police.get(i).get("id"));
        }
        //通过id计算接警员最后一次接警时间,倒序返回闲置最久的人员,派发任务
        List<Map<String, Object>> police = 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));
        }else {
            alarm.setAlarmId((String) online_police.get(0).get("id"));
            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));
        }
        return null;
        //return R.status(alarmService.saveOrUpdate(alarm));
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.java
@@ -75,5 +75,7 @@
     */
    List<Map<String, Object>> selectAlarmSum(@Param("conditionVo") ConditionVo conditionVo);
    List queryPolice();
    List<Map<String, Object>> queryPolice();
    List<Map<String, Object>> queryPoliceTime(List policeIdArr);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -19,7 +19,7 @@
        <result column="district" property="district"/>
        <result column="alarmId" property="alarmId"/>
        <result column="level" property="level"/>
        <result column="coordinate" property="coordinate"/>
        <!--<result column="coordinate" property="coordinate"/>-->
        <result column="jd" property="jd"/>
        <result column="wd" property="wd"/>
        <result column="jtype" property="jtype"/>
@@ -39,7 +39,7 @@
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,
        a.deviceNumber,a.region,a.district,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,a.cid,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,onePhone,twoPhone,ThreePhone,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone,
        e.stype,
        e.channelNumber from sys_alarm a
        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
@@ -203,7 +203,13 @@
        d.addvnm,
        e.serialNumber,
        e.stype,
        e.channelNumber
        e.channelNumber,
        e.oneContacts,
        e.ThreeContacts,
        e.twoContacts,
        e.onePhone,
        e.twoPhone,
        e.ThreePhone
        FROM
        sys_alarm a LEFT JOIN sys_district d on d.addvcds=a.district LEFT JOIN sys_equipment e on
        e.deviceNumber=a.deviceNumber where 1=1
@@ -335,6 +341,34 @@
        sa.alarmType = sb.alarmType
    </select>
    <select id="queryPolice" resultType="java.util.List">
    SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1370562810882502657"</select>
    <select id="queryPolice" resultType="java.util.HashMap">
        SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1372092102682521602"
    </select>
    <select id="queryPoliceTime" resultType="java.util.HashMap">
        SELECT
            a.alarmPeople,
            a.alarmId,
            max( a.jjTime ) AS jjTime
        FROM
            sys_alarm a
        WHERE
            1 =1
        <if test="policeIdArr!=null and policeIdArr.size>0">
            and alarmId in
            <foreach collection="policeIdArr" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        GROUP BY
        a.alarmPeople,
        a.alarmId
        ORDER BY
        jjTime
        LIMIT 1
    </select>
</mapper>
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/IAlarmService.java
@@ -73,5 +73,7 @@
     */
    List<Map<String,Object>> selectAlarmSum(ConditionVo conditionVo);
    List queryPolice();
    List<Map<String, Object>> queryPolice();
    List<Map<String, Object>> queryPoliceTime(List policeIdArr);
}
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/service/impl/AlarmServiceImpl.java
@@ -143,7 +143,12 @@
    }
    @Override
    public List queryPolice() {
    public List<Map<String, Object>> queryPolice() {
        return baseMapper.queryPolice();
    }
    @Override
    public List<Map<String, Object>> queryPoliceTime(List policeIdArr) {
        return baseMapper.queryPoliceTime(policeIdArr);
    }
}