From 54a6c048c97011cd2a99fbef2065afe0a167fcfc Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 22 七月 2024 13:46:05 +0800
Subject: [PATCH] fix:成绩统计导出完善
---
src/main/resources/mapper/ExamPaperMapper.xml | 46 +++++++++++++++++++++++++++++-----------------
1 files changed, 29 insertions(+), 17 deletions(-)
diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index 90f6c53..92cf7f6 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,27 +441,36 @@
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, paper_type, create_time from t_exam_paper
- where paper_type != 7
+ 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 dept_id in
- <foreach collection="deptIds" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
+ and (tep.create_user = 2
+ or tud.department_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach>
+ )
</if>
- order by create_time desc
+ group by tep.id
+ order by tep.id desc
</select>
<select id="template" resultType="com.mindskip.xzs.domain.ExamPaper">
- select id, name, paper_type, ctime as create_time from t_exam_templates
+ 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 dept_id in
- <foreach collection="deptIds" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
+ where (tet.create_user = 2
+ or tud.department_id in <foreach collection="deptIds" item="item" open="(" separator="," close=")"> #{item} </foreach>
+ )
</if>
- order by ctime desc
+ 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">
@@ -488,7 +500,7 @@
<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))
+ (NOT find_in_set(#{item}, group_concat(b.tag_id)) OR group_concat(b.tag_id) IS NULL)
</foreach>
</if>
order by a.id
@@ -499,7 +511,7 @@
</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 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">
--
Gitblit v1.8.0