From 24fa7cc98e04dd04d0a3ca1af6f40a2c05025279 Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: 星期五, 24 二月 2023 10:48:14 +0800
Subject: [PATCH] 事故管理 事故快报修改 bugfix

---
 incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml |  137 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 137 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..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
@@ -190,4 +190,141 @@
     <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,
+            DATE_FORMAT( a.gmt_create, '%m' )
+    </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,
+            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