From 5b545fd1006fb28dbe3928c666db2d8a0622fcf2 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 29 十一月 2023 17:07:05 +0800
Subject: [PATCH] 优化

---
 ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml |   82 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 9 deletions(-)

diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
index 48e4729..ac4ebb7 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
@@ -23,8 +23,23 @@
         , base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time
     </sql>
 
-    <select id="selectMyBackList" resultType="com.ycl.vo.MyBacklogVO">
-        select distinct * from (
+    <resultMap id="blacklogVoMap" type="com.ycl.vo.MyBacklogVO">
+        <result column="event_source" property="eventSource"/>
+        <result column="source" property="source"/>
+        <result column="category" property="category"/>
+        <result column="code" property="code"/>
+        <result column="step_name" property="stepName"/>
+        <result column="caseId" property="caseId"/>
+        <result column="create_time" property="createTime"/>
+        <result column="limit_time" property="limitTime"/>
+        <collection property="pictureList" ofType="com.ycl.entity.resources.ImageResources">
+            <result column="url" property="url"/>
+        </collection>
+    </resultMap>
+
+    <select id="selectMyBackList" resultMap="blacklogVoMap">
+        SELECT nt.*, t4.url
+        from (select distinct * from (
         SELECT
         t3.event_source,
         t5.region_name source,
@@ -33,13 +48,11 @@
         t3.`id` caseId,
         t3.`code`,
         t2.create_time,
-        t2.limit_time,
-        t4.url picture
+        t2.limit_time
         FROM
         ums_admin_role_relation t1
         left JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id
         left JOIN ums_base_case t3 ON t2.base_case_id=t3.id
-        left JOIN ums_image_resources t4 ON t2.base_case_id=t4.belong_to_id
         inner join ums_sccg_region t5 on t5.id = t3.community_id
         <where>
             t1.admin_id = #{id} and t3.`code` is not null
@@ -66,12 +79,10 @@
         t3.`id` caseId,
         t3.`code`,
         t2.create_time,
-        t2.limit_time,
-        t4.url picture
+        t2.limit_time
         FROM
         ums_dispose_record t2
         LEFT JOIN ums_base_case t3 ON t2.base_case_id = t3.id
-        left JOIN ums_image_resources t4 ON t2.base_case_id=t4.belong_to_id
         inner join ums_sccg_region t5 on t5.id = t3.community_id
         <where>
             t2.handler_id = #{id}
@@ -90,6 +101,59 @@
             </if>
         </where>
         ) as t
-         order by create_time desc
+        order by create_time desc
+        LIMIT #{pageIndex},#{pageSize}) nt
+
+        left JOIN ums_image_resources t4 ON nt.caseId=t4.belong_to_id
+    </select>
+    <select id="selectMyBackListTotal" resultType="java.lang.Long">
+        select count( distinct id) from (
+        SELECT
+        t3.id
+        FROM
+        ums_admin_role_relation t1
+        left JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id
+        left JOIN ums_base_case t3 ON t2.base_case_id=t3.id
+        inner join ums_sccg_region t5 on t5.id = t3.community_id
+        <where>
+            t1.admin_id = #{id} and t3.`code` is not null
+            AND t2.state = 0
+            <if test="code!='' and code!=null">
+                and t3.`code` LIKE CONCAT('%',#{code},'%')
+            </if>
+            <if test="alarmTimeStart!=null and alarmTimeEnd!=null">
+                and t3.alarm_time <![CDATA[ <= ]]> #{alarmTimeEnd} and t3.alarm_time >= #{alarmTimeStart}
+            </if>
+            <if test="type !=null">
+                and t3.category = #{type}
+            </if>
+            <if test="source !=null">
+                and t5.parent_id = #{source}
+            </if>
+        </where>
+        union all
+        SELECT
+        t3.id
+        FROM
+        ums_dispose_record t2
+        LEFT JOIN ums_base_case t3 ON t2.base_case_id = t3.id
+        inner join ums_sccg_region t5 on t5.id = t3.community_id
+        <where>
+            t2.handler_id = #{id}
+            AND t2.state = 0
+            <if test="code!='' and code!=null">
+                and t3.`code` LIKE CONCAT('%',#{code},'%')
+            </if>
+            <if test="alarmTimeStart!=null and alarmTimeEnd!=null">
+                and t3.alarm_time <![CDATA[ <= ]]> #{alarmTimeEnd} and t3.alarm_time >= #{alarmTimeStart}
+            </if>
+            <if test="type !=null">
+                and t3.category = #{type}
+            </if>
+            <if test="source !=null">
+                and t5.parent_id = #{source}
+            </if>
+        </where>
+        ) as t
     </select>
 </mapper>

--
Gitblit v1.8.0