From 7f046650eea24ba1a43f09831407e4e37b8cb898 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 12 Oct 2021 23:34:28 +0800
Subject: [PATCH] 用户,保安员新增同账号判断修改

---
 src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml |  172 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 151 insertions(+), 21 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 ca4f770..ff44c7d 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -40,6 +40,9 @@
         <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>
@@ -99,6 +102,12 @@
         <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>
@@ -136,39 +145,95 @@
 
 
     <!--考试成绩详情信息-->
+<!--    <select id="scoreStatistics" resultType="java.util.HashMap">-->
+<!--        SELECT * FROM(SELECT-->
+<!--        COUNT( CASE WHEN theory_grade &lt; 60 THEN 1 END ) AS 'bhg',-->
+<!--        COUNT( CASE WHEN theory_grade >= 60 AND theory_grade &lt; 80 THEN 1 END ) AS 'hg',-->
+<!--        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 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 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>-->
+
+    <!--考试成绩详情信息 理论-->
     <select id="scoreStatistics" resultType="java.util.HashMap">
-        SELECT * FROM(SELECT
-        COUNT( CASE WHEN theory_grade &lt; 60 THEN 1 END ) AS 'bhg',
-        COUNT( CASE WHEN theory_grade >= 60 AND theory_grade &lt; 80 THEN 1 END ) AS 'hg',
-        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'
+        SELECT
+        theory_grade as fs,
+        COUNT( * ) AS count
         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!='1123598813738675201">
-             AND user.jurisdiction = #{jurisdiction}
+        LEFT JOIN blade_user user
+        ON exam.user_id = user.id
+        left join
+        sys_information si
+        on
+        si.departmentid = user.dept_id
+        left join
+        sys_jurisdiction sj
+        on
+        sj.id = si.jurisdiction
+        WHERE 1 = 1 AND theory_grade is not null
+        <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==''">
+        <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'
+        GROUP BY
+        exam.theory_grade
+    </select>
+    <!--考试成绩详情信息 实操-->
+    <select id="scoreStatisticssc" resultType="java.util.HashMap">
+        SELECT
+        learn_grade as fs,
+        COUNT( * ) AS count
         FROM
         exam_score exam
-        LEFT JOIN blade_user user ON exam.user_id = user.id
+        LEFT JOIN blade_user user
+        ON exam.user_id = user.id
+        left join
+        sys_information si
+        on
+        si.departmentid = user.dept_id
+        left join
+        sys_jurisdiction sj
+        on
+        sj.id = si.jurisdiction
         WHERE 1 = 1
-        <if test="jurisdiction!=null and jurisdiction=='' and jurisdiction!='1123598813738675201">
-            AND user.jurisdiction = #{jurisdiction}
+        AND learn_grade is not null
+        <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==''">
+        <if test="deptid!=null and deptid!=''">
             AND user.dept_id = #{deptid}
         </if>
-        ) b
+        GROUP BY
+        exam.learn_grade
     </select>
 
     <!--根据用户身份证号查询考试成绩-->
@@ -185,4 +250,69 @@
             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="scorePage"  resultType="org.springblade.modules.exam.vo.ExamScoreVO">
+        SELECT
+        exam.*,
+        user.jurisdiction,
+        user.real_name securityName,
+        ke.exam_name examName
+        FROM
+        exam_score exam
+        LEFT JOIN blade_user user
+        ON exam.user_id = user.id
+        left join
+        sys_information si
+        on
+        si.departmentid = user.dept_id
+        left join
+        sys_jurisdiction sj
+        on
+        sj.id = si.jurisdiction
+        left join
+        ksxt_exam ke
+        on
+        exam.exam_id = ke.id
+        WHERE
+        1 = 1
+        <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>
+
+    <!--查询所有考试不合格的数据(取准考证号)-->
+    <select id="getDisqualificationExamInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
+        select * from exam_score where qualified = 1
+    </select>
+
+
+    <!--根据准考证号查询培训信息-->
+    <select id="getTrainInfo" resultType="org.springblade.modules.training.entity.TrainingRegistration">
+        select * from sys_training_registration where 1=1
+        <if test="trainingRegistration.candidateNo!=null and trainingRegistration.candidateNo!=''">
+            and is_exam = 2
+            and candidate_no = #{trainingRegistration.candidateNo}
+        </if>
+        <if test="trainingRegistration.id!=null">
+            and id = #{trainingRegistration.id}
+        </if>
+    </select>
+
+    <!--查询所有无成绩的数据-->
+    <select id="getNoScoreInfo" resultType="org.springblade.modules.exam.entity.ExamScore">
+        select * from exam_score where theory_grade is null
+    </select>
+
+    <!--查询所有无成绩的数据-->
+    <select id="getLheoryGradeLess60" resultType="org.springblade.modules.exam.entity.ExamScore">
+        select * from exam_score where all_grade &lt; 30
+    </select>
 </mapper>

--
Gitblit v1.9.3