From 3a91b4d850f4b2b9a42270070ba5bffcac1de97c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Sat, 22 Jan 2022 09:40:56 +0800
Subject: [PATCH] 使用easyExcel 通过填充模板的方式填入多表格带标题数据的导出
---
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml | 68 +++++++++++++++++++++++++++++++++
1 files changed, 67 insertions(+), 1 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
index f300dd1..dc3951e 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -465,7 +465,73 @@
left join blade_dept bd on a.dept_id = bd.id
left join (select bu.dept_id,count(*) c from sys_training_registration str left join blade_user bu on bu.id = str.user_id left join ksxt_exam ke on ke.id = str.train_exam_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.startTime} and cancel =1 and is_exam = 1 and bu.examination_type = 1 GROUP BY bu.dept_id) d on d.dept_id = a.dept_id
left join (select bu.dept_id,count(*) c from sys_training_registration str left join blade_user bu on bu.id = str.user_id left join ksxt_exam ke on ke.id = str.train_exam_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.startTime} and is_exam = 4 GROUP BY bu.dept_id) b on b.dept_id = a.dept_id
- left join (select bu.dept_id,count(*) c from exam_score es left join blade_user bu on bu.id = es.user_id left join ksxt_exam ke on ke.id = es.exam_id left join sys_training_registration str on str.id = es.apply_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.startTime} and es.qualified = 0 GROUP BY bu.dept_id) c on c.dept_id = a.dept_id
+ left join (select bu.dept_id,count(*) c from exam_score es left join blade_user bu on bu.id = es.user_id left join ksxt_exam ke on ke.id = es.exam_id left join sys_training_registration str on str.id = es.apply_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.startTime} and es.theory_grade >= 60 GROUP BY bu.dept_id) c on c.dept_id = a.dept_id
+ </select>
+
+ <!--根据考试id 统计查询考试信息-->
+ <select id="getExamInfoByExamIdList" resultType="org.springblade.modules.exam.vo.ExamStatisticsVO">
+ select (@i:=@i+1) no,aa.* from (
+ select
+ bd.dept_name deptName,
+ ifnull(a.c,0) znum,
+ ifnull(b.c,0) qknum,
+ ifnull(d.c,0) ycnum,
+ ifnull(c.c,0) yknum from
+ (select bu.dept_id,count(*) c from sys_training_registration str left join blade_user bu on bu.id = str.user_id left join ksxt_exam ke on ke.id = str.train_exam_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.examDate} GROUP BY bu.dept_id) a
+ left join blade_dept bd on a.dept_id = bd.id
+ left join (select bu.dept_id,count(*) c from sys_training_registration str left join blade_user bu on bu.id = str.user_id left join ksxt_exam ke on ke.id = str.train_exam_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.examDate} and cancel =1 and is_exam = 1 and bu.examination_type = 1 GROUP BY bu.dept_id) d on d.dept_id = a.dept_id
+ left join (select bu.dept_id,count(*) c from sys_training_registration str left join blade_user bu on bu.id = str.user_id left join ksxt_exam ke on ke.id = str.train_exam_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.examDate} and is_exam = 4 GROUP BY bu.dept_id) b on b.dept_id = a.dept_id
+ left join (select bu.dept_id,count(*) c from exam_score es left join blade_user bu on bu.id = es.user_id left join ksxt_exam ke on ke.id = es.exam_id left join sys_training_registration str on str.id = es.apply_id where str.training_unit_id = #{examPaper.trainUnitId} and date_format(ke.start_time,'%Y-%m-%d') = #{examPaper.examDate} and es.theory_grade >= 60 GROUP BY bu.dept_id) c on c.dept_id = a.dept_id
+ ) aa,(select @i:=0) bb
+ </select>
+
+ <!--导出-按条件查询成绩数据-模拟考试-->
+ <select id="getExamScoreList" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
+ select (@i:=@i+1) no,aa.* from (
+ SELECT
+ bu.real_name securityName,
+ bd.dept_name companyName,
+ es.theory_grade theoryGrade,es.learn_grade learnGrade,es.all_grade allGrade,
+ case when str.is_exam=2 then "发布成绩"
+ when str.is_exam=3 then "考试中"
+ when str.is_exam=4 then "缺考"
+ when str.is_exam=5 then "纸质考试"
+ else "" end as sortName
+ from
+ exam_score es
+ left join
+ ksxt_exam ke
+ on
+ ke.id = es.exam_id
+ left join
+ blade_user bu
+ on
+ es.user_id = bu.id
+ left join
+ blade_dept bd
+ on
+ bd.id = bu.dept_id
+ left join
+ sys_training_registration str
+ on
+ str.id = es.apply_id
+ where
+ 1=1
+ and (str.is_exam = 2 or str.is_exam = 3 or str.is_exam = 4 or str.is_exam = 5)
+ <if test="examScore.trainUnitId!=null">
+ and str.training_unit_id = #{examScore.trainUnitId}
+ </if>
+ <if test="examScore.isExam!=null and examScore.isExam!=''">
+ and str.is_exam = #{examScore.isExam}
+ </if>
+ <if test="examScore.examType!=null and examScore.examType!=''">
+ and ke.exam_type = #{examScore.examType}
+ </if>
+ <if test="examScore.examDate!=null and examScore.examDate!=''">
+ and date_format(ke.start_time,'%Y-%m-%d') = #{examScore.examDate}
+ </if>
+ order by es.id desc
+ ) aa,(select @i:=0) bb
</select>
</mapper>
--
Gitblit v1.9.3