From 8219cdfcb825b6d75c3a235a7e5195c8cac9a2ea Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期二, 06 九月 2022 11:32:14 +0800
Subject: [PATCH] 统计接口rpc

---
 incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml b/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml
index e9ab493..22d4d4c 100644
--- a/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml
+++ b/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml
@@ -190,4 +190,87 @@
     <update id="deleteAccidentReportById">
         update accident_report set del_flag = 1 where id = #{id}
     </update>
+
+
+    <resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportCount"
+               id="emergencyDrillExecuteCountChart">
+        <result column="num" property="num"/>
+        <result column="name" property="name"/>
+        <result column="minorInjuryNum" property="minorInjuryNum"/>
+        <result column="seriousInjuryNum" property="seriousInjuryNum"/>
+        <result column="deathNum" property="deathNum"/>
+        <result column="economicLoss" property="economicLoss"/>
+    </resultMap>
+    <select id="selectByTimeAndType" resultMap="emergencyDrillExecuteCountChart">
+        SELECT
+        accident_level AS `name`,
+        count( 0 ) AS num,
+        sum( economic_loss ) AS economicLoss,
+        sum( minor_injury_num ) AS minorInjuryNum,
+        sum( serious_injury_num ) AS seriousInjuryNum,
+        sum( death_num ) AS deathNum
+        FROM
+        `accident_report`
+        WHERE
+        del_flag = 0
+        AND gmt_create <![CDATA[ >= ]]> #{query.startTime}
+        AND gmt_create <![CDATA[ <= ]]> #{query.endTime}
+        <if test="query.level != null and query.level != ''" >and accident_level = #{query.level}</if>
+        GROUP BY
+        accident_level
+    </select>
+
+    <resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportCountRPC"
+               id="accidentReportCountRPC">
+        <result column="time" property="time"/>
+        <result column="num" property="num"/>
+        <result column="level" property="level"/>
+        <result column="minorInjuryNum" property="minorInjuryNum"/>
+        <result column="seriousInjuryNum" property="seriousInjuryNum"/>
+        <result column="deathNum" property="deathNum"/>
+        <result column="economicLoss" property="economicLoss"/>
+    </resultMap>
+    <select id="getCountForRPCByDeptIdAndMonth" resultMap="accidentReportCountRPC">
+        SELECT
+        	DATE_FORMAT( a.gmt_create, '%m' ) as time,
+            a.accident_level AS `level`,
+            count( 0 ) AS num,
+            sum( a.economic_loss ) AS economicLoss,
+            sum( a.minor_injury_num ) AS minorInjuryNum,
+            sum( a.serious_injury_num ) AS seriousInjuryNum,
+            sum( a.death_num ) AS deathNum
+        FROM
+            `accident_report` a
+            INNER JOIN `accident_express` b ON a.accident_express_id = b.id
+            AND b.accident_department_id = #{deptId}
+        WHERE
+            a.del_flag = 0
+            AND a.gmt_create <![CDATA[ >= ]]> #{startTime}
+            AND a.gmt_create <![CDATA[ <= ]]> #{endTime}
+        GROUP BY
+        	DATE_FORMAT( a.gmt_create, '%Y-%m' ),
+            a.accident_level
+    </select>
+
+    <select id="getCountForRPCByDeptIdAndDay" resultMap="accidentReportCountRPC">
+        SELECT
+        	DATE_FORMAT( a.gmt_create, '%d' ) as time,
+            a.accident_level AS `level`,
+            count( 0 ) AS num,
+            sum( a.economic_loss ) AS economicLoss,
+            sum( a.minor_injury_num ) AS minorInjuryNum,
+            sum( a.serious_injury_num ) AS seriousInjuryNum,
+            sum( a.death_num ) AS deathNum
+        FROM
+            `accident_report` a
+            INNER JOIN `accident_express` b ON a.accident_express_id = b.id
+            AND b.accident_department_id = #{deptId}
+        WHERE
+            a.del_flag = 0
+            AND a.gmt_create <![CDATA[ >= ]]> #{startTime}
+            AND a.gmt_create <![CDATA[ <= ]]> #{endTime}
+        GROUP BY
+        	DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ),
+            a.accident_level
+    </select>
 </mapper>

--
Gitblit v1.9.2