From cc057177b2fb17aee9a173a6adbabdc578fd74c7 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Dec 2021 10:30:44 +0800
Subject: [PATCH] 1.许可
---
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 198 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 158 insertions(+), 40 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..f0acf06 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -5,33 +5,31 @@
<!--考试成绩分页信息-正式考试-->
<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},'%')
@@ -42,8 +40,14 @@
<if test="examScore.securityName!=null and examScore.securityName!=''">
and bu.real_name like concat('%', #{examScore.securityName},'%')
</if>
+ <if test="examScore.account!=null and examScore.account!=''">
+ and bu.account like concat('%', #{examScore.account},'%')
+ </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 +70,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!=''">
@@ -99,8 +102,17 @@
<if test="examScore.securityName!=null and examScore.securityName!=''">
and bu.real_name like concat('%', #{examScore.securityName},'%')
</if>
+ <if test="examScore.account!=null and examScore.account!=''">
+ and bu.account like concat('%', #{examScore.account},'%')
+ </if>
+ <if test="examScore.trainUnitId!=null">
+ and str.training_unit_id = #{examScore.trainUnitId}
+ </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}
@@ -133,21 +145,112 @@
<!--考试成绩详情信息-->
+<!-- <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 exam-->
+<!-- LEFT JOIN blade_user user ON exam.user_id = user.id-->
+<!-- WHERE 1 = 1-->
+<!-- <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">-->
+<!-- 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 exam-->
+<!-- LEFT JOIN blade_user user ON exam.user_id = user.id-->
+<!-- WHERE 1 = 1-->
+<!-- <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1372091709474910209'">-->
+<!-- AND user.jurisdiction = #{jurisdiction}-->
+<!-- </if>-->
+<!-- <if test="deptid!=null and deptid==''">-->
+<!-- AND user.dept_id = #{deptid}-->
+<!-- </if>-->
+<!-- ) b-->
+<!-- </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'
+ SELECT
+ theory_grade as fs,
+ COUNT( * ) AS count
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'
+ exam_score exam
+ LEFT JOIN blade_user user ON exam.user_id = user.id
+ WHERE 1 = 1 AND theory_grade is not null
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+ AND user.jurisdiction = #{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ AND user.dept_id = #{deptid}
+ </if>
+ GROUP BY
+ exam.theory_grade
+ </select>
+ <!--考试成绩详情信息 实操-->
+ <select id="scoreStatisticssc" resultType="java.util.HashMap">
+ SELECT
+ learn_grade as fs,
+ COUNT( * ) AS count
FROM
- exam_score) b
+ exam_score exam
+ LEFT JOIN blade_user user ON exam.user_id = user.id
+ WHERE 1 = 1 AND learn_grade is not null
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+ AND user.jurisdiction = #{jurisdiction}
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ AND user.dept_id = #{deptid}
+ </if>
+ GROUP BY
+ exam.learn_grade
+ </select>
+
+ <select id="scorePage" resultType="org.springblade.modules.exam.vo.ExamScoreVO">
+ SELECT
+ exam.*,
+ user.jurisdiction,
+ user.dept_id,
+ user.real_name realName,
+ ke.exam_name examName
+ FROM
+ exam_score exam
+ LEFT JOIN blade_user user
+ ON exam.user_id = user.id
+ left join
+ ksxt_exam ke
+ on
+ ke.id = exam.exam_id
+ left join
+ sys_information si
+ on
+ user.dept_id = si.departmentid
+ left join
+ sys_jurisdiction sj
+ on
+ sj.id = si.jurisdiction
+ WHERE
+ 1 = 1
+ <if test="realName!=null and realName!=''">
+ AND user.real_name = #{realName}
+ </if>
+ <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
+ AND (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
+ </if>
+ <if test="deptid!=null and deptid!=''">
+ AND user.dept_id = #{deptid}
+ </if>
</select>
<!--根据用户身份证号查询考试成绩-->
@@ -164,4 +267,19 @@
bu.cardid = #{idCardNo}
and es.exam_id = #{examId}
</select>
+
+ <!--修改成绩信息-->
+ <update id="updateByIdAndQualifiee">
+ update exam_score set qualified = #{examScore.qualified} where id = #{examScore.id}
+ </update>
+
+
+ <!--考试合格人数对比-->
+ <select id="scoreStat" resultType="java.lang.Object">
+ select count(*) from exam_score where 1=1
+ union all
+ (select count(*) from exam_score where qualified =0)
+ union all
+ (select count(*) from exam_score where qualified !=0)
+ </select>
</mapper>
--
Gitblit v1.9.3