From 1998d0e9a5cb8cb33a4680a56b221b701a28d947 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 13 Dec 2021 11:55:34 +0800
Subject: [PATCH] 1. 新增考试时间到达后成绩计算接口 2. 修改个人考试查询接口,新增考试状态,成绩id,考试开始时间(防止考试中途关闭浏览器)

---
 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml |   85 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 27 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
index dbd0de1..dfc1bce 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -170,33 +170,59 @@
     </delete>
 
     <!--查询考试人员考试信息-->
+<!--    <select id="getExamDetail" resultType="org.springblade.modules.exam.vo.ExamPaperVO">-->
+<!--        (select-->
+<!--            ke.id,ke.exam_name examName,ke.start_time startTime,ke.end_time endTime,ke.exam_type examType,-->
+<!--            sa.candidate_no candidateNo,sa.id applyId,-->
+<!--            bu.real_name realName,bu.sex,bu.cardid idCardNo-->
+<!--        from-->
+<!--            ksxt_exam ke-->
+<!--        left join-->
+<!--            sys_apply sa-->
+<!--        on-->
+<!--            sa.exam_id = ke.id-->
+<!--        left join-->
+<!--            blade_user bu-->
+<!--        on-->
+<!--            bu.id = sa.user_id-->
+<!--        where sa.user_id = #{userId}-->
+<!--        and is_apply = 1-->
+<!--        and is_exam = 1-->
+<!--        and sa.apply_status = 2-->
+<!--        )-->
+
+<!--        union all-->
+
+<!--        (select-->
+<!--            ke.id,ke.exam_name examName,ke.start_time startTime,ke.end_time endTime,ke.exam_type examType,-->
+<!--            str.candidate_no candidateNo,str.id applyId,-->
+<!--            bu.real_name realName,bu.sex,bu.cardid idCardNo-->
+<!--        from-->
+<!--            ksxt_exam ke-->
+<!--        left join-->
+<!--            sys_training_registration str-->
+<!--        on-->
+<!--            str.train_exam_id = ke.id-->
+<!--        left join-->
+<!--            blade_user bu-->
+<!--        on-->
+<!--            bu.id = str.user_id-->
+<!--        where str.user_id = #{userId}-->
+<!--        and bu.is_train = 1-->
+<!--        and (str.is_exam = 1 or str.is_exam = 3)-->
+<!--        and ke.audit_status = 1-->
+<!--        and str.cancel = 1-->
+<!--        and str.audit_status = 1-->
+<!--        )-->
+<!--    </select>    、-->
+
+    <!--查询考试人员考试信息-->
     <select id="getExamDetail" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
-        (select
+        select
             ke.id,ke.exam_name examName,ke.start_time startTime,ke.end_time endTime,ke.exam_type examType,
-            sa.candidate_no candidateNo,sa.id applyId,
-            bu.real_name realName,bu.sex,bu.cardid idCardNo
-        from
-            ksxt_exam ke
-        left join
-            sys_apply sa
-        on
-            sa.exam_id = ke.id
-        left join
-            blade_user bu
-        on
-            bu.id = sa.user_id
-        where sa.user_id = #{userId}
-        and is_apply = 1
-        and is_exam = 1
-        and sa.apply_status = 2
-        )
-
-        union all
-
-        (select
-            ke.id,ke.exam_name examName,ke.start_time startTime,ke.end_time endTime,ke.exam_type examType,
-            str.candidate_no candidateNo,str.id applyId,
-            bu.real_name realName,bu.sex,bu.cardid idCardNo
+            str.candidate_no candidateNo,str.id applyId,str.is_exam isExam,
+            bu.real_name realName,bu.sex,bu.cardid idCardNo,
+            es.exam_time examStartTime,es.id scoreId
         from
             ksxt_exam ke
         left join
@@ -207,13 +233,18 @@
             blade_user bu
         on
             bu.id = str.user_id
+        left join
+			exam_score es
+		on
+		es.apply_id = str.id
         where str.user_id = #{userId}
         and bu.is_train = 1
-        and is_exam = 1
+        and (str.is_exam = 1 or str.is_exam = 3)
         and ke.audit_status = 1
         and str.cancel = 1
         and str.audit_status = 1
-        )
+        and ke.start_time &lt;= now() and ke.end_time &gt; now()
+        order by str.id desc
     </select>
 
     <!--查询是当前前缀已生成准考证号码最大的一位-->

--
Gitblit v1.9.3