From 6ee55849eac9cd9d9183d155e80ebd454115a0c3 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 17 Aug 2021 10:28:11 +0800
Subject: [PATCH] 根据userID 查詢年齡,分數計算修改,年齡大於50岁的理论30%,实操70%,小于50岁的总分按理论实操各50%计算
---
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 87 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 76 insertions(+), 11 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 b957086..2ef898b 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -5,31 +5,62 @@
<!--考试成绩分页信息-->
<select id="selectExamScorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
SELECT
- id,candidate_no candidateNo,theory_grade theoryGrade,isnull(learn_grade,-1) learnGrade,all_grade,
- exam_name examName,security_name securityName,exam_type examType,company,exam_time examTime,
- all_score allScore,exam_end_time examEndTime,qualified
+ 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
- exam_score
+ exam_score es
+ left join
+ blade_user bu
+ on
+ es.user_id = bu.id
+ left join
+ blade_dept bd
+ on
+ bd.id = es.company
+ left join
+ ksxt_exam ke
+ on
+ ke.id = es.exam_id
+ left join
+ sys_apply sa
+ on
+ sa.user_id = bu.id
WHERE
1=1
<if test="examScore.examName!=null and examScore.examName!=''">
- and exam_name like concat('%', #{examScore.examName},'%')
+ and ke.exam_name like concat('%', #{examScore.examName},'%')
</if>
- <if test="examScore.company!=null and examScore.company!=''">
- and company like concat('%', #{examScore.company},'%')
+ <if test="examScore.companyName!=null and examScore.companyName!=''">
+ and bd.dept_name like concat('%', #{examScore.companyName},'%')
</if>
<if test="examScore.securityName!=null and examScore.securityName!=''">
- and security_name like concat('%', #{examScore.securityName},'%')
+ and bu.real_name like concat('%', #{examScore.securityName},'%')
</if>
- <if test="examScore.examType!=null">
- and exam_type = #{examScore.examType}
+ <if test="examScore.userId!=null and examScore.userId!=''">
+ and es.user_id = #{examScore.userId}
+ </if>
+ <if test="examScore.isExam!=null and examScore.isExam!=''">
+ and sa.is_exam = #{examScore.isExam}
+ </if>
+ <if test="examScore.examType!=null and examScore.examType!=''">
+ and ke.exam_type = #{examScore.examType}
+ </if>
+ <if test="examScore.candidateNo!=null and examScore.candidateNo!=''">
+ and es.candidate_no = #{examScore.candidateNo}
+ </if>
+ <if test="examScore.qualified!=null">
+ and es.qualified = #{examScore.qualified}
</if>
</select>
<!--考试成绩详情信息-->
<select id="selectExamScoreInfo" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
SELECT
- id,candidate_no candidateNo,theory_grade theoryGrade,isnull(learn_grade,-1) learnGrade,all_grade,
+ id,candidate_no candidateNo,theory_grade theoryGrade,ifnull(learn_grade,-1) learnGrade,all_grade,
exam_name examName,security_name securityName,exam_type examType,company,exam_time examTime,
all_score allScore,exam_end_time examEndTime,qualified
FROM
@@ -40,4 +71,38 @@
and id = #{examScore.id}
</if>
</select>
+
+
+ <!--考试成绩详情信息-->
+ <select id="scoreStatistics" resultType="java.util.HashMap">
+ SELECT * FROM(SELECT
+ COUNT( CASE WHEN theory_grade < 60 THEN 1 END ) AS 'bhg',
+ COUNT( CASE WHEN theory_grade >= 60 AND theory_grade < 80 THEN 1 END ) AS 'hg',
+ 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
+ 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
+ </select>
+
+ <!--根据用户身份证号查询考试成绩-->
+ <select id="getExamScoreInfoByIdCardNo" resultType="org.springblade.modules.exam.entity.ExamScore">
+ select
+ es.*
+ from
+ exam_score es
+ left join
+ blade_user bu
+ on
+ bu.id = es.user_id
+ where
+ bu.cardid = #{idCardNo}
+ and es.exam_id = #{examId}
+ </select>
</mapper>
--
Gitblit v1.9.3