From 8d43111bd0e598bc0b2014cbfa69a32e74959dff Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 15 Dec 2021 19:24:05 +0800
Subject: [PATCH] ftp sql 同步封装

---
 src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml |  170 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 131 insertions(+), 39 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 ab191c8..dfc1bce 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -101,9 +101,24 @@
 
     <select id="selectExamPaperPage" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
         SELECT
-            *
+            ke.*,
+            bu.real_name realName,
+            bd.dept_name deptName,
+            bu1.real_name confirmUserName
         FROM
-            ksxt_exam
+            ksxt_exam ke
+        left join
+            blade_user bu
+        on
+            ke.creator = bu.id
+        left join
+            blade_dept bd
+        on
+            bd.id = bu.dept_id
+        left join
+            blade_user bu1
+        on
+            ke.confirm_user = bu1.id
         where
         1=1
         <if test="paper.examType!=null and paper.examType!=''">
@@ -111,6 +126,9 @@
         </if>
         <if test="paper.examName!=null and paper.examName!=''">
             and exam_name like concat('%',#{paper.examName},'%')
+        </if>
+        <if test="paper.deptId!=null and paper.deptId!=''">
+            and bd.id = #{paper.deptId}
         </if>
         <if test="paper.auditStatus!=null and paper.auditStatus!=''">
             and audit_status = #{paper.auditStatus}
@@ -152,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
@@ -189,28 +233,30 @@
             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>
 
-    <!--查询前缀相同的准考证数量-->
+    <!--查询是当前前缀已生成准考证号码最大的一位-->
     <select id="getCandidateNoCount" resultType="java.lang.Integer">
-        select count(*) from sys_training_registration
-        where 1=1
-        <if test="result!=null and result!=''">
-            and candidate_no like concat('%', #{result},'%')
-        </if>
+        select ifnull(max(0+RIGHT(candidate_no,4)),0) from sys_training_registration
+        where candidate_no like concat('%', #{result},'%')
     </select>
 
     <!--查询当前考试已报名的人员培训报名数据集合-->
     <select id="getTrainList" resultType="org.springblade.modules.training.entity.TrainingRegistration">
         SELECT
-        str.id
+        str.id,str.user_id userId
         FROM
         sys_training_registration str
         left join
@@ -247,10 +293,14 @@
 
     <!--查询当前考试的报名人员数量,模拟考试-->
     <select id="getTrainNumber" resultType="java.lang.Integer">
-        select count(*) from sys_training_registration
+        select count(*) from sys_training_registration str
+        left join
+            blade_user bu
+        on
+            bu.id = str.user_id
         where
-        train_exam_id = #{examPaper.id}
-        and cancel = 1
+            bu.is_deleted = 0 and bu.status = 1
+        and train_exam_id = #{examPaper.id}
     </select>
 
     <!--根据用户id查询报名信息-->
@@ -286,4 +336,46 @@
         )
     </select>
 
+    <!--查询当前人员当前考试的考试题目信息-->
+    <select id="getExaminationSubjectList" resultType="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
+        SELECT
+            esc.id,esc.category_id,esc.subject_name,esc.choices_type,esc.score,esc.level
+        FROM
+            exam_subject_choices esc
+        left join
+        exam_examination_subject ees
+        on
+        esc.id = ees.subject_id
+        where 1=1
+        and ees.examination_id = #{examPaper.scoreId}
+    </select>
+
+    <!--批量新增考生考题信息-->
+    <insert id="insertBatch" parameterType="java.util.List">
+        insert into exam_examination_subject
+        (examination_id,category_id,subject_id)
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+                #{item.examinationId},
+                #{item.categoryId},
+                #{item.subjectId}
+            )
+        </foreach>
+    </insert>
+
+    <!--查询当前考试的报名人员数量,模拟考试-->
+    <select id="getExamNumber" resultType="java.lang.Integer">
+        select count(*) from sys_training_registration str
+        left join
+            blade_user bu
+        on
+            bu.id = str.user_id
+        where
+            bu.is_deleted = 0 and bu.status = 1
+        and train_exam_id = #{examPaper.id}
+        and (is_exam = 2 or is_exam = 3)
+        and cancel = 1
+    </select>
+
 </mapper>

--
Gitblit v1.9.3