From 47cd9ecc0eff38ffe6b3b794b2bf197e958f4403 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 14 五月 2025 15:50:57 +0800
Subject: [PATCH] bug:学员有状态不能修改问题
---
src/main/resources/mapper/ExamPaperMapper.xml | 122 +++++++++++++++++++++++++++++++++++++---
1 files changed, 113 insertions(+), 9 deletions(-)
diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index c116640..566207c 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
@@ -256,6 +275,9 @@
</if>
<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
@@ -308,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>
@@ -335,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>
@@ -358,6 +380,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 +441,80 @@
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,MAX(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 a.create_user = uc.user_id AND uc.exam_templates_id = #{id}
+ where a.invalid = 0
+ GROUP BY u.real_name, a.create_user, a.paper_score
+ </select>
+
+
+ <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper">
+ select tep.id, name, paper_type, create_time from t_exam_paper tep left join t_user_department tud on tep.create_user = tud.user_id
+ where paper_type != 7 and tep.deleted = 0
+ <if test="deptIds != null and deptIds.size() > 0">
+ and (tep.create_user = 2
+ or tud.department_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach>
+ )
+ </if>
+ group by tep.id
+ order by tep.id desc
+ </select>
+
+ <select id="template" resultType="com.mindskip.xzs.domain.ExamPaper">
+ select tet.id, name, paper_type, ctime as create_time from t_exam_templates tet left join t_user_department tud on tet.create_user = tud.user_id
+ <if test="deptIds != null and deptIds.size() > 0">
+ where (tet.create_user = 2
+ or tud.department_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach>
+ )
+ </if>
+ group by tet.id
+ order by tet.id 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>
+ <if test="realName"> and INSTR(a.real_name, #{realName}) </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>
+
+ <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 and deleted = 0 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