From ebb1a448339bafc4c4849fdbc2291bd3a28261df Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 09 一月 2024 10:47:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml |   99 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 72 insertions(+), 27 deletions(-)

diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index 610a851..2467e2f 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}
@@ -96,8 +97,11 @@
             <if test="violationsTypeId !=null">
                 and uv.grade_id = #{violationsTypeId}
             </if>
+            <if test="videoId !=null">
+                and uv.video_point_id = #{videoId}
+            </if>
         </where>
-
+        order by id desc
     </select>
 
     <select id="listIllegalBuildingsPage" resultType="com.ycl.vo.casePool.CasePoolIllegalBuildingVO">
@@ -112,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}
@@ -132,7 +137,7 @@
                 and ubc.category=#{type}
             </if>
         </where>
-
+        order by ubc.id desc
     </select>
 
 
@@ -159,16 +164,25 @@
             <if test="categories != null">
                 t1.category = #{categories}
             </if>
-            <if test="streetId != null">
-                and t1.community_id = #{streetId}
+            <if test="communityId != null">
+                and t1.community_id = #{communityId}
+            </if>
+            <if test=" streetId != null">
+                and t1.street_id = #{streetId}
             </if>
             <if test="code != null and code !=''">
                 and t1.code like concat('%',#{code},'%')
             </if>
-            <if test="site != null and site!=''">
+            <if test="code != null and code !=''">
+                and t1.code like concat('%',#{code},'%')
+            </if>
+            <if test="state != null and state!=''">
+                and t1.state =#{state}
+            </if>
+	     <if test="site != null and site!=''">
                 and t1.site like concat('%',#{site},'%')
             </if>
-            <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+            <if test="startTime!=null and endTime !=null">
                 and t1.create_time between #{startTime} and #{endTime}
             </if>
         </where>
@@ -252,6 +266,7 @@
                 and t1.handling_opinion like concat('%',#{queryForViolationParam.handlingOpinion},'%')
             </if>
         </where>
+        order by t1.id desc
 
     </select>
 
@@ -269,7 +284,8 @@
         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
@@ -284,6 +300,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
@@ -304,14 +323,23 @@
     </select>
 
     <select id="dayCount" resultType="java.lang.Integer">
-        select count(1)
-        from ums_base_case
-        where to_days(create_time) = TO_DAYS(now());
+        SELECT
+            count(1)
+        FROM
+            ums_base_case
+        WHERE
+            create_time BETWEEN CONCAT( CURDATE(), ' 00:00:00' )
+                AND CONCAT( CURDATE(), ' 23:59:59' );
     </select>
     <select id="weekCount" resultType="java.lang.Integer">
-        select count(1)
-        from ums_base_case
-        WHERE YEARWEEK(date_format(create_time, '%Y-%m-%d')) = YEARWEEK(now());;
+        SELECT
+            count( 1 )
+        FROM
+            ums_base_case
+        WHERE
+                YEARWEEK(
+                        date_format( create_time, '%Y-%m-%d' ), 1) = YEARWEEK(
+                        now(), 1);
     </select>
     <select id="dispatchCount" resultType="java.lang.Integer">
         select count(1)
@@ -394,9 +422,10 @@
         FROM
             ums_violations t1
             LEFT JOIN ums_data_dictionary t2
-        ON t1.category_id = t2.id
+        ON t1.grade_id = t2.id
         GROUP BY
-            t1.category_id
+            t1.grade_id
+        ORDER BY 		COUNT(1) desc
     </select>
 
     <select id="selectLastMonthCount" resultType="java.lang.Long">
@@ -444,4 +473,20 @@
         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>
+                 GROUP BY a.username  ,bc.id
+             ) tmp
+        GROUP BY username
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0