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 |  348 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 341 insertions(+), 7 deletions(-)

diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index 4ab84c8..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">
@@ -83,7 +110,7 @@
         ubc.event_source,
         t1.name as category,
         ubc.site,
-        t2.region_name  as community,
+        t2.region_name as community,
         uib.building_high,
         uib.building_width,
         uib.building_length,
@@ -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>
 
 
@@ -116,11 +146,315 @@
                usr2.region_name community_text,
                ua.username      create_user_text
         FROM ums_base_case ubc
-                 LEFT JOIN ums_data_dictionary udd on ubc.category = udd.id and udd.type_code = '01'
+                 LEFT JOIN ums_data_dictionary udd on ubc.category = udd.id
                  LEFT JOIN ums_sccg_region usr on ubc.street_id = usr.id
                  LEFT JOIN ums_sccg_region usr2 on ubc.community_id = usr2.id
                  LEFT JOIN ums_admin ua on ubc.create_user = ua.id
         WHERE ubc.`code` = #{code}
     </select>
 
-</mapper>
+    <select id="selectBaseCasePage" resultType="com.ycl.entity.caseHandler.BaseCase">
+        select t1.*,
+        t3.region_name community_text
+        from ums_base_case t1
+        left join ums_sccg_region t3 on t1.community_id=t3.id
+        <where>
+            <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 t1.code like concat('%',#{code},'%')
+            </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">
+                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"
+            parameterType="com.ycl.dto.caseHandler.QueryForViolationParam">
+        SELECT
+        t1.`code`,
+        t1.alarm_time,
+        t1.handling_opinion,
+        CASE
+        t1.event_source
+        WHEN 1 THEN
+        "瑙嗛宸℃煡"
+        WHEN 2 THEN
+        "浜哄伐涓婃姤"
+        END AS event_source,
+        t1.site,
+        CASE
+        t1.state
+        WHEN 7 THEN
+        "寰呭鏍�"
+        WHEN 8 THEN
+        "宸插鏍�"
+        END AS state,
+        t3.`name` as categoryName,
+        t4.`name` AS typeName,
+        t5.`name` as gradeName,
+        t2.car_number,
+        t6.region_name as communityName,
+        t7.region_name as streetName,
+        t8.url,
+        t9.address
+        FROM
+        ums_base_case t1
+        LEFT JOIN ums_violations t2 on t1.id=t2.id
+        LEFT JOIN ums_data_dictionary t3 on t3.id=t2.category_id
+        LEFT JOIN ums_data_dictionary t4 on t4.id=t2.type_id
+        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_video_point t9 on t9.id=t2.video_point_id
+        <where>
+            <if test="queryForViolationParam.eventSource != null">
+                and t1.event_source=#{queryForViolationParam.eventSource}
+            </if>
+            <if test="queryForViolationParam.categoryId != null">
+                and t2.category_id=#{queryForViolationParam.categoryId}
+            </if>
+            <if test="queryForViolationParam.startTime != null and queryForViolationParam.startTime !='' and queryForViolationParam.endTime !=null and queryForViolationParam.endTime !=''">
+                and t1.alarm_time between #{queryForViolationParam.startTime} and #{queryForViolationParam.endTime}
+            </if>
+            <if test="queryForViolationParam.code != null and queryForViolationParam.code != '' ">
+                and t1.code like concat('%',#{queryForViolationParam.code},'%')
+            </if>
+            <if test=" queryForViolationParam.typeId!= null">
+                and t2.type_id=#{v.typeId}
+            </if>
+            <if test="queryForViolationParam.gradeId != null">
+                and t2.grade_id=#{queryForViolationParam.gradeId}
+            </if>
+            <if test="queryForViolationParam.streetId != null">
+                and t1.street_id=#{queryForViolationParam.streetId}
+            </if>
+            <if test="queryForViolationParam.communityId != null">
+                and t1.community_id=#{queryForViolationParam.communityId}
+            </if>
+            <if test="queryForViolationParam.state != null">
+                and t1.state=#{queryForViolationParam.state}
+            </if>
+            <if test="queryForViolationParam.carNumber != null and  queryForViolationParam.carNumber!=''">
+                and t2.car_number like concat('%',#{queryForViolationParam.carNumber},'%')
+            </if>
+            <if test="queryForViolationParam.videoPointId != null">
+                and t2.video_point_id=#{queryForViolationParam.videoPointId}
+            </if>
+            <if test="queryForViolationParam.handlingOpinion != null and queryForViolationParam.handlingOpinion !=''">
+                and t1.handling_opinion like concat('%',#{queryForViolationParam.handlingOpinion},'%')
+            </if>
+        </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