智慧保安后台管理-外网项目备份
Administrator
2021-12-15 8d43111bd0e598bc0b2014cbfa69a32e74959dff
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,44 @@
                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">
@@ -122,6 +160,9 @@
        <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">
@@ -129,32 +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
            ke.id,ke.exam_name examName,
            sa.candidate_no candidateNo,
            bu.real_name realName,bu.sex
        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_exam = 1
        and sa.apply_status = 2
        )
        union all
        (select
            ke.id,ke.exam_name examName,
            str.candidate_no candidateNo,
            bu.real_name realName,bu.sex
        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
@@ -165,10 +233,149 @@
            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 &lt;= now() and ke.end_time &gt; 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 str.cancel = 3
        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>