南昌市物联网技防平台-后台
Administrator
2021-04-16 dfed9c07aa8da5791d568736716bc4b44d59ebaf
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
@@ -35,21 +35,7 @@
        <result column="aaddress" property="aaddress"/>
    </resultMap>
    <select id="selectAlarmPage" 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,
        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.channelNumber from sys_alarm a
        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
        where 1=1
    <sql id="alarmCondition">
        <if test="alarm.jtype!=null">
            and a.jtype like concat('%',#{alarm.jtype},'%')
        </if>
@@ -130,9 +116,83 @@
                and hour(alarmTime)>=22 and hour(alarmTime) &lt;24
            </if>
        </if>
    </sql>
    <sql id="alarmConditionPie">
        <if test="alarm.beginTime!=null and alarm.beginTime!=''">
            and alarmTime&gt;=#{alarm.beginTime}
        </if>
        <if test="alarm.endTime!=null and alarm.endTime!=''">
            and alarmTime&lt;=#{alarm.endTime}
        </if>
        <if test="alarm.timeDesc!=null and alarm.timeDesc!=''">
            <if test="alarm.timeDesc=='30分钟以上'">
                and czTime-alarmTime>1800
            </if>
            <if test="alarm.timeDesc=='10-30分钟'">
                and czTime-alarmTime>600 and czTime-alarmTime &lt;1800
            </if>
            <if test="alarm.timeDesc=='5-10分钟'">
                and czTime-alarmTime>300 and czTime-alarmTime &lt;600
            </if>
            <if test="alarm.timeDesc=='小于5分钟'">
                and czTime-alarmTime>0 and czTime-alarmTime &lt;300
            </if>
            <if test="alarm.timeDesc=='0-2'">
                and hour(alarmTime)>=0 and hour(alarmTime) &lt;2
            </if>
            <if test="alarm.timeDesc=='2-4'">
                and hour(alarmTime)>=2 and hour(alarmTime) &lt;4
            </if>
            <if test="alarm.timeDesc=='4-6'">
                and hour(alarmTime)>=4 and hour(alarmTime) &lt;6
            </if>
            <if test="alarm.timeDesc=='6-8'">
                and hour(alarmTime)>=6 and hour(alarmTime) &lt;8
            </if>
            <if test="alarm.timeDesc=='8-10'">
                and hour(alarmTime)>=8 and hour(alarmTime) &lt;10
            </if>
            <if test="alarm.timeDesc=='10-12'">
                and hour(alarmTime)>=10 and hour(alarmTime) &lt;12
            </if>
            <if test="alarm.timeDesc=='12-14'">
                and hour(alarmTime)>=12 and hour(alarmTime) &lt;14
            </if>
            <if test="alarm.timeDesc=='14-16'">
                and hour(alarmTime)>=14 and hour(alarmTime) &lt;16
            </if>
            <if test="alarm.timeDesc=='16-18'">
                and hour(alarmTime)>=16 and hour(alarmTime) &lt;18
            </if>
            <if test="alarm.timeDesc=='18-20'">
                and hour(alarmTime)>=18 and hour(alarmTime) &lt;20
            </if>
            <if test="alarm.timeDesc=='20-22'">
                and hour(alarmTime)>=20 and hour(alarmTime) &lt;22
            </if>
            <if test="alarm.timeDesc=='22-24'">
                and hour(alarmTime)>=22 and hour(alarmTime) &lt;24
            </if>
        </if>
    </sql>
    <select id="selectAlarmPage" 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,
        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.channelNumber from sys_alarm a
        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
        where 1=1
        <include refid="alarmCondition"></include>
        and a.waringType IN("紧急求救")
        ORDER BY
        a.jtype ASC,
        a.alarmTime DESC
@@ -566,92 +626,18 @@
        from sys_alarm a
        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
        where 1=1
        <if test="alarm.jtype!=null">
            and a.jtype like concat('%',#{alarm.jtype},'%')
        </if>
        <if test="alarm.deviceNumber!=null">
            and a.deviceNumber like concat('%',#{alarm.deviceNumber},'%')
        </if>
        <if test="alarm.galarmPeople!=null">
            and a.galarmPeople like concat('%',#{alarm.galarmPeople},'%')
        </if>
        <if test="alarm.district!=null">
            and a.district like concat('%',#{alarm.district},'%')
        </if>
        <if test="alarm.province!=null">
            and a.province like concat('%',#{alarm.province},'%')
        </if>
        <if test="alarm.city!=null">
            and a.city like concat('%',#{alarm.city},'%')
        </if>
        <if test="alarm.level!=null">
            and a.level like concat('%',#{alarm.level},'%')
        </if>
        <if test="alarm.waringType!=null">
            and a.waringType like concat('%',#{alarm.waringType},'%')
        </if>
        <if test="alarm.beginTime!=null and alarm.beginTime!=''">
            and a.alarmTime&gt;=#{alarm.beginTime}
        </if>
        <if test="alarm.endTime!=null and alarm.endTime!=''">
            and a.alarmTime&lt;=#{alarm.endTime}
        </if>
        <if test="alarm.timeDesc!=null and alarm.timeDesc!=''">
            <if test="alarm.timeDesc=='30分钟以上'">
                and czTime-alarmTime>1800
            </if>
            <if test="alarm.timeDesc=='10-30分钟'">
                and czTime-alarmTime>600 and czTime-alarmTime &lt;1800
            </if>
            <if test="alarm.timeDesc=='5-10分钟'">
                and czTime-alarmTime>300 and czTime-alarmTime &lt;600
            </if>
            <if test="alarm.timeDesc=='小于5分钟'">
                and czTime-alarmTime>0 and czTime-alarmTime &lt;300
            </if>
            <if test="alarm.timeDesc=='0-2'">
                and hour(alarmTime)>=0 and hour(alarmTime) &lt;2
            </if>
            <if test="alarm.timeDesc=='2-4'">
                and hour(alarmTime)>=2 and hour(alarmTime) &lt;4
            </if>
            <if test="alarm.timeDesc=='4-6'">
                and hour(alarmTime)>=4 and hour(alarmTime) &lt;6
            </if>
            <if test="alarm.timeDesc=='6-8'">
                and hour(alarmTime)>=6 and hour(alarmTime) &lt;8
            </if>
            <if test="alarm.timeDesc=='8-10'">
                and hour(alarmTime)>=8 and hour(alarmTime) &lt;10
            </if>
            <if test="alarm.timeDesc=='10-12'">
                and hour(alarmTime)>=10 and hour(alarmTime) &lt;12
            </if>
            <if test="alarm.timeDesc=='12-14'">
                and hour(alarmTime)>=12 and hour(alarmTime) &lt;14
            </if>
            <if test="alarm.timeDesc=='14-16'">
                and hour(alarmTime)>=14 and hour(alarmTime) &lt;16
            </if>
            <if test="alarm.timeDesc=='16-18'">
                and hour(alarmTime)>=16 and hour(alarmTime) &lt;18
            </if>
            <if test="alarm.timeDesc=='18-20'">
                and hour(alarmTime)>=18 and hour(alarmTime) &lt;20
            </if>
            <if test="alarm.timeDesc=='20-22'">
                and hour(alarmTime)>=20 and hour(alarmTime) &lt;22
            </if>
            <if test="alarm.timeDesc=='22-24'">
                and hour(alarmTime)>=22 and hour(alarmTime) &lt;24
            </if>
        </if>
            <include refid="alarmCondition"></include>
        and a.waringType IN("紧急求救")
        ORDER BY
        a.jtype ASC,
        a.alarmTime DESC
    </select>
    <!--获取实时警情图表统计数据-->
    <select id="getAlarmPie" resultType="org.springblade.common.entity.ReportReturnData">
        select if(1=1,"紧急求救",0) type,ifnull(count(*),0) count from sys_alarm
            where waringType="紧急求救"
        <include refid="alarmConditionPie"></include>
    </select>
</mapper>