南昌市物联网技防平台-后台
zengh
2021-06-01 cd2cfd37366002f790a2ed1435962d4eff7d5cec
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -36,6 +36,27 @@
        <result column="uids" property="uids"/>
        <result column="securityArr" property="securityArr"/>
        <result column="securityId" property="securityId"/>
        <result column="baname" property="baname"/>
        <result column="baid" property="baid"/>
        <result column="deviceName" property="deviceName"/>
        <result column="baphone" property="baphone"/>
        <result column="manufacturers" property="manufacturers"/>
    </resultMap>
    <!-- 通用查询映射结果 -->
    <resultMap id="alarmonline" type="org.springblade.jfpt.alarm.vo.AlarmVO">
        <id column="alarmPeople" property="alarmPeople"/>
        <result column="alarmId" property="alarmId"/>
        <result column="phoneNumber" property="phoneNumber"/>
    </resultMap>
    <!-- 通用查询映射结果 -->
    <resultMap id="userResultMap" type="org.springblade.system.user.entity.User">
        <result column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="phone" property="phone"/>
        <result column="online_status" property="online_status"/>
        <result column="work_status" property="work_status"/>
    </resultMap>
    <sql id="alarmCondition">
@@ -52,27 +73,27 @@
            and a.galarmPeople like concat('%',#{alarm.galarmPeople},'%')
        </if>
        <if test="alarm.district!=null">
            and a.district like concat('%',#{alarm.district},'%')
            and e.district like concat('%',#{alarm.district},'%')
        </if>
        <if test="alarm.province!=null">
            and a.province like concat('%',#{alarm.province},'%')
            and e.province like concat('%',#{alarm.province},'%')
        </if>
        <if test="alarm.city!=null">
            and a.city like concat('%',#{alarm.city},'%')
            and e.city like concat('%',#{alarm.city},'%')
        </if>
        <if test="alarm.level!=null">
            and a.level like concat('%',#{alarm.level},'%')
        </if>
        <if test="alarm.waringType!=null">
        <if test="alarm.waringType!=null and alarm.waringType!='undefined'">
            and a.waringType like concat('%',#{alarm.waringType},'%')
        </if>
        <if test="alarm.beginTime!=null and alarm.beginTime!=''">
        <if test="alarm.beginTime!=null and alarm.beginTime!='' and alarm.beginTime!='undefined'">
            and a.alarmTime&gt;=#{alarm.beginTime}
        </if>
        <if test="alarm.endTime!=null and alarm.endTime!=''">
        <if test="alarm.endTime!=null and alarm.endTime!='' and alarm.endTime!='undefined'">
            and a.alarmTime&lt;=#{alarm.endTime}
        </if>
        <if test="alarm.timeDesc!=null and alarm.timeDesc!=''">
        <if test="alarm.timeDesc!=null and alarm.timeDesc!='' and alarm.timeDesc!='undefined'">
            <if test="alarm.timeDesc=='30分钟以上'">
                and czTime-alarmTime>1800
            </if>
@@ -186,8 +207,8 @@
    <select id="selectAlarmPage" resultMap="alarmResultMap">
        select
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.content,a.waringType,a.bz,
        a.deviceNumber,a.region,a.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,a.cid,
        a.deviceNumber,a.region,e.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,a.cid,
        a.securityArr,a.securityId,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone,
        e.stype,
@@ -195,10 +216,16 @@
        e.twoId,
        e.threeId,
        e.deptId,
        e.manufacturers,
        e.street as place,
        e.channelNumber from sys_alarm a
        e.channelNumber,
        u.name as baname,
        u.id as baid,
        u.phone as baphone
        from sys_alarm a
        LEFT JOIN
        sys_equipment e on e.deviceNumber=a.deviceNumber
        LEFT JOIN jfpth.blade_user u ON u.id = a.securityId
        where 1=1
        <include refid="alarmCondition"></include>
        and a.waringType IN("紧急求救")
@@ -209,7 +236,7 @@
    <select id="listAll" resultMap="alarmResultMap">
       select 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,a.vaddress
        a.deviceNumber,a.region,e.district, a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,a.cid,a.vaddress
         from sys_alarm a LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
    </select>
@@ -229,7 +256,7 @@
        a.deviceNumber,
        a.vaddress,
        a.region,
        a.district,
        e.district,
        a.alarmId,
        a.czTime,
        a.bz,
@@ -317,9 +344,9 @@
        a.waringType,
        a.deviceNumber,
        a.region,
        a.district,
        a.province,
        a.city,
        e.district,
        e.province,
        e.city,
        a.alarmId,
        a.rname,
        a.LEVEL,
@@ -373,9 +400,9 @@
    <select id="selectListSe" resultMap="alarmResultMap">
        SELECT
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,a.bz,
        a.deviceNumber,a.region,a.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,a.cid,
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,"一键求助" as waringType,a.bz,
        a.deviceNumber,a.region,e.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,a.cid,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone,
        e.stype,
        e.oneId,
@@ -513,16 +540,17 @@
    </select>
    <select id="queryPolice" resultType="java.util.HashMap">
    <select id="queryPolice" resultMap="userResultMap">
        SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1372092102682521602"
    </select>
    <select id="queryPoliceTime" resultType="java.util.HashMap">
    <select id="queryPoliceTime" resultMap="alarmonline">
        SELECT
        a.alarmPeople,
        a.alarmId,
        a.phoneNumber,
        max( a.jjTime ) AS jjTime
        FROM
        sys_alarm a
@@ -537,7 +565,8 @@
        </if>
        GROUP BY
        a.alarmPeople,
        a.alarmId
        a.alarmId,
        a.phoneNumber
        ORDER BY
        jjTime
        LIMIT 1
@@ -563,110 +592,58 @@
        AND role_id = "1370562810882502657"
    </select>
    <select id="getAlarm" resultType="java.util.HashMap">
        SELECT
            a.id,
            a.alarmType,
            a.alarmPeople,
            a.alarmTime,
            a.galarmPeople,
            a.sex,
            a.phoneNumber,
            a.content,
            a.waringType,
            a.bz,
            a.deviceNumber,
            a.region,
            a.district,
            a.vaddress,
            a.aaddress,
            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,
            e.onePhone,
            e.twoPhone,
            e.ThreePhone,
            e.stype,
            e.oneId,
            e.twoId,
            e.threeId,
            e.deptId,
            e.street AS place,
            e.channelNumber
    <select id="getAlarm" resultMap="alarmResultMap">
        select
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.content,a.waringType,a.bz,
        a.deviceNumber,a.region,e.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,a.cid,
        a.securityArr,a.securityId,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone,
        e.stype,
        e.oneId,
        e.twoId,
        e.deviceName,
        e.threeId,
        e.deptId,
        e.street as place,
        e.channelNumber
        FROM
            sys_alarm a
            LEFT JOIN sys_equipment e ON e.deviceNumber = a.deviceNumber
        sys_alarm a
        LEFT JOIN sys_equipment e ON e.deviceNumber = a.deviceNumber
        WHERE
            <if test="alarm.securityArr!=null and alarm.securityArr!=''">
                securityId IS NULL
                AND securityArr LIKE concat('%',#{alarm.securityArr},'%')
            </if>
        <if test="alarm.securityArr!=null and alarm.securityArr!=''">
            securityId = "" or securityId IS NULL
            AND securityArr LIKE concat('%',#{alarm.securityArr},'%')
        </if>
            <if test="alarm.id!=null and alarm.id!=''">
                a.id = #{alarm.id}
            </if>
        <if test="alarm.id!=null and alarm.id!=''">
            a.id = #{alarm.id}
        </if>
    </select>
    <select id="getAlarming" resultType="java.util.HashMap">
        SELECT
            a.id,
            a.alarmType,
            a.alarmPeople,
            a.alarmTime,
            a.galarmPeople,
            a.sex,
            a.phoneNumber,
            a.content,
            a.waringType,
            a.bz,
            a.deviceNumber,
            a.region,
            a.district,
            a.vaddress,
            a.aaddress,
            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,
            e.onePhone,
            e.twoPhone,
            e.ThreePhone,
            e.stype,
            e.oneId,
            e.twoId,
            e.threeId,
            e.deptId,
            e.street AS place,
            e.channelNumber
    <select id="getAlarming" resultMap="alarmResultMap">
        select
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.content,a.waringType,a.bz,
        a.deviceNumber,a.region,e.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,a.cid,
        a.securityArr,a.securityId,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone,
        e.stype,
        e.oneId,
        e.twoId,
        e.threeId,
        e.deviceName,
        e.deptId,
        e.street as place,
        e.channelNumber
        FROM
            sys_alarm a
            LEFT JOIN sys_equipment e ON e.deviceNumber = a.deviceNumber
        WHERE
            securityId =#{alarm.securityId}
            securityId =#{alarm.securityId} and jtype != 2
    </select>
@@ -675,7 +652,7 @@
    </update>
    <update id="updateVaddress">
        update sys_alarm SET vaddress=#{vaddress},uids=#{uids} where id=#{jid}
        update sys_alarm SET vaddress=#{vaddress} where id=#{jid}
    </update>
    <update id="updateAaddress">
@@ -720,6 +697,7 @@
        ) b
        on
        a.days = b.datetime
        order by days
    </select>
@@ -748,9 +726,10 @@
    <!--查询符合条件的数据并导出-->
    <select id="exportAlarm" resultType="org.springblade.common.entity.AlarmExcel">
        select
        a.id,a.alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,a.bz,
        a.deviceNumber,a.region,a.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,
        a.id, "一键求助" as
        alarmType,a.alarmPeople,a.alarmTime,a.galarmPeople,a.sex,a.phoneNumber,a.place,a.content,a.waringType,a.bz,
        a.deviceNumber,a.region,e.district,a.vaddress,a.aaddress,
        a.alarmId,a.LEVEL,e.jd,e.wd,a.jtype,a.rname,a.jjTime,e.province,e.city,
        e.serialNumber,e.oneContacts,e.ThreeContacts,e.twoContacts,e.onePhone,e.twoPhone,e.ThreePhone
        from sys_alarm a
        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
@@ -764,9 +743,16 @@
    <!--获取实时警情图表统计数据-->
    <select id="getAlarmPie" resultType="org.springblade.common.entity.ReportReturnData">
        select if(1=1,"紧急求救",0) type,ifnull(count(*),0) count from sys_alarm
        select if(1=1,"一键求助",0) type,ifnull(count(*),0) count from sys_alarm
        where waringType="紧急求救"
        <include refid="alarmConditionPie"></include>
    </select>
    <!--查询未处理及处理中的警情总数量-->
    <select id="selectEqCount" resultType="Integer">
        SELECT ifnull(count(*),0) count  FROM `sys_alarm`
        where deviceNumber = #{deviceNumber}
        and jtype!=2
    </select>
</mapper>