From 18464ca2adbfc5e4e0f4c111be78a29658d96e3d Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 27 Aug 2021 22:36:04 +0800
Subject: [PATCH] 题目生成修改,考试成绩计算修改,用户新增接口修改
---
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 81 +++++++++++++++++++++++++---------------
1 files changed, 51 insertions(+), 30 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
index 5eae6aa..ca4f770 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -5,34 +5,32 @@
<!--考试成绩分页信息-正式考试-->
<select id="selectExamScorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
SELECT
- es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,es.user_id userId,es.exam_id examId,
- es.exam_time examTime,all_grade allGrade,exam_end_time examEndTime,qualified,
- ke.exam_name examName,
- bu.real_name securityName,company,bu.account,
- sa.is_exam isExam,
- bd.dept_name companyName
- FROM
- sys_apply sa
+ es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,es.user_id userId,es.exam_id examId,
+ es.exam_time examTime,all_grade allGrade,exam_end_time examEndTime,qualified,
+ ke.exam_name examName,
+ sa.is_exam isExam,
+ bu.real_name securityName,company,bu.account,
+ bd.dept_name companyName from
+ exam_score es
+ left join
+ ksxt_exam ke
+ on
+ ke.id = es.exam_id
left join
blade_user bu
on
- sa.user_id = bu.id
+ es.user_id = bu.id
left join
blade_dept bd
on
bd.id = bu.dept_id
left join
- ksxt_exam ke
+ sys_apply sa
on
- ke.id = sa.exam_id
- left join
- exam_score es
- on
- es.exam_id = sa.exam_id
+ sa.id = es.apply_id
where
1=1
and (sa.is_exam = 2 or sa.is_exam = 3)
- and ke.exam_type = 1
<if test="examScore.examName!=null and examScore.examName!=''">
and ke.exam_name like concat('%', #{examScore.examName},'%')
</if>
@@ -44,6 +42,9 @@
</if>
<if test="examScore.userId!=null and examScore.userId!=''">
and es.user_id = #{examScore.userId}
+ </if>
+ <if test="examScore.deptId!=null and examScore.deptId!=''">
+ and bd.id = #{examScore.deptId}
</if>
<if test="examScore.isExam!=null and examScore.isExam!=''">
and sa.is_exam = #{examScore.isExam}
@@ -66,28 +67,27 @@
es.id,es.theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,es.user_id userId,es.exam_id examId,
es.exam_time examTime,all_grade allGrade,exam_end_time examEndTime,qualified,
ke.exam_name examName,
- bu.real_name securityName,company,bu.account,
str.is_exam isExam,
- bd.dept_name companyName
- FROM
- sys_training_registration str
+ bu.real_name securityName,company,bu.account,
+ bd.dept_name companyName from
+ exam_score es
+ left join
+ ksxt_exam ke
+ on
+ ke.id = es.exam_id
left join
blade_user bu
on
- str.user_id = bu.id
+ es.user_id = bu.id
left join
blade_dept bd
on
bd.id = bu.dept_id
left join
- ksxt_exam ke
+ sys_training_registration str
on
- ke.id = str.train_exam_id
- left join
- exam_score es
- on
- es.exam_id = str.train_exam_id
- WHERE
+ str.id = es.apply_id
+ where
1=1
and (str.is_exam = 2 or str.is_exam = 3)
<if test="examScore.examName!=null and examScore.examName!=''">
@@ -101,6 +101,9 @@
</if>
<if test="examScore.userId!=null and examScore.userId!=''">
and es.user_id = #{examScore.userId}
+ </if>
+ <if test="examScore.deptId!=null and examScore.deptId!=''">
+ and bd.id = #{examScore.deptId}
</if>
<if test="examScore.isExam!=null and examScore.isExam!=''">
and str.is_exam = #{examScore.isExam}
@@ -140,14 +143,32 @@
COUNT( CASE WHEN theory_grade >= 80 AND theory_grade < 90 THEN 1 END ) AS 'lh',
COUNT( CASE WHEN theory_grade >= 90 THEN 1 END ) AS 'yx'
FROM
- exam_score) a UNION ALL
+ exam_score exam
+ LEFT JOIN blade_user user ON exam.user_id = user.id
+ WHERE 1 = 1
+ <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201">
+ AND user.jurisdiction = #{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid==''">
+ AND user.dept_id = #{deptid}
+ </if>
+ ) a UNION ALL
SELECT * FROM( SELECT
COUNT( CASE WHEN learn_grade < 60 THEN 1 END ) AS 'bhg',
COUNT( CASE WHEN learn_grade >= 60 AND learn_grade < 80 THEN 1 END ) AS 'hg',
COUNT( CASE WHEN learn_grade >= 80 AND learn_grade < 90 THEN 1 END ) AS 'lh',
COUNT( CASE WHEN learn_grade >= 90 THEN 1 END ) AS 'yx'
FROM
- exam_score) b
+ exam_score exam
+ LEFT JOIN blade_user user ON exam.user_id = user.id
+ WHERE 1 = 1
+ <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201">
+ AND user.jurisdiction = #{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid==''">
+ AND user.dept_id = #{deptid}
+ </if>
+ ) b
</select>
<!--根据用户身份证号查询考试成绩-->
--
Gitblit v1.9.3