|
|
@@ -496,25 +496,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
|
<select id="pageList" parameterType="com.zd.laboratory.domain.vo.LabViolationVO" resultMap="LabViolationVOResult">
|
|
|
SELECT
|
|
|
- v.id,
|
|
|
- u.user_id join_user_id,
|
|
|
- u.nick_name user_name,
|
|
|
- u.user_name AS stuNo,
|
|
|
- v.create_time AS createTime,
|
|
|
- d.dept_name AS deptName,
|
|
|
- v.status,
|
|
|
- (select count(1) from lab_negativelist_history he where he.user_id = u.`user_id`) violation_num,
|
|
|
- v.negative_list_num,
|
|
|
- IFNULL((SELECT COUNT(1) FROM lab_blackdetail b inner join lab_blacklist t on b.black_id = t.id WHERE t.`join_user_id` = u.user_id GROUP BY b.black_id),0) black_list_num,
|
|
|
- r.`credit_score` AS credit_score,
|
|
|
- v.is_negative,
|
|
|
- v.is_black_list,
|
|
|
- (SELECT r.id FROM lab_negative_list_records r WHERE r.user_id = u.`user_id`) negative_id
|
|
|
- FROM
|
|
|
- sys_user u
|
|
|
- INNER JOIN lab_violation v ON u.user_id = v.user_id
|
|
|
- INNER JOIN sys_dept d ON u.dept_id = d.dept_id
|
|
|
- INNER JOIN el_points_record r ON r.`join_user_id`=u.`user_id`
|
|
|
+ v.id,
|
|
|
+ u.user_id AS join_user_id,
|
|
|
+ u.nick_name AS user_name,
|
|
|
+ u.user_name AS stuNo,
|
|
|
+ v.create_time AS createTime,
|
|
|
+ d.dept_name AS deptName,
|
|
|
+ v.status,
|
|
|
+
|
|
|
+ IFNULL(h.violation_num, 0) AS violation_num,
|
|
|
+ v.negative_list_num,
|
|
|
+ IFNULL(b.black_list_num, 0) AS black_list_num,
|
|
|
+
|
|
|
+ r.credit_score,
|
|
|
+ v.is_negative,
|
|
|
+ v.is_black_list,
|
|
|
+
|
|
|
+ n.id AS negative_id
|
|
|
+ FROM sys_user u
|
|
|
+ JOIN lab_violation v ON v.user_id = u.user_id
|
|
|
+ JOIN sys_dept d ON d.dept_id = u.dept_id
|
|
|
+ JOIN el_points_record r ON r.join_user_id = u.user_id
|
|
|
+
|
|
|
+ /* 1. 违规次数一次聚合 */
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT user_id, COUNT(*) AS violation_num
|
|
|
+ FROM lab_negativelist_history
|
|
|
+ GROUP BY user_id
|
|
|
+ ) h ON h.user_id = u.user_id
|
|
|
+
|
|
|
+ /* 2. 黑名单次数一次聚合 */
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT t.join_user_id, COUNT(DISTINCT b.black_id) AS black_list_num
|
|
|
+ FROM lab_blackdetail b
|
|
|
+ JOIN lab_blacklist t ON t.id = b.black_id
|
|
|
+ WHERE t.blacklist_status = 1
|
|
|
+ GROUP BY t.join_user_id
|
|
|
+ ) b ON b.join_user_id = u.user_id
|
|
|
+
|
|
|
+ /* 3. 负面名单 id(只取一条即可) */
|
|
|
+ LEFT JOIN lab_negative_list_records n
|
|
|
+ ON n.user_id = u.user_id;
|
|
|
where true
|
|
|
<!--<if test="userId!=null"> and join_user_id=#{userId}</if>-->
|
|
|
<if test="creact_id!=null"> and creact_id=#{creact_id}</if>
|