|
|
@@ -5,17 +5,20 @@
|
|
|
<mapper namespace="com.xjrsoft.module.base.mapper.BaseClassCourseMapper">
|
|
|
<select id="getPage" parameterType="com.xjrsoft.module.base.dto.BaseClassCoursePageDto" resultType="com.xjrsoft.module.base.vo.BaseClassCoursePageVo">
|
|
|
SELECT t.id AS class_id, t.name AS class_name, t1.name AS teacher_name, t3.name AS major_name, t4.name AS dept_name,
|
|
|
- GROUP_CONCAT(DISTINCT t6.name SEPARATOR '、') AS course_name,
|
|
|
- GROUP_CONCAT(DISTINCT t7.book_name SEPARATOR '、') AS textbook_name
|
|
|
+ (SELECT GROUP_CONCAT(DISTINCT t6.name SEPARATOR '、')
|
|
|
+ FROM base_class_course t5
|
|
|
+ LEFT JOIN base_course_subject t6 ON t6.id = t5.course_id
|
|
|
+ WHERE t5.class_id = t.id AND t5.delete_mark = 0) AS course_name,
|
|
|
+ (SELECT GROUP_CONCAT(DISTINCT t7.book_name SEPARATOR '、')
|
|
|
+ FROM base_class_course t5
|
|
|
+ LEFT JOIN textbook t7 ON t7.id = t5.textbook_id
|
|
|
+ WHERE t5.class_id = t.id AND t5.delete_mark = 0) AS textbook_name
|
|
|
FROM base_class t
|
|
|
LEFT JOIN xjr_user t1 ON t1.id = t.teacher_id
|
|
|
LEFT JOIN base_class_major_set t2 ON t2.class_id = t.id
|
|
|
LEFT JOIN base_major_set t3 ON t3.id = t2.major_set_id
|
|
|
LEFT JOIN xjr_department t4 ON t4.id = t.org_id
|
|
|
- LEFT JOIN base_class_course t5 ON t5.class_id = t.id
|
|
|
- LEFT JOIN base_course_subject t6 ON t6.id = t5.course_id
|
|
|
- LEFT JOIN textbook t7 ON t7.id = t5.textbook_id
|
|
|
- WHERE t5.delete_mark = 0
|
|
|
+ WHERE t.delete_mark = 0
|
|
|
<if test="dto.className != null">
|
|
|
and t.name = #{dto.className}
|
|
|
</if>
|
|
|
@@ -23,13 +26,13 @@
|
|
|
and t4.id = #{dto.deptId}
|
|
|
</if>
|
|
|
<if test="dto.semester != null">
|
|
|
- and (
|
|
|
- SELECT base_semester_id
|
|
|
- FROM textbook
|
|
|
- WHERE t5.textbook_id = id
|
|
|
- GROUP BY base_semester_id
|
|
|
- HAVING COUNT(DISTINCT base_semester_id) = 1
|
|
|
- ) = #{dto.semester}
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM base_class_course bcc
|
|
|
+ JOIN textbook tb ON bcc.textbook_id = tb.id
|
|
|
+ WHERE bcc.class_id = t.id
|
|
|
+ AND tb.base_semester_id = #{dto.semester}
|
|
|
+ )
|
|
|
</if>
|
|
|
GROUP BY t.id, t.name, t1.name, t3.name, t4.name
|
|
|
<if test="dto.courseSet == 1">
|