From cd2cfd37366002f790a2ed1435962d4eff7d5cec Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 01 Jun 2021 09:39:30 +0800
Subject: [PATCH] 版本合并

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml |  622 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 565 insertions(+), 57 deletions(-)

diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
index 630c430..41857c3 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml
+++ b/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,39 @@
         <result column="czTime" property="czTime"/>
         <result column="bz" property="bz"/>
         <result column="name" property="name"/>
+        <result column="cid" property="cid"/>
+        <result column="vaddress" property="vaddress"/>
+        <result column="aaddress" property="aaddress"/>
+        <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>
 
-    <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,
-        e.stype,
-        e.channelNumber from sys_alarm a
-        LEFT JOIN sys_equipment e on e.deviceNumber=a.deviceNumber
-         where 1=1
+    <!-- 通用查询映射结果 -->
+    <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">
+        <if test="alarm.id!=null">
+            and a.id = #{alarm.id}
+        </if>
         <if test="alarm.jtype!=null">
             and a.jtype like concat('%',#{alarm.jtype},'%')
         </if>
@@ -51,27 +73,172 @@
             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>
-        ORDER BY a.alarmTime desc
+        <if test="alarm.timeDesc!=null and alarm.timeDesc!='' and alarm.timeDesc!='undefined'">
+            <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>
+    <sql id="alarmConditionPie">
+        <if test="alarm.beginTime!=null and alarm.beginTime!=''">
+            and DATE_FORMAT(a.alarmTime,'%Y-%m-%d')&gt;=#{alarm.beginTime}
+        </if>
+        <if test="alarm.endTime!=null and alarm.endTime!=''">
+            and DATE_FORMAT(a.alarmTime,'%Y-%m-%d')&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.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.deptId,
+        e.manufacturers,
+        e.street as place,
+        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("紧急求救")
+        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,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>
 
     <select id="selectList" resultMap="alarmResultMap">
@@ -87,23 +254,25 @@
         a.content,
         a.waringType,
         a.deviceNumber,
+        a.vaddress,
         a.region,
-        a.district,
+        e.district,
         a.alarmId,
         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 +289,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.vaddress,
+        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">
@@ -140,9 +314,10 @@
         a.region,
         a.district,
         a.alarmId,
+        a.vaddress,
         a.rname,
         a.LEVEL,
-        ST_ASTEXT(a.coordinate) AS coordinate,
+        a.cid,
         a.jd,
         a.wd,
         a.jtype,
@@ -154,7 +329,7 @@
         </if>
     </select>
 
-<!--实时提醒-->
+    <!--实时提醒-->
     <select id="selecttx" resultMap="alarmResultMap">
         SELECT
         a.id,
@@ -169,20 +344,29 @@
         a.waringType,
         a.deviceNumber,
         a.region,
-        a.district,
+        e.district,
+        e.province,
+        e.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 +377,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>
 
 
@@ -214,37 +400,359 @@
 
     <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.deviceNumber,
-        a.region,
-        a.district,
-        a.alarmId,
-        a.LEVEL,
-        ST_ASTEXT (a.coordinate ) AS coordinate,
-        a.jd,
-        a.wd,
-        a.jtype,
-        a.rname,
-        e.serialNumber,
+        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,
+        e.twoId,
+        e.threeId,
+        e.deptId,
         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
+        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}
+        and a.waringType  IN("紧急求救")
+        ORDER BY
+        a.jtype ASC,
+        a.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}
+
+        <if test="bz!=null and bz!=''">
+            ,bz=#{bz}
+        </if>
+
+        <if test="securityArr!=null and id!=''">
+            ,securityArr =#{securityArr}
+        </if>
+
+        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 = '紧急求救'
+        <if test="conditionVo.status==0">
+            and to_days(alarmTime) = to_days(curdate())
+        </if>
+        <if test="conditionVo.startTime!=null and conditionVo.startTime!='' and conditionVo.endTime!=null and conditionVo.endTime!=''">
+            and alarmTime between #{conditionVo.startTime} and #{conditionVo.endTime}
+        </if>
+    </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
+		 order by a.click_date asc
+    </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" resultMap="userResultMap">
+        SELECT * FROM jfpth.blade_user WHERE is_deleted != '1' and role_id ="1372092102682521602"
+    </select>
+
+
+    <select id="queryPoliceTime" resultMap="alarmonline">
+
+        SELECT
+        a.alarmPeople,
+        a.alarmId,
+        a.phoneNumber,
+        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,
+        a.phoneNumber
+        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>
+
+    <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
+        WHERE
+
+        <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>
+
+
+    </select>
+
+    <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} and jtype != 2
+
+    </select>
+
+    <update id="setAlarm">
+        update sys_alarm SET securityId=#{alarm.securityId} where id=#{alarm.id}
+    </update>
+
+    <update id="updateVaddress">
+        update sys_alarm SET vaddress=#{vaddress} where id=#{jid}
+    </update>
+
+    <update id="updateAaddress">
+        update sys_alarm SET aaddress=#{aaddress} where id=#{jid}
+    </update>
+
+
+    <select id="selectEq" resultType="java.util.HashMap">
+        SELECT COUNT(deviceNumber) as cou,deviceNumber  FROM `sys_alarm` WHERE alarmTime like concat(concat('%', #{time}), '%') and waringType NOT IN("系统测试","主机重新上电") group by deviceNumber
+    </select>
+
+    <select id="selAlarmTimeCount" resultType="java.lang.Integer">
+        select count(*) from sys_alarm
+        where waringType = '紧急求救'
+        <if test="conditionVo.startTime!=null and conditionVo.startTime!='' and conditionVo.endTime!=null and conditionVo.endTime!=''">
+            and alarmTime between #{conditionVo.startTime} and #{conditionVo.endTime}
+        </if>
+    </select>
+
+    <!--查询当前时间段内一键求助报警的数据集合-->
+    <select id="selectAlarmList" resultType="org.springblade.jfpt.alarm.entity.Alarm">
+        SELECT waringType,alarmTime,alarmId,alarmPeople,jtype,czTime FROM `sys_alarm`
+        where waringType='紧急求救'
+        and alarmTime between #{conditionVo.startTime} and #{conditionVo.endTime}
+    </select>
+
+    <!--统计时间段内一键求助警情数量数据-->
+    <select id="selectAlarmTimeData" resultType="java.lang.Integer">
+        select ifnull(count,0) count from
+        (
+            SELECT @date := DATE_ADD( @date, INTERVAL + 1 DAY ) days FROM
+            (
+                SELECT @date := DATE_ADD( #{conditionVo.startTime}, INTERVAL - 1 DAY ) FROM sys_date
+            ) time
+                WHERE to_days( @date ) &lt; to_days( #{conditionVo.endTime} )
+        ) 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.days = b.datetime
+        order by days
+    </select>
+
+
+    <!--查询本年所有月份的预警数量-->
+    <select id="queryYearAlarm" resultType="java.util.HashMap">
+
+        <if test="childList!=null and childList.size>0">
+
+            <foreach collection="childList" index="index" item="item" open="" separator="union all" close="">
+                SELECT
+                #{item} as month,count(ce.id) as count
+                FROM
+                sys_alarm as ce
+                WHERE
+                YEAR ( alarmTime ) = date_format(now(),'%Y%')
+                AND MONTH ( alarmTime ) = #{item}
+
+                AND waringType = "紧急求救"
+                AND deviceNumber = #{deviceNumber}
+
+            </foreach>
+        </if>
+
+    </select>
+
+    <!--查询符合条件的数据并导出-->
+    <select id="exportAlarm" resultType="org.springblade.common.entity.AlarmExcel">
+        select
+        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
+        where 1=1
+        <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>
+
+    <!--查询未处理及处理中的警情总数量-->
+    <select id="selectEqCount" resultType="Integer">
+        SELECT ifnull(count(*),0) count  FROM `sys_alarm`
+        where deviceNumber = #{deviceNumber}
+        and jtype!=2
+    </select>
+
 </mapper>

--
Gitblit v1.9.3