From f7d2f20365467a834188edd35c464d9fb9349214 Mon Sep 17 00:00:00 2001
From: zhangfeng <1603559716@qq.com>
Date: 星期五, 23 十二月 2022 08:53:43 +0800
Subject: [PATCH] 安全物资和设备管理调整v2

---
 incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentReportInfoMapper.xml |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 113 insertions(+), 5 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 3a9ba3d..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
@@ -203,20 +203,128 @@
     </resultMap>
     <select id="selectByTimeAndType" resultMap="emergencyDrillExecuteCountChart">
         SELECT
-        a.accident_level AS `name`,
+        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` a
+        `accident_report`
         WHERE
         del_flag = 0
-        AND a.gmt_create <![CDATA[ >= ]]> #{query.startTime}
-        AND a.gmt_create <![CDATA[ <= ]]> #{query.endTime}
-        <if test="query.level != null and query.level != ''" >and b.drill_level = #{query.level}</if>
+        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