From 1305d0aa469fe7330fd2f8e9fbb10d95042571be Mon Sep 17 00:00:00 2001
From: zhangfeng <1603559716@qq.com>
Date: 星期一, 10 十月 2022 12:33:36 +0800
Subject: [PATCH] 应急系统和事故管理统计接口

---
 incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 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 2a78a57..fde785e 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
@@ -275,4 +275,56 @@
             a.accident_level,
             DATE_FORMAT( a.gmt_create, '%d' )
     </select>
+
+    <select id="getAccidentCountByDeptIdsAndTime" resultType="com.gkhy.safePlatform.incidentManage.entity.AccidentResultCountDO">
+        SELECT
+            count( 0 ) AS accidentCount,
+            sum( a.economic_loss ) AS economicLoss,
+            sum( a.minor_injury_num ) AS minorInjuryCount,
+            sum( a.serious_injury_num ) AS seriousInjuryCount,
+            sum( a.death_num ) AS deathCount,
+            a.accident_level AS accidentLevel,
+            DATE_FORMAT( a.gmt_create, '%m' ) AS month,
+	DATE_FORMAT( a.gmt_create, '%Y' ) AS year,
+	b.accident_department_id AS deptId
+        FROM
+            `accident_report` a
+            INNER JOIN `accident_express` b ON a.accident_express_id = b.id
+        WHERE
+            a.del_flag = 0
+          AND b.accident_department_id IN
+        <foreach collection="deptIds" item="deptId" open="(" close=")" separator=",">
+            #{deptId}
+        </foreach>
+          AND DATE( a.gmt_create ) BETWEEN #{startTime}
+          AND #{endTime}
+        GROUP BY
+            a.accident_level,
+            DATE_FORMAT( a.gmt_create, '%Y-%m' ),
+            DATE_FORMAT( a.gmt_create, '%m' ),
+            DATE_FORMAT( a.gmt_create, '%Y' ),
+            b.accident_department_id
+    </select>
+    <select id="getAccidentCountByDeptIdAndTime" resultType="com.gkhy.safePlatform.incidentManage.entity.AccidentResultCountDO">
+        SELECT
+        count( 0 ) AS accidentCount,
+        sum( a.economic_loss ) AS economicLoss,
+        sum( a.minor_injury_num ) AS minorInjuryCount,
+        sum( a.serious_injury_num ) AS seriousInjuryCount,
+        sum( a.death_num ) AS deathCount,
+        a.accident_level AS accidentLevel,
+        DATE_FORMAT( a.gmt_create, '%m' ) AS month
+        FROM
+        `accident_report` a
+        INNER JOIN `accident_express` b ON a.accident_express_id = b.id
+        WHERE
+        a.del_flag = 0
+        AND b.accident_department_id = #{deptId}
+        AND DATE( a.gmt_create ) BETWEEN #{startTime}
+        AND #{endTime}
+        GROUP BY
+        a.accident_level,
+        DATE_FORMAT( a.gmt_create, '%Y-%m' ),
+        DATE_FORMAT( a.gmt_create, '%m' )
+    </select>
 </mapper>

--
Gitblit v1.9.2