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 | 357 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 353 insertions(+), 4 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 910ee3d..dfc1bce 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -5,19 +5,68 @@
<resultMap id="PagerSubject" type="org.springblade.modules.exam.vo.ExamPaperSubjectVO"
autoMapping="true">
<id property="id" column="id"/>
- <collection property="examExaminationSubjects" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true">
+ <collection property="examExaminationSubjects" javaType="java.util.List"
+ ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true">
<id property="id" column="tid"/>
- <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices" autoMapping="true">
+ <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices"
+ resultMap="brakesResult" autoMapping="true">
+ </association>
+ </collection>
+ </resultMap>
+
+ <resultMap id="PagerSubjectAnswer" type="org.springblade.modules.exam.vo.ExamPaperSubjectVO"
+ autoMapping="true">
+ <id property="id" column="id"/>
+ <collection property="examExaminationSubjects" javaType="java.util.List"
+ ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true">
+ <id property="id" column="tid"/>
+ <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices"
+ autoMapping="true">
<id property="id" column="sid"/>
</association>
</collection>
+ </resultMap>
+
+ <resultMap id="brakesResult" type="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
+ <id property="id" column="sid"/>
+ <id property="categoryId" column="category_id"/>
+ <id property="subjectName" column="subject_name"/>
+ <id property="choicesType" column="choices_type"/>
+ <id property="score" column="score"/>
+ <id property="analysis" column="analysis"/>
+ <id property="level" column="level"/>
+ <id property="creator" column="creator"/>
+ <id property="createDate" column="create_date"/>
+ <id property="modifier" column="modifier"/>
+ <id property="modifyDate" column="modify_date"/>
+ <id property="delFlag" column="del_flag"/>
+ <id property="applicationCode" column="application_code"/>
+ <id property="tenantCode" column="tenant_code"/>
+ </resultMap>
+
+ <resultMap id="RandomResult" type="org.springblade.modules.exam.vo.ExamSubjectChoicesVO">
+ <id property="id" column="id"/>
+ <id property="categoryId" column="category_id"/>
+ <id property="subjectName" column="subject_name"/>
+ <id property="choicesType" column="choices_type"/>
+ <id property="score" column="score"/>
+ <id property="answer" column=""/>
+ <id property="analysis" column="analysis"/>
+ <id property="level" column="level"/>
+ <id property="creator" column="creator"/>
+ <id property="createDate" column="create_date"/>
+ <id property="modifier" column="modifier"/>
+ <id property="modifyDate" column="modify_date"/>
+ <id property="delFlag" column="del_flag"/>
+ <id property="applicationCode" column="application_code"/>
+ <id property="tenantCode" column="tenant_code"/>
</resultMap>
<select id="queryPagerSubject" resultMap="PagerSubject">
SELECT
sj.*,
tm.id tid,
- tmxq.id as sid,tmxq.subject_name,tmxq.answer,tmxq.analysis
+ tmxq.id as sid,tmxq.*
FROM
ksxt_exam sj
LEFT JOIN exam_examination_subject tm ON sj.id = tm.examination_id
@@ -25,8 +74,308 @@
WHERE
1 = 1
<if test="paper.id !=null">
- and sj.id = #{paper.id}
+ and sj.id = #{paper.id}
</if>
</select>
+ <select id="queryRandomSubject" resultMap="RandomResult" >
+ 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="selectExamPaperPages" resultType="org.springblade.modules.exam.vo.ExamPaperVO">
+ SELECT
+ *
+ FROM
+ (SELECT
+ sj.*,
+ ( SELECT CASE WHEN COUNT ( * ) > 0 THEN 1 ELSE 0 END FROM sys_apply WHERE user_id = 11 ) AS show
+ FROM
+ ksxt_exam sj ) as s
+ WHERE
+ show = 1
+ </select>
+
+
+ <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 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!=''">
+ and exam_type = #{paper.examType}
+ </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}
+ </if>
+ order by start_time desc
+ </select>
+
+ <select id="PagerSubject" resultMap="PagerSubjectAnswer">
+ SELECT
+ sj.*,
+ tm.id tid,
+ tmxq.id as sid,tmxq.*
+ FROM
+ ksxt_exam sj
+ LEFT JOIN exam_examination_subject tm ON sj.id = tm.examination_id
+ LEFT JOIN exam_subject_choices tmxq ON tm.subject_id = tmxq.id
+ WHERE
+ 1 = 1
+ <if test="paper.id !=null">
+ and sj.id = #{paper.id}
+ </if>
+ </select>
+
+ <!--自定义树-->
+ <select id="selectExamPaperPageTree" resultType="org.springblade.modules.exam.entity.ExamPaper">
+ select id,exam_name examName from ksxt_exam
+ where
+ 1=1
+ <if test="paper.examName!=null and paper.examName!=''">
+ and exam_name like concat('%', #{paper.examName},'%')
+ </if>
+ <if test="paper.examType!=null">
+ and exam_type = #{paper.examType}
+ </if>
+ </select>
+
+ <delete id="UnbindSubject">
+ delete from exam_examination_subject where examination_id = #{paperid} and subject_id = #{subjectid}
+ </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
+ 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,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
+ sys_training_registration str
+ on
+ str.train_exam_id = ke.id
+ left join
+ 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 (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 <= now() and ke.end_time > now()
+ order by str.id desc
+ </select>
+
+ <!--查询是当前前缀已生成准考证号码最大的一位-->
+ <select id="getCandidateNoCount" resultType="java.lang.Integer">
+ 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.user_id userId
+ FROM
+ sys_training_registration str
+ left join
+ ksxt_exam ke
+ on
+ ke.id = str.train_exam_id
+ left join
+ blade_user bu
+ on
+ bu.id = str.user_id
+ where 1=1
+ and bu.is_train = 1
+ and str.is_exam = 1
+ and str.cancel = 1
+ and str.train_exam_id = #{id}
+ </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 count(*) from sys_apply
+ where
+ exam_id = #{examPaper.id}
+ and apply_status = 2
+ </select>
+
+ <!--查询当前考试的报名人员数量,模拟考试-->
+ <select id="getTrainNumber" 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}
+ </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>
+
+ <!--查询当前人员当前考试的考试题目信息-->
+ <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