|
@@ -3,95 +3,112 @@
|
|
<mapper namespace="com.qmth.distributed.print.business.mapper.ExamPaperStructureMapper">
|
|
<mapper namespace="com.qmth.distributed.print.business.mapper.ExamPaperStructureMapper">
|
|
<select id="listByPropositionTeacherId"
|
|
<select id="listByPropositionTeacherId"
|
|
resultType="com.qmth.distributed.print.business.bean.dto.ExamPaperStructurePageDto">
|
|
resultType="com.qmth.distributed.print.business.bean.dto.ExamPaperStructurePageDto">
|
|
- SELECT
|
|
|
|
- distinct eps.id,
|
|
|
|
- ep.school_id schoolId,
|
|
|
|
- ep.exam_id examId,
|
|
|
|
- ep.third_relate_id thirdRelateId,
|
|
|
|
- ep.third_relate_name thirdRelateName,
|
|
|
|
- eps.objective_structure objectiveStructure,
|
|
|
|
- eps.subjective_structure subjectiveStructure,
|
|
|
|
- et.id examTaskId,
|
|
|
|
- ep.paper_number paperNumber,
|
|
|
|
- ep.course_code courseCode,
|
|
|
|
- ep.course_name courseName,
|
|
|
|
- et.sequence,
|
|
|
|
- eps.paper_info_json paperInfoJson,
|
|
|
|
- es.paper_type paperType,
|
|
|
|
- IFNULL(eps.status, 'INIT') status,
|
|
|
|
- eps.paper_answer paperAnswer,
|
|
|
|
- et.user_id propositionTeacherId,
|
|
|
|
- eps.mark_leader markLeader,
|
|
|
|
- et.transfer_id transferId
|
|
|
|
|
|
+ select
|
|
|
|
+ temp.*,
|
|
|
|
+ eps.objective_structure objectiveStructure,
|
|
|
|
+ eps.subjective_structure subjectiveStructure,
|
|
|
|
+ eps.paper_info_json paperInfoJson,
|
|
|
|
+ eps.paper_answer paperAnswer,
|
|
|
|
+ eps.mark_leader markLeader
|
|
|
|
+ from
|
|
|
|
+ (SELECT
|
|
|
|
+ ep.id,
|
|
|
|
+ ep.school_id schoolId,
|
|
|
|
+ ep.exam_id examId,
|
|
|
|
+ ep.third_relate_id thirdRelateId,
|
|
|
|
+ ep.third_relate_name thirdRelateName,
|
|
|
|
+ ep.examTaskId,
|
|
|
|
+ ep.paper_number paperNumber,
|
|
|
|
+ ep.course_code courseCode,
|
|
|
|
+ ep.course_name courseName,
|
|
|
|
+ ep.sequence,
|
|
|
|
+ es.paper_type paperType,
|
|
|
|
+ ep.status,
|
|
|
|
+ ep.propositionTeacherId,
|
|
|
|
+ ep.transferId
|
|
FROM
|
|
FROM
|
|
- (SELECT
|
|
|
|
- ed.school_id,
|
|
|
|
- ed.exam_id,
|
|
|
|
- edc.paper_number,
|
|
|
|
- edc.course_code,
|
|
|
|
- edc.course_name,
|
|
|
|
- ets.third_relate_id,
|
|
|
|
- tsse.exam_name third_relate_name
|
|
|
|
- FROM
|
|
|
|
- exam_detail ed
|
|
|
|
- LEFT JOIN exam_detail_course edc ON ed.id = edc.exam_detail_id
|
|
|
|
- LEFT JOIN exam_task_sync ets ON edc.school_id = ets.school_id
|
|
|
|
- AND ed.exam_id = ets.exam_id
|
|
|
|
- AND edc.paper_number = ets.paper_number
|
|
|
|
- LEFT JOIN t_sync_stmms_exam tsse ON edc.school_id = tsse.school_id
|
|
|
|
- AND ets.third_relate_id = tsse.exam_id
|
|
|
|
- LEFT JOIN basic_exam be ON ed.exam_id = be.id
|
|
|
|
- <where>
|
|
|
|
- AND ets.sync_status = #{syncStatus}
|
|
|
|
- AND be.enable = TRUE
|
|
|
|
- <if test="semesterId != null">
|
|
|
|
- and be.semester_id = #{semesterId}
|
|
|
|
- </if>
|
|
|
|
- <if test="examId != null">
|
|
|
|
- and be.id = #{examId}
|
|
|
|
- </if>
|
|
|
|
- </where>
|
|
|
|
- ) ep
|
|
|
|
- LEFT JOIN
|
|
|
|
- (SELECT DISTINCT
|
|
|
|
- es.school_id, es.exam_id, es.paper_number, es.paper_type
|
|
|
|
- FROM
|
|
|
|
- exam_student es
|
|
|
|
- JOIN basic_exam be ON es.exam_id = be.id
|
|
|
|
- <where>
|
|
|
|
- <if test="semesterId != null">
|
|
|
|
- and be.semester_id = #{semesterId}
|
|
|
|
- </if>
|
|
|
|
- <if test="examId != null">
|
|
|
|
- and be.id = #{examId}
|
|
|
|
- </if>
|
|
|
|
- </where>
|
|
|
|
- ) es ON es.school_id = ep.school_id
|
|
|
|
- AND es.exam_id = ep.exam_id
|
|
|
|
- AND es.paper_number = ep.paper_number
|
|
|
|
- LEFT JOIN
|
|
|
|
- exam_task et ON ep.school_id = et.school_id
|
|
|
|
- AND et.exam_id = ep.exam_id
|
|
|
|
- AND ep.paper_number = et.paper_number
|
|
|
|
- LEFT JOIN
|
|
|
|
- exam_paper_structure eps ON ep.school_id = eps.school_id
|
|
|
|
- AND et.exam_id = eps.exam_id
|
|
|
|
- AND ep.paper_number = eps.paper_number
|
|
|
|
- AND es.paper_type = eps.paper_type
|
|
|
|
- WHERE
|
|
|
|
- ep.school_id = #{schoolId}
|
|
|
|
- AND IFNULL(et.transfer_id, et.user_id) = #{propositionTeacherId}
|
|
|
|
|
|
+ (SELECT
|
|
|
|
+ distinct eps.id,
|
|
|
|
+ et.id as examTaskId,
|
|
|
|
+ et.sequence,
|
|
|
|
+ et.org_id orgId,
|
|
|
|
+ et.user_id propositionTeacherId,
|
|
|
|
+ et.transfer_id transferId,
|
|
|
|
+ ed.school_id,
|
|
|
|
+ ed.exam_id,
|
|
|
|
+ edc.paper_number,
|
|
|
|
+ edc.course_code,
|
|
|
|
+ edc.course_name,
|
|
|
|
+ ets.third_relate_id,
|
|
|
|
+ tsse.exam_name third_relate_name,
|
|
|
|
+ IFNULL(eps.status, 'INIT') status
|
|
|
|
+ FROM
|
|
|
|
+ exam_detail ed
|
|
|
|
+ left join exam_detail_course edc on
|
|
|
|
+ ed.id = edc.exam_detail_id
|
|
|
|
+ left join exam_task_sync ets on
|
|
|
|
+ edc.school_id = ets.school_id
|
|
|
|
+ and ed.exam_id = ets.exam_id
|
|
|
|
+ and edc.paper_number = ets.paper_number
|
|
|
|
+ left join t_sync_stmms_exam tsse on
|
|
|
|
+ edc.school_id = tsse.school_id
|
|
|
|
+ and ets.third_relate_id = tsse.exam_id
|
|
|
|
+ left join basic_exam be on
|
|
|
|
+ ed.exam_id = be.id
|
|
|
|
+ left join exam_task et on
|
|
|
|
+ et.school_id = ed.school_id
|
|
|
|
+ and et.paper_number = edc.paper_number
|
|
|
|
+ and et.exam_id = ed.exam_id
|
|
|
|
+ left join exam_paper_structure eps on
|
|
|
|
+ eps.school_id = ed.school_id
|
|
|
|
+ and eps.exam_id = et.exam_id
|
|
|
|
+ and eps.paper_number = edc.paper_number
|
|
|
|
+ and eps.paper_type = edc.paper_type
|
|
|
|
+ <where>1 = 1
|
|
|
|
+ and ed.school_id = #{schoolId}
|
|
|
|
+ AND ets.sync_status = #{syncStatus}
|
|
|
|
+ AND be.enable = TRUE
|
|
|
|
+ <if test="semesterId != null">
|
|
|
|
+ and be.semester_id = #{semesterId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="examId != null">
|
|
|
|
+ and be.id = #{examId}
|
|
|
|
+ </if>
|
|
|
|
+ </where>
|
|
|
|
+ ) ep
|
|
|
|
+ LEFT JOIN
|
|
|
|
+ (SELECT DISTINCT
|
|
|
|
+ es.school_id, es.exam_id, es.paper_number, es.paper_type
|
|
|
|
+ FROM
|
|
|
|
+ exam_student es
|
|
|
|
+ JOIN basic_exam be ON es.exam_id = be.id
|
|
|
|
+ <where>1 = 1
|
|
|
|
+ and es.school_id = #{schoolId}
|
|
|
|
+ <if test="semesterId != null">
|
|
|
|
+ and be.semester_id = #{semesterId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="examId != null">
|
|
|
|
+ and be.id = #{examId}
|
|
|
|
+ </if>
|
|
|
|
+ </where>
|
|
|
|
+ ) es ON es.exam_id = ep.exam_id
|
|
|
|
+ and es.paper_number = ep.paper_number
|
|
|
|
+ WHERE 1 = 1
|
|
|
|
+ and (ep.transferId = #{propositionTeacherId}
|
|
|
|
+ or ep.propositionTeacherId = #{propositionTeacherId})
|
|
<if test="structureStatusEnums != null and structureStatusEnums != ''">
|
|
<if test="structureStatusEnums != null and structureStatusEnums != ''">
|
|
<choose>
|
|
<choose>
|
|
<when test="ready != null and ready != '' and ready == true">
|
|
<when test="ready != null and ready != '' and ready == true">
|
|
- AND eps.status IN
|
|
|
|
- <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator="," close=")">
|
|
|
|
|
|
+ AND ep.status IN
|
|
|
|
+ <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator=
|
|
|
|
+ "," close=")">
|
|
#{item}
|
|
#{item}
|
|
</foreach>
|
|
</foreach>
|
|
</when>
|
|
</when>
|
|
<otherwise>
|
|
<otherwise>
|
|
- AND ifnull(eps.status, 'INIT') NOT IN
|
|
|
|
- <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator="," close=")">
|
|
|
|
|
|
+ AND ifnull(ep.status, 'INIT') NOT IN
|
|
|
|
+ <foreach collection="structureStatusEnums" item="item" index="index" open="(" separator
|
|
|
|
+ ="," close=")">
|
|
#{item}
|
|
#{item}
|
|
</foreach>
|
|
</foreach>
|
|
</otherwise>
|
|
</otherwise>
|
|
@@ -99,14 +116,17 @@
|
|
</if>
|
|
</if>
|
|
<if test="dpr != null">
|
|
<if test="dpr != null">
|
|
<if test="dpr.requestUserId != null">
|
|
<if test="dpr.requestUserId != null">
|
|
- AND et.user_id = #{dpr.requestUserId}
|
|
|
|
|
|
+ AND ep.propositionTeacherId = #{dpr.requestUserId}
|
|
</if>
|
|
</if>
|
|
<if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
|
|
<if test="dpr.orgIdSet != null and dpr.orgIdSet != '' and dpr.orgIdSet.size > 0">
|
|
- AND et.org_id IN
|
|
|
|
|
|
+ AND ep.orgId IN
|
|
<foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
|
|
<foreach collection="dpr.orgIdSet" item="item" index="index" open="(" separator="," close=")">
|
|
#{item}
|
|
#{item}
|
|
</foreach>
|
|
</foreach>
|
|
</if>
|
|
</if>
|
|
</if>
|
|
</if>
|
|
|
|
+ ) temp
|
|
|
|
+ left join exam_paper_structure eps on
|
|
|
|
+ eps.id = temp.id
|
|
</select>
|
|
</select>
|
|
</mapper>
|
|
</mapper>
|