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 |   98 ++++++++++++++++++++++++++++++------------------
 1 files changed, 61 insertions(+), 37 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 63e8275..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,32 +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
-            exam_score es
+        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
-            blade_user bu
+        ksxt_exam ke
         on
-            es.user_id = bu.id
+        ke.id = es.exam_id
         left join
-            blade_dept bd
+        blade_user bu
         on
-            bd.id = es.company
+        es.user_id = bu.id
         left join
-            ksxt_exam ke
+        blade_dept bd
         on
-            ke.id = es.exam_id
+        bd.id = bu.dept_id
         left join
-            sys_apply sa
+        sys_apply sa
         on
-            sa.user_id = bu.id
-        WHERE
-            1=1
+        sa.id = es.apply_id
+        where
+        1=1
+        and (sa.is_exam = 2 or sa.is_exam = 3)
         <if test="examScore.examName!=null and  examScore.examName!=''">
             and ke.exam_name like concat('%', #{examScore.examName},'%')
         </if>
@@ -42,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}
@@ -61,32 +64,32 @@
     <!--考试成绩分页信息-模拟考试-->
     <select id="selectTrainExamScorePage" 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,
-         str.is_exam isExam,
-         bd.dept_name companyName
-        FROM
+            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,
+            str.is_exam isExam,
+            bu.real_name securityName,company,bu.account,
+            bd.dept_name companyName from
             exam_score es
         left join
-            blade_user bu
+        ksxt_exam ke
         on
-            es.user_id = bu.id
+        ke.id = es.exam_id
         left join
-            blade_dept bd
+        blade_user bu
         on
-            bd.id = es.company
+        es.user_id = bu.id
         left join
-            ksxt_exam ke
+        blade_dept bd
         on
-            ke.id = es.exam_id
+        bd.id = bu.dept_id
         left join
-            sys_training_registration str
+        sys_training_registration str
         on
-            str.user_id = bu.id
-        WHERE
-            1=1
+        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!=''">
             and ke.exam_name like concat('%', #{examScore.examName},'%')
         </if>
@@ -98,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}
@@ -137,14 +143,32 @@
         COUNT( CASE WHEN theory_grade >= 80 AND theory_grade &lt; 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 &lt; 60 THEN 1 END ) AS 'bhg',
         COUNT( CASE WHEN learn_grade >= 60 AND learn_grade &lt; 80 THEN 1 END ) AS 'hg',
         COUNT( CASE WHEN learn_grade >= 80 AND learn_grade &lt; 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