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/ExamPaperMapper.xml |  106 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 96 insertions(+), 10 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 8bacda6..b9b1948 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -79,13 +79,13 @@
     </select>
 
     <select id="queryRandomSubject" resultMap="RandomResult" >
-        SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 0 ORDER BY RAND( ) LIMIT 50 ) a UNION ALL
-        SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 1 ORDER BY RAND( ) LIMIT 20 ) b UNION ALL
+        SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 0 ORDER BY RAND( ) LIMIT 25 ) a UNION ALL
+        SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 1 ORDER BY RAND( ) LIMIT 10 ) b UNION ALL
         SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 2 ORDER BY RAND( ) LIMIT 20 ) c UNION ALL
         SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 3 ORDER BY RAND( ) LIMIT 5 ) d
     </select>
 
-    <select id="selectExamPaperPage" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
+    <select id="selectExamPaperPages" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
         SELECT
             *
         FROM
@@ -96,6 +96,23 @@
                 ksxt_exam sj ) as s
         WHERE
             show = 1
+    </select>
+
+
+    <select id="selectExamPaperPage" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
+        SELECT
+            *
+        FROM
+            ksxt_exam
+        where
+        1=1
+        <if test="paper.examType!=null and paper.examType!=''">
+            and exam_type = #{paper.examType}
+        </if>
+        <if test="paper.examName!=null and paper.examName!=''">
+            and exam_name = #{paper.examName}
+        </if>
+        order by start_time desc
     </select>
 
     <select id="PagerSubject" resultMap="PagerSubjectAnswer">
@@ -134,9 +151,9 @@
     <!--查询考试人员考试信息-->
     <select id="getExamDetail" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
         (select
-            ke.id,ke.exam_name examName,
-            sa.candidate_no candidateNo,
-            bu.real_name realName,bu.sex
+            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
@@ -148,6 +165,7 @@
         on
             bu.id = sa.user_id
         where sa.user_id = #{userId}
+        and is_apply = 1
         and is_exam = 1
         and sa.apply_status = 2
         )
@@ -155,9 +173,9 @@
         union all
 
         (select
-            ke.id,ke.exam_name examName,
-            str.candidate_no candidateNo,
-            bu.real_name realName,bu.sex
+            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
@@ -169,8 +187,11 @@
         on
             bu.id = str.user_id
         where str.user_id = #{userId}
+        and bu.is_train = 1
         and is_exam = 1
-        and str.cancel = 3
+        and ke.audit_status = 1
+        and str.cancel = 1
+        and str.audit_status = 1
         )
     </select>
 
@@ -203,4 +224,69 @@
         and str.cancel = 1
     </select>
 
+    <!--使用考试名称匹配考试信息-->
+    <select id="getExamInfoByExamName" resultType="org.springblade.modules.exam.entity.ExamPaper">
+        SELECT
+            *
+        FROM
+            ksxt_exam
+        where exam_name like concat('%', #{examName},'%')
+    </select>
+
+    <!--查询当前考试的报名人员数量-->
+    <select id="getApplyNumber" resultType="java.lang.Integer">
+        select sum(a) from(
+            select count(*) a from sys_apply
+            where
+            exam_id = #{examPaper.id}
+            union all
+            (
+            select count(*) a from sys_training_registration
+            where
+            train_exam_id = #{examPaper.id}
+            )
+        ) c
+    </select>
+
+    <!--查询当前考试的报名人员数量,模拟考试-->
+    <select id="getTrainNumber" resultType="java.lang.Integer">
+        select count(*) from sys_training_registration
+        where
+        train_exam_id = #{examPaper.id}
+        and cancel = 1
+    </select>
+
+    <!--根据用户id查询报名信息-->
+    <select id="getApplyDetail" resultType="org.springblade.modules.apply.entity.Apply">
+        (select
+            sa.id as id
+        from
+            sys_apply sa
+        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
+            str.id as id
+        from
+            sys_training_registration str
+        left join
+            blade_user bu
+        on
+            bu.id = str.user_id
+        where str.user_id = #{userId}
+        and bu.is_train = 1
+        and is_exam = 1
+        and str.cancel = 1
+        )
+    </select>
+
 </mapper>

--
Gitblit v1.9.3