Administrator
2021-07-22 33a072160eda4fa7cb22d330c2bfa9048ad6c0e9
src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -2,77 +2,101 @@
<!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="noticeResultMap" type="org.springblade.modules.exam.entity.ExamPaper">
        <result column="id" property="id"/>
        <result column="create_user" property="createUser"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="release_time" property="releaseTime"/>
        <result column="title" property="title"/>
        <result column="content" property="content"/>
    <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="noticeVOResultMap" type="org.springblade.modules.exam.vo.ExamPaperVO">
        <result column="id" property="id"/>
        <result column="create_user" property="createUser"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="release_time" property="releaseTime"/>
        <result column="title" property="title"/>
        <result column="content" property="content"/>
    <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>
    <select id="topList" resultMap="noticeResultMap">
        select * from blade_notice limit #{number}
    </select>
    <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>
    <select id="selectNoticePage" resultMap="noticeVOResultMap">
    <select id="queryPagerSubject" resultMap="PagerSubject">
        SELECT
        n.*,
        d.dict_value AS categoryName
        sj.*,
        tm.id tid,
        tmxq.id as sid,tmxq.*
        FROM
        blade_notice n
        LEFT JOIN
        ( SELECT * FROM blade_dict WHERE code = 'notice' ) d
        ON
        n.category = d.dict_key
        <if test="notice.deptId!=null and notice.jurisdiction!=null">
            left join
            blade_user bu
            on
            bu.dept_id = n.dept_id
        </if>
        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
        n.is_deleted = 0
        <if test="notice.title!=null">
            and n.title like concat(concat('%', #{notice.title}), '%')
        </if>
        <if test="notice.category!=null">
            and n.category = #{notice.category}
        </if>
        <if test="notice.deptId!=null and notice.jurisdiction!=null">
            and (n.dept_id = #{notice.deptId} or bu.jurisdiction = #{notice.jurisdiction}
            or n.dept_id = 1123598813738675201
            )
        </if>
        <if test="notice.deptId!=null and notice.jurisdiction==null">
            and (n.dept_id = #{notice.deptId} and n.category=2
            or n.dept_id = 1123598813738675201
            )
        </if>
        <if test="notice.startTime!=null and notice.startTime!=''">
            and n.release_time &gt;= #{notice.startTime}
        </if>
        <if test="notice.endTime!=null and notice.endTime!=''">
            and n.release_time &lt;= #{notice.endTime}
        1 = 1
        <if test="paper.id !=null">
        and sj.id = #{paper.id}
        </if>
    </select>
    <select id="selectExamPaperPage" 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="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>
    </select>
    <delete id="UnbindSubject">
       delete from exam_examination_subject where examination_id = #{paperid} and subject_id = #{subjectid}
    </delete>
</mapper>