From 2bf92184d4584cac58b76b8d1ea0b3b0ff34b4fb Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期五, 24 五月 2024 13:46:30 +0800 Subject: [PATCH] fix:统计修改 --- src/main/resources/mapper/ExamPaperMapper.xml | 96 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 89 insertions(+), 7 deletions(-) diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml index c116640..7338f3a 100644 --- a/src/main/resources/mapper/ExamPaperMapper.xml +++ b/src/main/resources/mapper/ExamPaperMapper.xml @@ -18,11 +18,12 @@ <result column="deleted" jdbcType="BIT" property="deleted" /> <result column="task_exam_id" jdbcType="INTEGER" property="taskExamId" /> <result column="type" jdbcType="VARCHAR" property="type" /> + <result column="user_ids" jdbcType="VARCHAR" property="userIds" /> </resultMap> <sql id="Base_Column_List"> - id, name, subject_id, paper_type, grade_level, score, question_count, suggest_time, + id, dept_id, name, subject_id, paper_type, grade_level, score, question_count, suggest_time, limit_start_time, limit_end_time, frame_text_content_id, create_user, create_time, - deleted, task_exam_id, type + deleted, task_exam_id, type, user_ids </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select @@ -39,14 +40,14 @@ paper_type, grade_level, score, question_count, suggest_time, limit_start_time, limit_end_time, frame_text_content_id, create_user, - create_time, deleted, task_exam_id, type + create_time, deleted, task_exam_id, type, user_ids ) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{subjectId,jdbcType=INTEGER}, #{paperType,jdbcType=INTEGER}, #{gradeLevel,jdbcType=INTEGER}, #{score,jdbcType=INTEGER}, #{questionCount,jdbcType=INTEGER}, #{suggestTime,jdbcType=INTEGER}, #{limitStartTime,jdbcType=TIMESTAMP}, #{limitEndTime,jdbcType=TIMESTAMP}, #{frameTextContentId,jdbcType=INTEGER}, #{createUser,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{deleted,jdbcType=BIT}, #{taskExamId,jdbcType=INTEGER}, - #{type,jdbcType=VARCHAR} + #{type,jdbcType=VARCHAR}, #{userIds,jdbcType=VARCHAR} ) </insert> <insert id="insertSelective" parameterType="com.mindskip.xzs.domain.ExamPaper" useGeneratedKeys="true" keyProperty="id"> @@ -54,6 +55,9 @@ <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> id, + </if> + <if test="deptId != null"> + dept_id, </if> <if test="name != null"> name, @@ -100,10 +104,16 @@ <if test="type != null"> type, </if> + <if test="userIds != null"> + user_ids, + </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> #{id,jdbcType=INTEGER}, + </if> + <if test="deptId != null"> + #{deptId,jdbcType=INTEGER}, </if> <if test="name != null"> #{name,jdbcType=VARCHAR}, @@ -150,6 +160,9 @@ <if test="type != null"> #{type,jdbcType=VARCHAR}, </if> + <if test="userIds != null"> + #{userIds,jdbcType=VARCHAR}, + </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType="com.mindskip.xzs.domain.ExamPaper"> @@ -157,6 +170,9 @@ <set> <if test="name != null"> name = #{name,jdbcType=VARCHAR}, + </if> + <if test="deptId != null"> + dept_id = #{deptId,jdbcType=INTEGER}, </if> <if test="subjectId != null"> subject_id = #{subjectId,jdbcType=INTEGER}, @@ -197,6 +213,9 @@ <if test="taskExamId != null"> task_exam_id = #{taskExamId,jdbcType=INTEGER}, </if> + <if test="userIds != null"> + user_ids = #{userIds,jdbcType=INTEGER}, + </if> </set> where id = #{id,jdbcType=INTEGER} </update> @@ -204,6 +223,7 @@ update t_exam_paper set name = #{name,jdbcType=VARCHAR}, subject_id = #{subjectId,jdbcType=INTEGER}, + dept_id = #{deptId,jdbcType=INTEGER}, paper_type = #{paperType,jdbcType=INTEGER}, grade_level = #{gradeLevel,jdbcType=INTEGER}, score = #{score,jdbcType=INTEGER}, @@ -238,15 +258,14 @@ SELECT e.* FROM t_exam_paper e - left join t_exam_paper_department d on e.id = d.exam_paper_id left join t_exam_paper_subject s on e.id = s.exam_paper_id <where> and e.deleted=0 <if test="id != null "> and e.id= #{id} </if> - <if test="level != null "> - and d.department_id= #{level} and d.deleted = 0 + <if test="deptIds != null and deptIds.size() > 0"> + and e.dept_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="subjectId != null "> and s.subject_id= #{subjectId} and s.deleted = 0 @@ -358,6 +377,12 @@ <select id="selectAllCount" resultType="java.lang.Integer"> SELECT count(*) from t_exam_paper where deleted=0 + <if test="deptIds != null and deptIds.size() > 0"> + and dept_id in + <foreach collection="deptIds" item="item" open="(" close=")" separator=","> + #{item} + </foreach> + </if> </select> <select id="selectCountByDate" resultType="com.mindskip.xzs.domain.other.KeyValue"> @@ -413,4 +438,61 @@ where a.exam_paper_id = #{id} </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"> + where paper_type != 7 + and dept_id in + <foreach collection="deptIds" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + order by create_time desc + </select> + + <select id="selectStudent" resultType="com.mindskip.xzs.domain.vo.UserVO" parameterType="com.mindskip.xzs.domain.vo.UserVO"> + SELECT + a.id, a.real_name + FROM + t_user a + left join t_user_tag b on a.id = b.user_id + 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="deptIds != null and deptIds.size > 0"> + and c.department_id in + <foreach collection="deptIds" open="(" separator="," close=")" item="deptId"> + #{deptId} + </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)) + </foreach> + </if> + order by a.id + </select> + + <select id="getExamPaperByTemplateId" resultType="java.lang.Integer" parameterType="com.mindskip.xzs.domain.vo.ExamTemplatesVO"> + select exam_paper_id from t_exam_templates_user_count where exam_templates_id = #{id} + </select> + + <select id="getExamPaper" resultType="com.mindskip.xzs.domain.ExamPaper"> + 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"> + select id, name, paper_type, ctime as create_time from t_exam_templates order by ctime desc + </select> + </mapper> -- Gitblit v1.8.0