|
@@ -4,233 +4,240 @@
|
|
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
|
<resultMap id="BaseResultMap" type="com.qmth.distributed.print.business.entity.ExamStudent">
|
|
|
- <result column="id" property="id" />
|
|
|
- <result column="school_id" property="schoolId" />
|
|
|
- <result column="exam_detail_course_id" property="examDetailCourseId" />
|
|
|
- <result column="student_name" property="studentName" />
|
|
|
- <result column="student_code" property="studentCode" />
|
|
|
- <result column="ticket_number" property="ticketNumber" />
|
|
|
- <result column="site_number" property="siteNumber" />
|
|
|
- <result column="print_paper" property="printPaper" />
|
|
|
- <result column="print_card" property="printCard" />
|
|
|
- <result column="extend_fields" property="extendFields" />
|
|
|
- <result column="paper_type" property="paperType" />
|
|
|
+ <result column="id" property="id"/>
|
|
|
+ <result column="school_id" property="schoolId"/>
|
|
|
+ <result column="exam_detail_course_id" property="examDetailCourseId"/>
|
|
|
+ <result column="student_name" property="studentName"/>
|
|
|
+ <result column="student_code" property="studentCode"/>
|
|
|
+ <result column="ticket_number" property="ticketNumber"/>
|
|
|
+ <result column="site_number" property="siteNumber"/>
|
|
|
+ <result column="print_paper" property="printPaper"/>
|
|
|
+ <result column="print_card" property="printCard"/>
|
|
|
+ <result column="extend_fields" property="extendFields"/>
|
|
|
+ <result column="paper_type" property="paperType"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<!-- 通用查询结果列 -->
|
|
|
<sql id="Base_Column_List">
|
|
|
- id,
|
|
|
+ id
|
|
|
+ ,
|
|
|
school_id, exam_detail_course_id, student_name, student_code, ticket_number, site_number, print_paper, print_card, extend_fields, paper_type
|
|
|
</sql>
|
|
|
<insert id="insertBatch">
|
|
|
- insert into exam_student (id, school_id, org_id, exam_detail_course_id, student_name, student_code, ticket_number, site_number, extend_fields, clazz_id, clazz_name, campus_name, create_id) values
|
|
|
+ insert into exam_student (id, school_id, org_id, exam_detail_course_id, student_name, student_code,
|
|
|
+ ticket_number, site_number, extend_fields, clazz_id, clazz_name, campus_name, create_id) values
|
|
|
<foreach collection="examStudents" separator="," item="item">
|
|
|
- (#{item.id}, #{item.schoolId}, #{item.orgId}, #{item.examDetailCourseId}, #{item.studentName}, #{item.studentCode}, #{item.ticketNumber}, #{item.siteNumber}, #{item.extendFields}, #{item.clazzId}, #{item.clazzName}, #{item.campusName}, #{item.createId})
|
|
|
+ (#{item.id}, #{item.schoolId}, #{item.orgId}, #{item.examDetailCourseId}, #{item.studentName},
|
|
|
+ #{item.studentCode}, #{item.ticketNumber}, #{item.siteNumber}, #{item.extendFields}, #{item.clazzId},
|
|
|
+ #{item.clazzName}, #{item.campusName}, #{item.createId})
|
|
|
</foreach>
|
|
|
</insert>
|
|
|
<select id="getStudentDetail" resultType="java.util.Map">
|
|
|
- SELECT
|
|
|
- a.student_name studentName,
|
|
|
- a.student_code studentCode,
|
|
|
- a.ticket_number ticketNumber,
|
|
|
- a.site_number siteNumber,
|
|
|
- a.extend_fields extendFields,
|
|
|
- b.course_code courseCode,
|
|
|
- b.course_name courseName,
|
|
|
- b.paper_number paperNumber,
|
|
|
- c.exam_start_time examStartTime,
|
|
|
- c.exam_end_time examEndTime,
|
|
|
- c.exam_place examPlace,
|
|
|
- c.exam_room examRoom
|
|
|
- FROM
|
|
|
- exam_student a
|
|
|
- LEFT JOIN
|
|
|
- exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
- LEFT JOIN
|
|
|
- exam_detail c ON b.exam_detail_id = c.id
|
|
|
- WHERE
|
|
|
- a.id = #{id}
|
|
|
+ SELECT a.student_name studentName,
|
|
|
+ a.student_code studentCode,
|
|
|
+ a.ticket_number ticketNumber,
|
|
|
+ a.site_number siteNumber,
|
|
|
+ a.extend_fields extendFields,
|
|
|
+ b.course_code courseCode,
|
|
|
+ b.course_name courseName,
|
|
|
+ b.paper_number paperNumber,
|
|
|
+ c.exam_start_time examStartTime,
|
|
|
+ c.exam_end_time examEndTime,
|
|
|
+ c.exam_place examPlace,
|
|
|
+ c.exam_room examRoom
|
|
|
+ FROM exam_student a
|
|
|
+ LEFT JOIN
|
|
|
+ exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
+ LEFT JOIN
|
|
|
+ exam_detail c ON b.exam_detail_id = c.id
|
|
|
+ WHERE a.id = #{id}
|
|
|
</select>
|
|
|
|
|
|
- <select id="queryBySchoolIdAndExamDetailCourseIds" resultType="com.qmth.distributed.print.business.bean.dto.ExamStudentCourseDto">
|
|
|
+ <select id="queryBySchoolIdAndExamDetailCourseIds"
|
|
|
+ resultType="com.qmth.distributed.print.business.bean.dto.ExamStudentCourseDto">
|
|
|
select
|
|
|
- es.id,
|
|
|
- es.school_id as schoolId,
|
|
|
- es.exam_detail_course_id as examDetailCourseId,
|
|
|
- es.student_name as studentName,
|
|
|
- es.student_code as studentCode,
|
|
|
- es.ticket_number as ticketNumber,
|
|
|
- es.site_number as siteNumber,
|
|
|
- es.print_paper as printPaper,
|
|
|
- es.print_card as printCard,
|
|
|
- es.extend_fields as extendFields,
|
|
|
- es.paper_type as paperType,
|
|
|
- es.create_id as createId,
|
|
|
- es.create_time as createTime,
|
|
|
- es.update_id as updateId,
|
|
|
- es.update_time as updateTime,
|
|
|
- es.attachment_id as attachmentId,
|
|
|
- edc.course_code as courseCode,
|
|
|
- edc.course_name as courseName,
|
|
|
- edc.paper_pages_a3 as paperPageA3,
|
|
|
- edc.paper_number as paperNumber,
|
|
|
- es.clazz_id clazzId,
|
|
|
- es.clazz_name clazzName
|
|
|
+ es.id,
|
|
|
+ es.school_id as schoolId,
|
|
|
+ es.exam_detail_course_id as examDetailCourseId,
|
|
|
+ es.student_name as studentName,
|
|
|
+ es.student_code as studentCode,
|
|
|
+ es.ticket_number as ticketNumber,
|
|
|
+ es.site_number as siteNumber,
|
|
|
+ es.print_paper as printPaper,
|
|
|
+ es.print_card as printCard,
|
|
|
+ es.extend_fields as extendFields,
|
|
|
+ es.paper_type as paperType,
|
|
|
+ es.create_id as createId,
|
|
|
+ es.create_time as createTime,
|
|
|
+ es.update_id as updateId,
|
|
|
+ es.update_time as updateTime,
|
|
|
+ es.attachment_id as attachmentId,
|
|
|
+ edc.course_code as courseCode,
|
|
|
+ edc.course_name as courseName,
|
|
|
+ edc.paper_pages_a3 as paperPageA3,
|
|
|
+ edc.paper_number as paperNumber,
|
|
|
+ es.clazz_id clazzId,
|
|
|
+ es.clazz_name clazzName
|
|
|
from
|
|
|
- exam_student es
|
|
|
+ exam_student es
|
|
|
left join exam_detail_course edc on
|
|
|
- edc.id = es.exam_detail_course_id
|
|
|
- <where>
|
|
|
- <if test="schoolId != null and schoolId != ''">
|
|
|
- and es.school_id = #{schoolId}
|
|
|
- </if>
|
|
|
- <if test="examDetailCourseIds != null">
|
|
|
- AND edc.id IN
|
|
|
- <foreach collection="examDetailCourseIds" item="examDetailCourseId" index="index" open="(" separator="," close=")">
|
|
|
- #{examDetailCourseId}
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- order by edc.course_code, 0+ cast(es.site_number as char)
|
|
|
+ edc.id = es.exam_detail_course_id
|
|
|
+ <where>
|
|
|
+ <if test="schoolId != null and schoolId != ''">
|
|
|
+ and es.school_id = #{schoolId}
|
|
|
+ </if>
|
|
|
+ <if test="examDetailCourseIds != null">
|
|
|
+ AND edc.id IN
|
|
|
+ <foreach collection="examDetailCourseIds" item="examDetailCourseId" index="index" open="(" separator=","
|
|
|
+ close=")">
|
|
|
+ #{examDetailCourseId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ order by edc.course_code, 0+ cast(es.site_number as char)
|
|
|
</select>
|
|
|
<select id="listStudentByPrintPlanIdAndSyncStatus"
|
|
|
resultType="com.qmth.distributed.print.business.bean.dto.SyncExamStudentDto">
|
|
|
- SELECT
|
|
|
- a.id,
|
|
|
- b.course_code courseCode,
|
|
|
- b.course_name courseName,
|
|
|
- b.paper_number paperNumber,
|
|
|
- a.student_name studentName,
|
|
|
- a.student_code studentCode,
|
|
|
- a.ticket_number ticketNumber,
|
|
|
- a.clazz_name clazzName,
|
|
|
- a.extend_fields extendFields,
|
|
|
- a.paper_type paperType,
|
|
|
- et.sequence
|
|
|
- FROM
|
|
|
- exam_student a
|
|
|
- LEFT JOIN
|
|
|
- exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
- LEFT JOIN
|
|
|
- exam_detail c ON b.exam_detail_id = c.id
|
|
|
- LEFT JOIN
|
|
|
- exam_task et ON b.school_id = et.school_id
|
|
|
- and b.course_code = et.course_code
|
|
|
- and b.paper_number = et.paper_number
|
|
|
- WHERE
|
|
|
- c.print_plan_id = #{printPlanId}
|
|
|
+ SELECT a.id,
|
|
|
+ b.course_code courseCode,
|
|
|
+ b.course_name courseName,
|
|
|
+ b.paper_number paperNumber,
|
|
|
+ a.student_name studentName,
|
|
|
+ a.student_code studentCode,
|
|
|
+ a.ticket_number ticketNumber,
|
|
|
+ a.clazz_name clazzName,
|
|
|
+ a.extend_fields extendFields,
|
|
|
+ a.paper_type paperType,
|
|
|
+ et.sequence
|
|
|
+ FROM exam_student a
|
|
|
+ LEFT JOIN
|
|
|
+ exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
+ LEFT JOIN
|
|
|
+ exam_detail c ON b.exam_detail_id = c.id
|
|
|
+ LEFT JOIN
|
|
|
+ exam_task et ON b.school_id = et.school_id
|
|
|
+ and b.course_code = et.course_code
|
|
|
+ and b.paper_number = et.paper_number
|
|
|
+ WHERE c.print_plan_id = #{printPlanId}
|
|
|
</select>
|
|
|
<select id="listExamStudentBySchoolIdAndClazzId"
|
|
|
resultType="com.qmth.distributed.print.business.entity.ExamStudent">
|
|
|
SELECT
|
|
|
- *
|
|
|
+ *
|
|
|
FROM
|
|
|
- (SELECT
|
|
|
- bs.school_id AS schoolId,
|
|
|
- bs.student_code AS studentCode,
|
|
|
- bs.student_name AS studentName,
|
|
|
- bs.clazz_id AS clazzId,
|
|
|
- bc.clazz_name AS clazzName,
|
|
|
- bca.campus_name campusName
|
|
|
- FROM
|
|
|
- basic_student bs
|
|
|
- INNER JOIN basic_clazz bc ON bs.clazz_id = bc.id
|
|
|
- LEFT JOIN basic_campus bca ON bs.campus_id = bca.id
|
|
|
- <where>
|
|
|
- <if test="schoolId != null and schoolId != ''">
|
|
|
- AND bs.school_id = #{schoolId}
|
|
|
- </if>
|
|
|
- <if test="classId != null and classId != ''">
|
|
|
- AND bc.id = #{classId}
|
|
|
- </if>
|
|
|
- </where>
|
|
|
+ (SELECT
|
|
|
+ bs.school_id AS schoolId,
|
|
|
+ bs.student_code AS studentCode,
|
|
|
+ bs.student_name AS studentName,
|
|
|
+ bs.clazz_id AS clazzId,
|
|
|
+ bc.clazz_name AS clazzName,
|
|
|
+ bca.campus_name campusName
|
|
|
+ FROM
|
|
|
+ basic_student bs
|
|
|
+ INNER JOIN basic_clazz bc ON bs.clazz_id = bc.id
|
|
|
+ LEFT JOIN basic_campus bca ON bs.campus_id = bca.id
|
|
|
+ <where>
|
|
|
+ <if test="schoolId != null and schoolId != ''">
|
|
|
+ AND bs.school_id = #{schoolId}
|
|
|
+ </if>
|
|
|
+ <if test="classId != null and classId != ''">
|
|
|
+ AND bc.id = #{classId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
UNION
|
|
|
- SELECT
|
|
|
- ts.school_id AS schoolId,
|
|
|
- bs.student_code AS studentCode,
|
|
|
- bs.student_name AS studentName,
|
|
|
- ts.teach_clazz_id AS clazzId,
|
|
|
- tc.teach_clazz_name AS clazzName,
|
|
|
- bca.campus_name campusName
|
|
|
- FROM
|
|
|
- teach_student ts
|
|
|
- join basic_student bs on ts.student_id = bs.id
|
|
|
- INNER JOIN teach_clazz tc ON ts.teach_clazz_id = tc.id
|
|
|
- LEFT JOIN basic_campus bca ON bs.campus_id = bca.id
|
|
|
- <where>
|
|
|
- <if test="schoolId != null and schoolId != ''">
|
|
|
- AND ts.school_id = #{schoolId}
|
|
|
- </if>
|
|
|
- <if test="classId != null and classId != ''">
|
|
|
- AND tc.id = #{classId}
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- ) t0;
|
|
|
- </select>
|
|
|
- <select id="getSysOrgByBelongOrgId" resultType="com.qmth.teachcloud.common.entity.SysOrg">
|
|
|
SELECT
|
|
|
- so.id, so.name
|
|
|
+ ts.school_id AS schoolId,
|
|
|
+ bs.student_code AS studentCode,
|
|
|
+ bs.student_name AS studentName,
|
|
|
+ ts.teach_clazz_id AS clazzId,
|
|
|
+ tc.teach_clazz_name AS clazzName,
|
|
|
+ bca.campus_name campusName
|
|
|
FROM
|
|
|
- basic_student bs
|
|
|
- LEFT JOIN
|
|
|
- sys_org so ON bs.belong_org_id = so.id
|
|
|
- WHERE
|
|
|
- bs.student_code = #{studentCode}
|
|
|
- and bs.school_id = #{schoolId}
|
|
|
+ teach_student ts
|
|
|
+ join basic_student bs on ts.student_id = bs.id
|
|
|
+ INNER JOIN teach_clazz tc ON ts.teach_clazz_id = tc.id
|
|
|
+ LEFT JOIN basic_campus bca ON bs.campus_id = bca.id
|
|
|
+ <where>
|
|
|
+ <if test="schoolId != null and schoolId != ''">
|
|
|
+ AND ts.school_id = #{schoolId}
|
|
|
+ </if>
|
|
|
+ <if test="classId != null and classId != ''">
|
|
|
+ AND tc.id = #{classId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ ) t0;
|
|
|
+ </select>
|
|
|
+ <select id="getSysOrgByBelongOrgId" resultType="com.qmth.teachcloud.common.entity.SysOrg">
|
|
|
+ SELECT so.id,
|
|
|
+ so.name
|
|
|
+ FROM basic_student bs
|
|
|
+ LEFT JOIN
|
|
|
+ sys_org so ON bs.belong_org_id = so.id
|
|
|
+ WHERE bs.student_code = #{studentCode}
|
|
|
+ and bs.school_id = #{schoolId}
|
|
|
</select>
|
|
|
<select id="getByStudentId"
|
|
|
resultType="com.qmth.distributed.print.business.bean.dto.ExamStudentPdfInfoDto">
|
|
|
- SELECT
|
|
|
- a.student_code studentCode,
|
|
|
- a.student_name studentName,
|
|
|
- a.ticket_number ticketNumber,
|
|
|
- a.site_number siteNumber,
|
|
|
- a.extend_fields extendFields,
|
|
|
- a.paper_type paperType,
|
|
|
- a.clazz_id clazzId,
|
|
|
- a.clazz_name clazzName,
|
|
|
- a.campus_name campusName,
|
|
|
- a.attachment_id attachmentId,
|
|
|
- b.course_code courseCode,
|
|
|
- b.course_name courseName,
|
|
|
- b.paper_number paperNumber,
|
|
|
- c.exam_place examPlace,
|
|
|
- c.exam_room examRoom
|
|
|
- FROM
|
|
|
- exam_student a
|
|
|
- JOIN
|
|
|
- exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
- JOIN
|
|
|
- exam_detail c ON b.exam_detail_id = c.id
|
|
|
- WHERE
|
|
|
- a.id = #{id}
|
|
|
+ SELECT a.student_code studentCode,
|
|
|
+ a.student_name studentName,
|
|
|
+ a.ticket_number ticketNumber,
|
|
|
+ a.site_number siteNumber,
|
|
|
+ a.extend_fields extendFields,
|
|
|
+ a.paper_type paperType,
|
|
|
+ a.clazz_id clazzId,
|
|
|
+ a.clazz_name clazzName,
|
|
|
+ a.campus_name campusName,
|
|
|
+ a.attachment_id attachmentId,
|
|
|
+ b.course_code courseCode,
|
|
|
+ b.course_name courseName,
|
|
|
+ b.paper_number paperNumber,
|
|
|
+ c.exam_place examPlace,
|
|
|
+ c.exam_room examRoom
|
|
|
+ FROM exam_student a
|
|
|
+ JOIN
|
|
|
+ exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
+ JOIN
|
|
|
+ exam_detail c ON b.exam_detail_id = c.id
|
|
|
+ WHERE a.id = #{id}
|
|
|
</select>
|
|
|
<select id="listStudentScoreSync" resultType="java.util.Map">
|
|
|
+ SELECT a.clazz_id clazzId,
|
|
|
+ b.course_code courseCode,
|
|
|
+ b.paper_number paperNumber,
|
|
|
+ a.paper_type paperType,
|
|
|
+ d.sequence
|
|
|
+ FROM (SELECT *
|
|
|
+ FROM exam_student
|
|
|
+ WHERE school_id = #{schoolId}
|
|
|
+ AND student_code = #{studentCode}
|
|
|
+ AND ticket_number = #{examNumber}) a
|
|
|
+ JOIN
|
|
|
+ exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
+ JOIN
|
|
|
+ exam_detail c ON b.exam_detail_id = c.id
|
|
|
+ JOIN
|
|
|
+ exam_task d ON b.school_id = d.school_id
|
|
|
+ AND b.course_code = d.course_code
|
|
|
+ AND b.paper_number = d.paper_number
|
|
|
+ WHERE c.print_plan_id = #{printPlanId}
|
|
|
+ AND CONCAT(b.course_code, a.paper_type, d.sequence) = #{subjectCode}
|
|
|
+ </select>
|
|
|
+ <select id="listExamStudentByPaperNumberAndPaperType"
|
|
|
+ resultType="com.qmth.distributed.print.business.bean.dto.ExamStudentCourseDto">
|
|
|
SELECT
|
|
|
- a.clazz_id clazzId,
|
|
|
- b.course_code courseCode,
|
|
|
- b.paper_number paperNumber,
|
|
|
- a.paper_type paperType,
|
|
|
- d.sequence
|
|
|
+ edc.course_code courseCode,
|
|
|
+ edc.course_name courseName,
|
|
|
+ edc.paper_number paperNumber,
|
|
|
+ es.paper_type paperType,
|
|
|
+ es.student_name studentName,
|
|
|
+ es.student_code studentCode,
|
|
|
+ es.ticket_number ticketNumber
|
|
|
FROM
|
|
|
- (SELECT
|
|
|
- *
|
|
|
- FROM
|
|
|
- exam_student
|
|
|
- WHERE
|
|
|
- school_id = #{schoolId} AND student_code = #{studentCode}
|
|
|
- AND ticket_number = #{examNumber}) a
|
|
|
- JOIN
|
|
|
- exam_detail_course b ON a.exam_detail_course_id = b.id
|
|
|
- JOIN
|
|
|
- exam_detail c ON b.exam_detail_id = c.id
|
|
|
+ exam_student es
|
|
|
JOIN
|
|
|
- exam_task d ON b.school_id = d.school_id
|
|
|
- AND b.course_code = d.course_code
|
|
|
- AND b.paper_number = d.paper_number
|
|
|
+ exam_detail_course edc ON es.exam_detail_course_id = edc.id
|
|
|
WHERE
|
|
|
- c.print_plan_id = #{printPlanId}
|
|
|
- AND CONCAT(b.course_code, a.paper_type, d.sequence) = #{subjectCode}
|
|
|
+ edc.paper_number = #{paperNumber}
|
|
|
+ AND es.paper_type = #{paperType}
|
|
|
</select>
|
|
|
-
|
|
|
</mapper>
|