From dfed9c07aa8da5791d568736716bc4b44d59ebaf Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 16 Apr 2021 13:33:53 +0800
Subject: [PATCH] jfreechart+easyExcel 方式导出报表

---
 blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/mapper/AlarmMapper.xml |  182 +++++++++++++++++++++------------------------
 1 files changed, 84 insertions(+), 98 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 bae32d7..df3dad8 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
@@ -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>

--
Gitblit v1.9.3