From cc7f335315c8439a6341c999fdffde0c772394af Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 24 六月 2023 11:05:43 +0800
Subject: [PATCH] bug修改

---
 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml |  264 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 246 insertions(+), 18 deletions(-)

diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index b3c8dd6..664393c 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -63,8 +63,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">
+            <if test="state!=null and state!=6">
                 ubc.state=#{state}
+            </if>
+            <if test="state!=null and state==6">
+                ubc.state &gt;=#{state}
             </if>
             <if test="resource!=null">
                 and ubc.event_source=#{resource}
@@ -72,8 +75,32 @@
             <if test="type!=null">
                 and ubc.category=#{type}
             </if>
+            <if test="code!=null">
+                and ubc.code=#{code}
+            </if>
+            <if test="categoryBig != null">
+                and t3.name like concat('%', #{categoryBig},'%')
+            </if>
+            <if test="categorySmall != null">
+                and t4.name like concat('%', #{categorySmall},'%')
+            </if>
+            <if test="street != null">
+                and ubc.street_id = #{street}
+            </if>
+            <if test="site">
+                and ubc.site like concat('%', #{site},'%')
+            </if>
+            <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+                and ubc.create_time between #{startTime} and #{endTime}
+            </if>
+            <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">
@@ -95,8 +122,11 @@
         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">
+            <if test="state!=null and state!=6">
                 ubc.state=#{state}
+            </if>
+            <if test="state!=null and state==6">
+                ubc.state &gt;=#{state}
             </if>
             <if test="resource!=null">
                 and ubc.event_source=#{resource}
@@ -105,7 +135,7 @@
                 and ubc.category=#{type}
             </if>
         </where>
-
+        order by ubc.id desc
     </select>
 
 
@@ -125,28 +155,27 @@
 
     <select id="selectBaseCasePage" resultType="com.ycl.entity.caseHandler.BaseCase">
         select t1.*,
-        t2.name category_text,
         t3.region_name community_text
         from ums_base_case t1
-        left join ums_data_dictionary t2 on t1.category = t2.id
         left join ums_sccg_region t3 on t1.community_id=t3.id
         <where>
-            <if test="category != null">
-                category = #{categories}
-            </if>>
-            <if test="community_id != null">
-                and community_id = #{communityId}
+            <if test="categories != null">
+                t1.category = #{categories}
+            </if>
+            <if test="streetId != null">
+                and t1.community_id = #{streetId}
             </if>
             <if test="code != null and code !=''">
-                and code like contact('%',#{code},'%')
+                and t1.code like concat('%',#{code},'%')
             </if>
             <if test="site != null and site!=''">
-                and site like contact('%',#{site},'%')
+                and t1.site like concat('%',#{site},'%')
             </if>
-            <if test="startTime !='' and endTime !=''">
-                and create_time between #{startTime} and #{endTime}
+            <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+                and t1.create_time between #{startTime} and #{endTime}
             </if>
         </where>
+        order by t1.alarm_time desc
     </select>
 
     <select id="selectViolationPage" resultType="com.ycl.vo.casePool.QueryForViolationVO"
@@ -189,7 +218,6 @@
         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>
-            t1.state IN (7,8)
             <if test="queryForViolationParam.eventSource != null">
                 and t1.event_source=#{queryForViolationParam.eventSource}
             </if>
@@ -218,10 +246,10 @@
                 and t1.state=#{queryForViolationParam.state}
             </if>
             <if test="queryForViolationParam.carNumber != null and  queryForViolationParam.carNumber!=''">
-                and t1.car_umber like concat('%',#{queryForViolationParam.carNumber},'%')
+                and t2.car_number like concat('%',#{queryForViolationParam.carNumber},'%')
             </if>
             <if test="queryForViolationParam.videoPointId != null">
-                and t1.video_point_id=#{queryForViolationParam.videoPointId}
+                and t2.video_point_id=#{queryForViolationParam.videoPointId}
             </if>
             <if test="queryForViolationParam.handlingOpinion != null and queryForViolationParam.handlingOpinion !=''">
                 and t1.handling_opinion like concat('%',#{queryForViolationParam.handlingOpinion},'%')
@@ -229,4 +257,204 @@
         </where>
 
     </select>
+
+    <select id="selectVideoInspection" resultType="com.ycl.vo.casePool.BaseCaseVO">
+        SELECT t1.id as baseId,
+        t1.`code`,
+        t3.`name`,
+        t3.url_address,
+        t3.longitude,
+        t3.latitude,
+        t4.pic_data,
+        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
+        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
+        LEFT JOIN ums_video_alarm_report t4 on t4.id = t2.video_alarm_report_id
+        LEFT JOIN ums_data_dictionary t5 on t5.id = t2.grade_id
+        WHERE t1.state = 1
+        <if test="gradeId!=null">
+            and t2.grade_id = #{gradeId}
+        </if>
+        <if test="videoId!=null">
+            and t2.video_point_id = #{videoId}
+        </if>
+        <if test="beginTime!=null and beginTime!=''">
+            and t1.alarm_time between #{beginTime} and #{endTime}
+        </if>
+        group by t1.id
+        order by t1.id desc
+    </select>
+
+    <select id="selectRegisterCount" resultType="java.lang.Long">
+        select count(1)
+        from ums_base_case
+        where state in (2, 6, 7, 8, 9)
+          and to_days(create_time) = TO_DAYS(now());
+    </select>
+
+    <select id="selectStudyCount" resultType="java.lang.Long">
+        select count(1)
+        from ums_base_case
+        where state = 3
+          and to_days(create_time) = TO_DAYS(now());
+    </select>
+
+    <select id="dayCount" resultType="java.lang.Integer">
+        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' ), 1) = YEARWEEK(
+                        now(), 1);
+    </select>
+    <select id="dispatchCount" resultType="java.lang.Integer">
+        select count(1)
+        FROM ums_base_case t1
+                 LEFT JOIN ums_dispose_record t2 ON t1.id = t2.base_case_id
+        WHERE t2.workflow_config_step_id = 1
+    </select>
+    <select id="alCount" resultType="java.lang.Integer">
+        select count(1)
+        FROM ums_base_case
+        WHERE event_source = 1;
+    </select>
+    <select id="selectEventList" resultType="com.ycl.vo.cockpit.enforcementEvents.EventVO">
+        SELECT
+        t1.alarm_time,
+        t1.longitude,
+        t1.latitude,
+        dd.name AS type,
+        ( CASE WHEN t1.event_source = 1 THEN "瑙嗛宸℃煡" WHEN t1.event_source = 2 THEN "缃戞牸宸℃煡" ELSE "鍏朵粬" END ) AS source,
+        t1.site AS address,
+        t2.description,
+        t3.`name` AS point,
+        t4.pic_data AS picture,
+        (case
+        WHEN t1.state = 0 THEN '寰呭鐞�'
+        WHEN t1.state = 1 THEN '鎶ヨ'
+        WHEN t1.state = 2 THEN '涓婃姤'
+        WHEN t1.state = 3 THEN '鍐嶅涔�'
+        WHEN t1.state = 4 THEN '鏆備笉澶勭悊'
+        WHEN t1.state = 5 THEN '绔嬫'
+        WHEN t1.state = 6 THEN '璋冨害'
+        WHEN t1.state = 7 THEN '澶勭疆'
+        WHEN t1.state = 8 THEN '鏍告煡'
+        WHEN t1.state = 9 THEN '缁撴'
+        END) `alarmAdvice` ,
+        pdd.`name` as grade
+        FROM
+        ums_base_case t1
+        LEFT JOIN ums_violations t2 ON t1.id = t2.id
+        LEFT JOIN ums_video_point t3 ON t3.id = t2.video_point_id
+        LEFT JOIN ums_video_alarm_report t4 ON t4.id = t2.video_alarm_report_id
+        LEFT JOIN ums_data_dictionary dd on t2.grade_id = dd.id
+        LEFT JOIN ums_data_dictionary pdd on pdd.id = dd.parent_id
+        <where>
+            t1.category=1
+            <if test="beginTime !=''and beginTime!=null and endTime!=''and endTime!=null">
+                and t1.create_time BETWEEN #{beginTime}
+                AND #{endTime}
+            </if>
+
+        </where>
+        order by t1.id desc
+    </select>
+    <select id="areaCount" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
+        SELECT t2.region_name name,
+               COUNT(1) AS count
+        FROM
+            `ums_base_case` t1
+            LEFT JOIN ums_sccg_region t2
+        ON t1.street_id = t2.id
+        GROUP BY
+            street_id
+    </select>
+
+    <select id="selectDelayVOList" resultType="com.ycl.dto.cockpitManage.DelayDO">
+        SELECT t1.`code`,
+               t3.description,
+               t2.start_time,
+               t2.end_time,
+               t2.limit_time
+        FROM `ums_base_case` t1
+                 LEFT JOIN ums_dispose_record t2 ON t1.id = t2.base_case_id
+                 LEFT JOIN ums_violations t3 on t1.id = t3.id
+        WHERE t2.workflow_config_step_id IN (1, 2)
+    </select>
+
+    <select id="selectType" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
+        SELECT IFNULL(t2.`name`, "鍏朵粬") as name,
+               COUNT(1) as count
+        FROM
+            ums_violations t1
+            LEFT JOIN ums_data_dictionary t2
+        ON t1.grade_id = t2.id
+        GROUP BY
+            t1.grade_id
+        ORDER BY 		COUNT(1) desc
+    </select>
+
+    <select id="selectLastMonthCount" resultType="java.lang.Long">
+        SELECT
+        count(1)
+        FROM
+        ums_base_case
+        WHERE
+        state in
+        <foreach collection="list" open="(" separator="," close=")" item="state">
+            #{state}
+        </foreach>
+        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =1
+    </select>
+
+    <select id="selectRecentlyMonthCount" resultType="java.lang.Long">
+        SELECT
+        count(1)
+        FROM
+        ums_base_case
+        WHERE
+        state in
+        <foreach collection="list" open="(" separator="," close=")" item="state">
+            #{state}
+        </foreach>
+        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =0
+    </select>
+
+    <select id="selectOnTimeCaseCount" resultType="java.lang.Long">
+        SELECT COUNT(1)
+        FROM ums_dispose_record
+        WHERE end_time &lt; limit_time
+    </select>
+
+    <select id="selectOnTimeCaseLastMonthCount" resultType="java.lang.Long">
+        SELECT COUNT(1)
+        FROM ums_dispose_record
+        WHERE end_time &lt; limit_time
+          AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 1
+    </select>
+
+    <select id="selectOnTimeCaseRecentlyMonthCount" resultType="java.lang.Long">
+        SELECT COUNT(1)
+        FROM ums_dispose_record
+        WHERE end_time &lt; limit_time
+          AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 0
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0