From 233fb69fa9d1694e97337d74fa3da72cacda04c1 Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期四, 18 八月 2022 17:25:33 +0800
Subject: [PATCH] 目标统计

---
 emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml |   95 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 92 insertions(+), 3 deletions(-)

diff --git a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
index d1accb3..cb840df 100644
--- a/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
+++ b/emergency/emergency-service/src/main/resource/config/mapper/emergency/EmergencyDrillExecuteInfoMapper.xml
@@ -15,7 +15,23 @@
     </resultMap>
 
     <select id="selectEmergencyDrillExecuteList" resultMap="emergencyDrillExecuteInfoPageDOResult">
-        select id,`status`,`drill_record_date`,`drill_plan_id`,`record_user_uid`,process_desc  from emergency_drill_execute where del_flag = 0
+        SELECT
+            a.id,
+            a.drill_plan_id,
+            b.drill_name as drillName,
+            b.drill_address as drillAddress,
+            b.drill_way as drillWay,
+            b.drill_level as drillLevel,
+            b.drill_plan_date as drillPlanDate,
+            a.`drill_record_date`,
+            c.`name` as emergencyPlanName
+        FROM
+            emergency_drill_execute a
+            LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
+            LEFT JOIN emergency_plan c ON b.plan_id = c.id
+        WHERE
+            a.del_flag = 0
+        <if test="query.status != null">and a.status = #{query.status}</if>
     </select>
 
     <insert id="addEmergencyDrillExecute" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo"
@@ -32,6 +48,7 @@
             <if test="drillRecordDate != null ">drill_record_date,</if>
             <if test="drillPlanId != null ">drill_plan_id,</if>
             <if test="recordUserUid != null ">record_user_uid,</if>
+            <if test="recordUserName != null and recordUserName != ''">`record_user_name`,</if>
             <if test="processDesc != null and processDesc != ''">`process_desc`,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -45,6 +62,7 @@
             <if test="drillRecordDate != null ">#{drillRecordDate},</if>
             <if test="drillPlanId != null ">#{drillPlanId},</if>
             <if test="recordUserUid != null ">#{recordUserUid},</if>
+            <if test="recordUserName != null and recordUserName != ''">#{recordUserName},</if>
             <if test="processDesc != null and processDesc != ''">#{processDesc},</if>
         </trim>
     </insert>
@@ -57,12 +75,26 @@
         <result column="drill_record_date" property="drillRecordDate"/>
         <result column="drill_plan_id" property="drillPlanId"/>
         <result column="record_user_uid" property="recordUserUid"/>
+        <result column="record_user_name" property="recordUserName"/>
         <result column="process_desc" property="processDesc"/>
     </resultMap>
 
     <select id="selectEmergencyDrillExecuteById" resultMap="emergencyDrillExecuteInfoDetailDOResult">
-        select id,`status`,`drill_record_date`,`drill_plan_id`,`record_user_uid`,process_desc  from emergency_drill_execute
-        where del_flag = 0 and id = #{id}
+        SELECT
+            a.id,
+            a.`status`,
+            a.`drill_record_date`,
+            a.`drill_plan_id`,
+            a.`record_user_uid`,
+            a.record_user_name,
+            a.process_desc,
+            b.drill_name AS drillName
+        FROM
+            emergency_drill_execute a
+            LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
+        WHERE
+            a.del_flag = 0
+            AND a.id = #{id}
     </select>
 
     <update id="updateEmergencyDrillExecute" parameterType="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteInfo">
@@ -74,6 +106,7 @@
             <if test="drillRecordDate != null ">drill_record_date=#{drillRecordDate},</if>
             <if test="drillPlanId != null ">drill_plan_id=#{drillPlanId},</if>
             <if test="recordUserUid != null ">record_user_uid=#{recordUserUid},</if>
+            <if test="recordUserName != null and recordUserName != ''">record_user_name = #{recordUserName},</if>
             <if test="processDesc != null and processDesc != ''">process_desc=#{processDesc},</if>
 
         </trim>
@@ -83,4 +116,60 @@
     <update id="deleteEmergencyDrillExecute">
         update emergency_drill_execute set del_flag = 1 where id = #{id}
     </update>
+
+    <update id="updateStatusById">
+        update emergency_drill_execute set status = 1 where id = #{drillExecuteId}
+    </update>
+
+    <select id="selectEmergencyDrillExecuteIntervalTime" resultType="java.lang.Integer">
+        SELECT datediff( now( ), ( SELECT max( gmt_create ) FROM `emergency_drill_execute` ) )
+    </select>
+
+    <resultMap type="com.gkhy.safePlatform.emergency.entity.EmergencyDrillExecuteCountData"
+               id="emergencyDrillExecuteCountChart">
+        <result column="num" property="num"/>
+        <result column="name" property="name"/>
+    </resultMap>
+
+    <select id="selectByMonthAndDept" resultMap="emergencyDrillExecuteCountChart">
+        SELECT
+        count( 0 ) AS num,
+        DATE_FORMAT( a.gmt_create, '%Y-%m' ) AS `name`
+        FROM
+        `emergency_drill_execute` a
+        LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
+        WHERE
+        a.del_flag = 0
+        AND a.gmt_create <![CDATA[ >= ]]> #{startTime}
+        AND a.gmt_create <![CDATA[ <= ]]> #{endTime}
+        <if test="deptIds != null " >
+        and b.department_id in
+            <foreach item="id" collection="deptIds" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        GROUP BY
+        DATE_FORMAT( a.gmt_create, '%Y-%m' )
+    </select>
+
+    <select id="selectByYearAndDept" resultMap="emergencyDrillExecuteCountChart">
+        SELECT
+        count( 0 ) AS num,
+        DATE_FORMAT( a.gmt_create, '%Y' ) AS `name`
+        FROM
+        `emergency_drill_execute` a
+        LEFT JOIN emergency_drill_plan b ON a.drill_plan_id = b.id
+        WHERE
+        a.del_flag = 0
+        AND a.gmt_create <![CDATA[ >= ]]> #{startTime}
+        AND a.gmt_create <![CDATA[ <= ]]> #{endTime}
+        <if test="deptIds != null " >
+            and b.department_id in
+            <foreach item="id" collection="deptIds" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        GROUP BY
+        DATE_FORMAT( a.gmt_create, '%Y' )
+    </select>
 </mapper>

--
Gitblit v1.9.2