From ceb91026b104f5c8091b7d78c17d6375c28f7ac5 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 05 一月 2026 17:54:21 +0800
Subject: [PATCH] 1

---
 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml |   66 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index ed746d4..0353f40 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -55,7 +55,8 @@
         t5.region_name as street,
         ubc.site,
         ubc.alarm_time,
-        ubc.close_time
+        ubc.close_time,
+        ubc.state
         FROM
         `ums_base_case` AS ubc
         JOIN ums_violations AS uv ON ubc.id = uv.id
@@ -63,11 +64,11 @@
         LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
         LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
         <where>
-            <if test="state!=null and state!=6">
-                ubc.state=#{state}
-            </if>
-            <if test="state!=null and state==6">
-                ubc.state &gt;=#{state}
+            <if test=" state != null and state.size() > 0">
+                AND ubc.state in
+                <foreach collection="state" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
             <if test="resource!=null">
                 and ubc.event_source=#{resource}
@@ -75,13 +76,13 @@
             <if test="type!=null">
                 and ubc.category=#{type}
             </if>
-            <if test="code!=null">
+            <if test="code!=null and code!=''">
                 and ubc.code=#{code}
             </if>
-            <if test="categoryBig != null">
+            <if test="categoryBig != null and categoryBig!=''">
                 and t3.name like concat('%', #{categoryBig},'%')
             </if>
-            <if test="categorySmall != null">
+            <if test="categorySmall != null and categoryBig!=''">
                 and t4.name like concat('%', #{categorySmall},'%')
             </if>
             <if test="street != null">
@@ -115,18 +116,19 @@
         uib.building_width,
         uib.building_length,
         uib.building_area,
-        uib.materials
+        uib.materials,
+        ubc.state
         FROM
         `ums_base_case` AS ubc
         left JOIN ums_illegal_building AS uib ON ubc.id = uib.base_case_id
         left JOIN ums_data_dictionary AS t1 ON uib.category_id = t1.id
         left JOIN ums_sccg_region t2 ON ubc.community_id = t2.id
         <where>
-            <if test="state!=null and state!=6">
-                ubc.state=#{state}
-            </if>
-            <if test="state!=null and state==6">
-                ubc.state &gt;=#{state}
+            <if test=" state != null and state.size() > 0">
+                AND ubc.state in
+                <foreach collection="state" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
             <if test="resource!=null">
                 and ubc.event_source=#{resource}
@@ -214,7 +216,7 @@
         t2.car_number,
         t6.region_name as communityName,
         t7.region_name as streetName,
-        t8.url,
+--         t8.url,
         t9.address
         FROM
         ums_base_case t1
@@ -224,7 +226,7 @@
         LEFT JOIN ums_data_dictionary t5 on t5.id=t2.grade_id
         LEFT JOIN ums_sccg_region t6 on t6.id=t1.community_id
         LEFT JOIN ums_sccg_region t7 on t7.id=t1.street_id
-        LEFT JOIN ums_image_resources t8 on t8.belong_to_id=t1.id
+--         LEFT JOIN ums_image_resources t8 on t8.belong_to_id=t1.id
         LEFT JOIN ums_video_point t9 on t9.id=t2.video_point_id
         <where>
             <if test="queryForViolationParam.eventSource != null">
@@ -264,6 +266,7 @@
                 and t1.handling_opinion like concat('%',#{queryForViolationParam.handlingOpinion},'%')
             </if>
         </where>
+        order by t1.id desc
 
     </select>
 
@@ -275,13 +278,15 @@
         t3.longitude,
         t3.latitude,
         t4.pic_data,
+        t4.id as imageId,
         t5.`name` as grade,
         t3.address,
         t3.plat_resource_id as platResourceId,
         t3.code as videoCode,
         t1.alarm_time as alarmTime,
         t1.alarm_time as currentAlarmTime,
-        t4.algo_name as algoName
+        t4.algo_name as algoName,
+        t4.alarm_name as alarmName
         FROM ums_base_case t1
         LEFT JOIN ums_violations t2 ON t1.id = t2.id
         LEFT JOIN ums_video_point t3 on t2.video_point_id = t3.id
@@ -296,6 +301,9 @@
         </if>
         <if test="beginTime!=null and beginTime!=''">
             and t1.alarm_time between #{beginTime} and #{endTime}
+        </if>
+        <if test="type!=null">
+            and t3.type = #{type}
         </if>
         group by t1.id
         order by t1.id desc
@@ -391,7 +399,7 @@
                COUNT(1) AS count
         FROM
             `ums_base_case` t1
-            LEFT JOIN ums_sccg_region t2
+            Inner JOIN ums_sccg_region t2
         ON t1.street_id = t2.id
         GROUP BY
             street_id
@@ -466,4 +474,24 @@
         WHERE end_time &lt; limit_time
           AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 0
     </select>
+    <select id="getWorkOrder" resultType="com.ycl.vo.casePool.WorkOrderVO">
+        SELECT username as name,count(DISTINCT id) taskCount,SUM(CASE WHEN state>7 THEN 1 ELSE 0 END) finishCount
+        from (
+        SELECT a.username , bc.id,max(bc.state) state
+        from ums_base_case bc
+        INNER JOIN ums_dispose_record dr on bc.id = dr.base_case_id
+        INNER JOIN ums_admin a on dr.handler_id = a.id
+        where ( bc.state = 6 or bc.state = 7
+        or bc.state = 8 or bc.state = 9)
+        <if test="keyword !=''and keyword!=null">
+            and a.username like concat('%', #{keyword},'%')
+        </if>
+        <if test="startTime !=''and startTime!=null and endTime!=''and endTime!=null">
+            and bc.create_time BETWEEN #{startTime}
+            AND #{endTime}
+        </if>
+        GROUP BY a.username ,bc.id
+        ) tmp
+        GROUP BY username
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0