From 7524560c663902ca679db9cc7adc6cd4fae040f7 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 16 七月 2024 17:11:40 +0800 Subject: [PATCH] 通知完善 --- src/main/resources/mapper/ExamPaperMapper.xml | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index 1c3206f..e558a7c 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -276,6 +276,9 @@ <if test="type != null "> and e.type= #{type} </if> + <if test="name != null and name != ''"> + AND INSTR(name, #{name}) + </if> </where> group by e.id </select> @@ -327,7 +330,7 @@ <select id="indexPaper" resultMap="PaperInfoResultMap" parameterType="com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter"> select * from( - SELECT e.id,e.name,e.limit_start_time,e.limit_end_time + SELECT e.id,e.name,e.limit_start_time,e.limit_end_time,e.create_time FROM t_exam_paper e LEFT JOIN t_exam_paper_department d on d.exam_paper_id = e.id <where> @@ -354,7 +357,7 @@ ORDER BY e.id desc ) t union all select * from ( - SELECT e.id,e.name,e.limit_start_time,e.limit_end_time + SELECT e.id,e.name,e.limit_start_time,e.limit_end_time,e.create_time FROM t_exam_paper e LEFT JOIN t_exam_paper_user u on u.exam_paper_id = e.id <where> @@ -438,10 +441,19 @@ where a.exam_paper_id = #{id} </select> + <select id="getRandomPaperExcelById" resultType="com.mindskip.xzs.domain.vo.PaperExcelVO" parameterType="java.lang.Integer"> + select u.real_name as name,a.create_user as userId,a.user_score as userScore,a.paper_score as paperScore + from t_exam_paper_answer a + inner join t_user u on u.id = a.create_user + inner join t_exam_templates_user_count uc ON a.exam_paper_id = uc.exam_paper_id AND uc.exam_templates_id = #{id} + where a.invalid = 0 + </select> + + <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper"> - select id, name from t_exam_paper - <if test="deptIds != null and deptIds.size() > 0"> + select id, name, paper_type, create_time from t_exam_paper where paper_type != 7 + <if test="deptIds != null and deptIds.size() > 0"> and dept_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} @@ -449,6 +461,17 @@ </if> order by create_time desc </select> + + <select id="template" resultType="com.mindskip.xzs.domain.ExamPaper"> + select id, name, paper_type, ctime as create_time from t_exam_templates + <if test="deptIds != null and deptIds.size() > 0"> + where dept_id in + <foreach collection="deptIds" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + order by ctime desc + </select> <select id="selectStudent" resultType="com.mindskip.xzs.domain.vo.UserVO" parameterType="com.mindskip.xzs.domain.vo.UserVO"> SELECT @@ -459,9 +482,6 @@ left join t_user_department c on a.id = c.user_id where user_name != 'admin' and a.status != 2 and a.deleted = 0 and (a.`condition` = 0 or a.`condition` is null) - <if test="tagId != null and tagId != ''"> - and b.tag_id = #{tagId} - </if> <if test="deptIds != null and deptIds.size > 0"> and c.department_id in <foreach collection="deptIds" open="(" separator="," close=")" item="deptId"> @@ -469,6 +489,20 @@ </foreach> </if> group by a.id, a.real_name + <if test="(tagIds != null and tagIds.size > 0) or (excludeTagIds != null and excludeTagIds.size > 0)"> + having + </if> + <if test="tagIds != null and tagIds.size > 0"> + <foreach collection="tagIds" open="(" separator="or" close=")" item="item"> + find_in_set(#{item}, group_concat(b.tag_id)) + </foreach> + </if> + <if test="excludeTagIds != null and excludeTagIds.size > 0"> + <if test="tagIds != null and tagIds.size > 0">and</if> + <foreach collection="excludeTagIds" open="(" separator="and" close=")" item="item"> + (NOT find_in_set(#{item}, group_concat(b.tag_id)) OR group_concat(b.tag_id) IS NULL) + </foreach> + </if> order by a.id </select> @@ -477,7 +511,7 @@ </select> <select id="getExamPaper" resultType="com.mindskip.xzs.domain.ExamPaper"> - select id, name, paper_type, create_time from t_exam_paper order by create_time desc + select id, name, paper_type, create_time from t_exam_paper where paper_type != 7 order by create_time desc </select> <select id="getTemplate" resultType="com.mindskip.xzs.domain.ExamPaper"> -- Gitblit v1.8.0