南昌市物联网技防平台-后台
zengh
2021-03-24 f34a510629676ebf22d75bde2e89e2fe4a2f56be
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"/>
@@ -30,17 +30,20 @@
        <result column="czTime" property="czTime"/>
        <result column="bz" property="bz"/>
        <result column="name" property="name"/>
        <result column="cid" property="cid"/>
    </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.deviceNumber,a.region,a.district, a.alarmId,a.LEVEL,a.jd,a.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,
        e.serialNumber,
        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.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.channelNumber from sys_alarm a
        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
         where 1=1
        where 1=1
        <if test="alarm.jtype!=null">
            and a.jtype like concat('%',#{alarm.jtype},'%')
        </if>
@@ -71,7 +74,19 @@
        <if test="alarm.endTime!=null and alarm.endTime!=''">
            and a.alarmTime&lt;=#{alarm.endTime}
        </if>
        ORDER BY a.alarmTime desc
        and a.waringType IN("紧急求救")
        ORDER BY
        a.jtype ASC,
        a.alarmTime DESC
    </select>
    <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
         from sys_alarm a LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
    </select>
    <select id="selectList" resultMap="alarmResultMap">
@@ -93,17 +108,18 @@
        a.czTime,
        a.bz,
        a.LEVEL,
        ST_ASTEXT (a.coordinate ) AS coordinate,
        a.jd,
        a.wd,
        a.jtype,
        a.cid,
        a.rname,
        d.addvnm,
        jfpth.blade_region.name as addvnm,
        e.serialNumber,
        e.stype,
        e.channelNumber
        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
        sys_alarm a LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber LEFT JOIN jfpth.blade_region on
        jfpth.blade_region.`code`=a.district where 1=1
        <if test="jtype!=null and jtype!=''">
            and a.jtype=#{jtype}
        </if>
@@ -120,6 +136,11 @@
            and a.alarmTime&lt;=#{endTime}
        </if>
        ORDER BY id ASC
    </select>
    <select id="getLimit" 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,a.jd,a.wd,a.jtype,a.rname,a.jjTime,a.province,a.city,a.cid from sys_alarm a ORDER BY id DESC LIMIT 1
    </select>
    <select id="selectInfo" resultMap="alarmResultMap">
@@ -142,7 +163,7 @@
        a.alarmId,
        a.rname,
        a.LEVEL,
        ST_ASTEXT(a.coordinate) AS coordinate,
        a.cid,
        a.jd,
        a.wd,
        a.jtype,
@@ -154,7 +175,7 @@
        </if>
    </select>
<!--实时提醒-->
    <!--实时提醒-->
    <select id="selecttx" resultMap="alarmResultMap">
        SELECT
        a.id,
@@ -170,19 +191,28 @@
        a.deviceNumber,
        a.region,
        a.district,
        a.province,
        a.city,
        a.alarmId,
        a.rname,
        a.LEVEL,
        ST_ASTEXT (a.coordinate ) AS coordinate,
        a.cid,
        a.jd,
        a.wd,
        a.jtype,
        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
        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
        <if test="id!=null and id!=''">
            and a.id &gt;#{id}
        </if>
@@ -193,17 +223,19 @@
    </delete>
    <!--新增-->
    <insert id="s" parameterType="org.springblade.jfpt.alarm.entity.Alarm">
       INSERT INTO sys_alarm (alarmType,alarmPeople,alarmTime,galarmPeople,sex,phoneNumber,place,content,waringType,deviceNumber,
       region,district,alarmId,level,rname,coordinate,jd,wd,jtype) VALUES
        (#{alarmType},#{alarmPeople},#{alarmTime},#{galarmPeople},#{sex},#{phoneNumber},#{place},#{content},#{waringType},#{deviceNumber},#{region},#{district},#{alarmId},#{level},#{rname},POINT(#{jd},#{wd}),#{jd},#{wd},#{jtype})
    <insert id="s" parameterType="org.springblade.jfpt.alarm.entity.Alarm" useGeneratedKeys="true" keyProperty="id">
       INSERT INTO sys_alarm (alarmType,jjTime,alarmPeople,alarmTime,galarmPeople,sex,phoneNumber,place,content,waringType,deviceNumber,
       region,district,alarmId,level,rname,coordinate,jd,wd,jtype,province,city,cid) VALUES
        (#{alarmType},#{jjTime},#{alarmPeople},#{alarmTime},#{galarmPeople},#{sex},#{phoneNumber},#{place},#{content},#{waringType},
        #{deviceNumber},#{region},#{district},#{alarmId},#{level},#{rname},POINT(#{jd},#{wd}),
        #{jd},#{wd},#{jtype},#{province},#{city},#{cid})
    </insert>
    <update id="updateOne" parameterType="org.springblade.jfpt.alarm.entity.Alarm">
    update sys_alarm SET alarmType=#{alarmType},alarmPeople=#{alarmPeople},alarmTime=#{alarmTime},
    galarmPeople=#{galarmPeople},sex=#{sex},phoneNumber=#{phoneNumber},place=#{place},
    content=#{content},waringType=#{waringType},deviceNumber=#{deviceNumber},region=#{region},district=#{district},alarmId=#{alarmId},level=#{level},rname=#{rname},jd=#{jd},wd=#{wd},
    coordinate=POINT(#{jd},#{wd}),jtype=#{jtype},province=#{province},city=#{city} where id=#{id}
    coordinate=POINT(#{jd},#{wd}),jtype=#{jtype},province=#{province},city=#{city},cid=#{cid} where id=#{id}
</update>
@@ -229,22 +261,164 @@
        a.district,
        a.alarmId,
        a.LEVEL,
        ST_ASTEXT (a.coordinate ) AS coordinate,
        a.jd,
        a.cid,
        a.wd,
        a.jtype,
        a.rname,
        e.serialNumber,
        e.stype,
        e.channelNumber,
        jfpth.blade_region.`name`
        jfpth.blade_region.`name` as addvnm
        FROM
        sys_alarm a LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber LEFT JOIN jfpth.blade_region on jfpth.blade_region.`code`=a.district where
        DATE_FORMAT(alarmTime,'%Y-%m-%d') &gt;=#{beginTime} and DATE_FORMAT(alarmTime,'%Y-%m-%d') &lt;=#{endTime} ORDER BY alarmTime desc
        DATE_FORMAT(alarmTime,'%Y-%m-%d') &gt;=#{beginTime} and DATE_FORMAT(alarmTime,'%Y-%m-%d') &lt;=#{endTime} and a.waringType NOT IN("系统测试","主机重新上电") ORDER BY alarmTime desc
    </select>
    <update id="updateJtype">
    update sys_alarm SET jtype=1,czTime=#{czTime},bz=#{bz} where id=#{id}
</update>
        update sys_alarm SET jtype=#{jtype},bz=#{bz} where id=#{id}
    </update>
    <update id="updatePoliceStatus">
        update jfpth.blade_user SET work_status=#{status} where id=#{id}
    </update>
    <!--查询当天警情总数-->
    <select id="selectAlarmCount" resultType="java.lang.Integer">
        SELECT count(*) FROM `sys_alarm`
            where
        waringType = '紧急求救'
            and
        to_days(alarmTime) = to_days(curdate())
    </select>
    <!--查询警情7天内每天的数据-->
    <select id="selectAlarmData" resultType="java.lang.Integer">
        select ifnull(b.count,0) as count from
        (
        SELECT DATE_FORMAT(date_sub(curdate(), interval 6 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 5 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 4 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 3 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 2 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(date_sub(curdate(), interval 1 day),'%Y-%m-%d') as click_date
            union all
        SELECT DATE_FORMAT(curdate(),'%Y-%m-%d')  as click_date
        ) a
      left join
       (
       select DATE_FORMAT(alarmTime,'%Y-%m-%d') as datetime, count(*) as count from sys_alarm
           where waringType = '紧急求救'
            group by DATE_FORMAT(alarmTime,'%Y-%m-%d')
       ) b
       on
       a.click_date = b.datetime
    </select>
<!--    &lt;!&ndash;查询本日,本周,本月 主动报警的数量&ndash;&gt;-->
<!--    <select id="selectAlarmSum" resultType="java.util.HashMap">-->
<!--        select sa.alarmType name,IFNULL(sb.count, 0) value from (select alarmType from sys_alarm GROUP BY alarmType) sa-->
<!--        left join-->
<!--        ( select alarmType,count(*) count from sys_alarm-->
<!--        where 1=1-->
<!--        <if test="conditionVo.status==0">-->
<!--            and to_days(alarmTime) = to_days(now())-->
<!--        </if>-->
<!--        <if test="conditionVo.status==1">-->
<!--            and YEARWEEK(date_format(alarmTime,'%Y-%m-%d'),1) = YEARWEEK(now(),1)-->
<!--        </if>-->
<!--        <if test="conditionVo.status==2">-->
<!--            and date_format(alarmTime,'%Y%m') = date_format(now(),'%Y%m')-->
<!--        </if>-->
<!--        group by alarmType-->
<!--        ) sb-->
<!--        on-->
<!--        sa.alarmType = sb.alarmType-->
<!--    </select>-->
    <!--查询本日,本周,本月 主动报警的数量-->
    <select id="selectAlarmSum" resultType="java.util.HashMap">
        select '一键求助' name,ifnull(count(*),0 ) value from sys_alarm
        where waringType = '紧急求救'
        <if test="conditionVo.status==0">
            and to_days(alarmTime) = to_days(now())
        </if>
        <if test="conditionVo.status==1">
            and YEARWEEK(date_format(alarmTime,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
        </if>
        <if test="conditionVo.status==2">
            and date_format(alarmTime,'%Y%m') = date_format(now(),'%Y%m')
        </if>
        union all
        select '电话报警' name,ifnull(count(*),0 ) value from sys_alarm
        where waringType = '电话报警'
        <if test="conditionVo.status==0">
            and to_days(alarmTime) = to_days(now())
        </if>
        <if test="conditionVo.status==1">
            and YEARWEEK(date_format(alarmTime,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
        </if>
        <if test="conditionVo.status==2">
            and date_format(alarmTime,'%Y%m') = date_format(now(),'%Y%m')
        </if>
    </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>
    <select id="queryBa" resultType="java.util.HashMap">
    SELECT
        s.id,
        s.CODE,
        s.NAME,
        s.real_name,
        s.phone,
        p.jd,
        p.wd,
        ST_ASTEXT ( e.coordinate )
    FROM
        jfpth.blade_user s
        LEFT JOIN sys_position p ON p.snumber = s.
        CODE LEFT JOIN sys_enclosure e ON e.anumber = s.CODE
    WHERE
        is_deleted != '1'
        AND role_id = "1370562810882502657"
    </select>
</mapper>