From ca8640fd11a75e5979c17142f32eceb5e6ea2ca3 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 16 十二月 2023 20:10:59 +0800
Subject: [PATCH] bug
---
ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml | 174 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 112 insertions(+), 62 deletions(-)
diff --git a/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml b/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml
index 55a42be..b782959 100644
--- a/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/unlawful/UnlawfulMapper.xml
@@ -1,75 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.mapper.unlawful.UnlawfulMapper">
- <select id="getDataByType" resultType="com.ycl.dto.statistics.CategoryDto">
- SELECT
- t4.id id,
- t4.NAME name
- FROM
- `ums_base_case` AS ubc
- JOIN ums_violations AS uv ON ubc.id = uv.id
- LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
- 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
- ubc.category =1
- and t4.`name` is NOT NULL
- <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
- and ubc.create_time between #{startTime} and #{endTime}
- </if>
- group by
- t4.id
- limit #{currentPage}, #{pageSize}
- </select>
- <select id="getStatusDataByType" resultType="com.ycl.dto.statistics.StatusDto">
- SELECT
- count(1) total,
- sum(case when ubc.state=5 then 1 else 0 end) register,
- sum(case when ubc.state=4 then 1 else 0 end ) notRegister,
- sum(case when ubc.state=9 then 1 else 0 end ) closing,
- sum(case when ubc.state=3 then 1 else 0 end ) relearn,
- sum(case when ubc.state=8 then 1 else 0 end ) checked
- FROM
- `ums_base_case` AS ubc
- JOIN ums_violations AS uv ON ubc.id = uv.id
- LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
- 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
- ubc.category =1
- and t4.`id` = #{dictionaryId}
+ <!-- 鑾峰彇鎬绘暟-->
+ <select id="getTotal" resultType="java.lang.Integer">
+ SELECT count(*)
+ FROM `ums_base_case` AS ubc
+ JOIN ums_violations AS uv ON ubc.id = uv.id
+ <if test="type==true">
+ INNER JOIN ums_data_dictionary AS t4 ON uv.grade_id = t4.id
+ </if>
+ <if test="street==true">
+ INNER JOIN ums_sccg_region r on ubc.street_id = r.id
+ </if>
+ <if test="video==true">
+ INNER JOIN ums_video_point v on uv.video_point_id = v.id
+ </if>
+ WHERE ubc.category = 1
+
<if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
and ubc.create_time between #{startTime} and #{endTime}
</if>
</select>
- <select id="getTotal" resultType="java.lang.Integer">
- SELECT
- count(*)
- FROM
- `ums_base_case` AS ubc
- JOIN ums_violations AS uv ON ubc.id = uv.id
- LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
- 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
- ubc.category = 1
- AND t4.`name` IS NOT NULL
- </select>
- <select id="getDataByTypeExp" resultType="com.ycl.dto.statistics.CategoryDto">
+ <!-- 鎸夌収杩濊绫诲瀷缁熻-->
+ <select id="getDataByType" resultType="com.ycl.dto.statistics.UnlawfulDto">
SELECT
- t4.id id,
- t4.NAME name
+ t4.id id,
+ t4.NAME name,
+ COUNT(DISTINCT ubc.id) count,
+ sum(case when ubc.state >4 then 1 ELSE 0 END ) register,
+ sum(case when ubc.state =4 then 1 ELSE 0 END ) notRegister,
+ sum(case when ubc.state =9 then 1 ELSE 0 END ) closing,
+ sum(case when ubc.state =3 then 1 ELSE 0 END ) relearn,
+ sum(case when ubc.state =8 then 1 ELSE 0 END ) checked
FROM
- `ums_base_case` AS ubc
- JOIN ums_violations AS uv ON ubc.id = uv.id
- LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
- 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
+ `ums_base_case` AS ubc
+ JOIN ums_violations AS uv ON ubc.id = uv.id
+ LEFT JOIN ums_data_dictionary AS t4 ON uv.grade_id = t4.id
+ LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
WHERE
- ubc.category =1
- and t4.`name` is NOT NULL
- group by
- t4.id
+ ubc.category =1
+ and t4.`name` is NOT NULL
+ <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+ and ubc.create_time between #{startTime} and #{endTime}
+ </if>
+ group by t4.id
+ ORDER BY t4.id
+ </select>
+
+ <!-- 鎸夌収鍖哄煙缁熻-->
+ <select id="getDataByStreet" resultType="com.ycl.dto.statistics.UnlawfulDto">
+ SELECT
+ ubc.street_id id,
+ t5.region_name name,
+ COUNT( DISTINCT ubc.id ) count,
+ sum( CASE WHEN ubc.state > 4 THEN 1 ELSE 0 END ) register,
+ sum( CASE WHEN ubc.state = 4 THEN 1 ELSE 0 END ) notRegister,
+ sum( CASE WHEN ubc.state = 9 THEN 1 ELSE 0 END ) closing,
+ sum( CASE WHEN ubc.state = 3 THEN 1 ELSE 0 END ) relearn,
+ sum( CASE WHEN ubc.state = 8 THEN 1 ELSE 0 END ) checked
+ FROM
+ `ums_base_case` AS ubc
+ JOIN ums_violations AS uv ON ubc.id = uv.id
+ LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
+ 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
+ ubc.category = 1
+ AND t5.region_name IS NOT NULL
+ <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+ and ubc.create_time between #{startTime} and #{endTime}
+ </if>
+ GROUP BY ubc.street_id
+ ORDER BY ubc.street_id
+ </select>
+
+ <!-- 鎸夌収鎶ヨ鏃堕棿-->
+ <select id="getDataByTime" resultType="com.ycl.dto.statistics.UnlawfulDto">
+ SELECT
+ DATE_FORMAT(ubc.alarm_time,'%Y-%m-%d') NAME,
+ COUNT( DISTINCT ubc.id ) count,
+ sum( CASE WHEN ubc.state > 4 THEN 1 ELSE 0 END ) register,
+ sum( CASE WHEN ubc.state = 4 THEN 1 ELSE 0 END ) notRegister,
+ sum( CASE WHEN ubc.state = 9 THEN 1 ELSE 0 END ) closing,
+ sum( CASE WHEN ubc.state = 3 THEN 1 ELSE 0 END ) relearn,
+ sum( CASE WHEN ubc.state = 8 THEN 1 ELSE 0 END ) checked
+ FROM
+ `ums_base_case` AS ubc
+ JOIN ums_violations AS uv ON ubc.id = uv.id
+ WHERE
+ ubc.category = 1
+ <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+ and ubc.alarm_time between #{startTime} and #{endTime}
+ </if>
+ GROUP BY
+ DATE_FORMAT(ubc.alarm_time,'%Y-%m-%d')
+ ORDER BY
+ DATE_FORMAT(ubc.alarm_time,'%Y-%m-%d') desc
+ </select>
+
+ <select id="getDataByPoint" resultType="com.ycl.dto.statistics.UnlawfulDto">
+ SELECT
+ vp.id id,
+ vp.NAME name,
+ COUNT(DISTINCT ubc.id) count,
+ sum(case when ubc.state >4 then 1 ELSE 0 END ) register,
+ sum(case when ubc.state =4 then 1 ELSE 0 END ) notRegister,
+ sum(case when ubc.state =9 then 1 ELSE 0 END ) closing,
+ sum(case when ubc.state =3 then 1 ELSE 0 END ) relearn,
+ sum(case when ubc.state =8 then 1 ELSE 0 END ) checked
+ FROM
+ `ums_base_case` AS ubc
+ JOIN ums_violations AS uv ON ubc.id = uv.id
+ LEFT JOIN ums_video_point vp ON uv.video_point_id = vp.id
+ WHERE
+ ubc.category =1
+ and vp.`name` is NOT NULL
+ <if test="startTime !='' and endTime !='' and startTime!=null and endTime !=null">
+ and ubc.alarm_time between #{startTime} and #{endTime}
+ </if>
+ group by vp.id
+ ORDER BY vp.id
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0