<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="org.springblade.modules.exam.mapper.ExamPaperMapper">
|
|
<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">
|
<id property="id" column="tid"/>
|
<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.*
|
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="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
|
*
|
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">
|
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 is_exam = 1
|
and ke.audit_status = 1
|
and str.cancel = 1
|
and str.audit_status = 1
|
)
|
</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>
|
|
<!--查询当前考试已报名的人员培训报名数据集合-->
|
<select id="getTrainList" resultType="org.springblade.modules.training.entity.TrainingRegistration">
|
SELECT
|
str.id
|
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
|
</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>
|