From e89d76539cc91bd13acabbf25a12312d2f8bba56 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期二, 16 十二月 2025 21:27:06 +0800
Subject: [PATCH] 超过17点不接受报警
---
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml | 165 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 112 insertions(+), 53 deletions(-)
diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
index e719964..65f8419 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 >=#{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">
@@ -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 >=#{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,31 +266,47 @@
and t1.handling_opinion like concat('%',#{queryForViolationParam.handlingOpinion},'%')
</if>
</where>
+ order by t1.id desc
</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
+ SELECT t1.id as baseId,
+ t1.`code`,
+ t3.`name`,
+ t3.url_address,
+ 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.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
- 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
+ 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>
+ <if test="type!=null">
+ and t3.type = #{type}
+ </if>
group by t1.id
+ order by t1.id desc
</select>
<select id="selectRegisterCount" resultType="java.lang.Long">
@@ -294,14 +324,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)
@@ -319,9 +358,8 @@
t1.alarm_time,
t1.longitude,
t1.latitude,
- ( CASE WHEN t1.category = 1 THEN "杩濊" WHEN t1.category = 2 THEN "杩濆缓" ELSE "鍏朵粬" END ) AS type,
- ( CASE WHEN t1.event_source = 1 THEN "瑙嗛宸℃煡" WHEN t1.event_source = 2 THEN "浜哄伐涓婃姤" ELSE "鍏朵粬" END ) AS alarmAdvice,
- ( CASE WHEN t1.event_source = 1 THEN "瑙嗛宸℃煡" WHEN t1.event_source = 2 THEN "浜哄伐涓婃姤" ELSE "鍏朵粬" END ) AS source,
+ 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,
@@ -337,7 +375,7 @@
WHEN t1.state = 7 THEN '澶勭疆'
WHEN t1.state = 8 THEN '鏍告煡'
WHEN t1.state = 9 THEN '缁撴'
- END) `status` ,
+ END) `alarmAdvice` ,
pdd.`name` as grade
FROM
ums_base_case t1
@@ -354,14 +392,14 @@
</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
+ Inner JOIN ums_sccg_region t2
ON t1.street_id = t2.id
GROUP BY
street_id
@@ -385,9 +423,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">
@@ -435,4 +474,24 @@
WHERE end_time < 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