From a77cd2572fae653df15a202bdcd692a8e9c44a04 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 05 九月 2024 21:43:19 +0800 Subject: [PATCH] 11 --- 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