|
@@ -8,11 +8,24 @@
|
|
|
(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,
|
|
|
+ WHERE t5.class_id = t.id
|
|
|
+ AND t5.delete_mark = 0
|
|
|
+ <if test="dto.semester != null">
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM textbook tb
|
|
|
+ WHERE tb.id = t5.textbook_id
|
|
|
+ AND tb.base_semester_id = #{dto.semester}
|
|
|
+ )
|
|
|
+ </if>) 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
|
|
|
+ WHERE t5.class_id = t.id
|
|
|
+ AND t5.delete_mark = 0
|
|
|
+ <if test="dto.semester != null">
|
|
|
+ AND t7.base_semester_id = #{dto.semester}
|
|
|
+ </if>) 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
|
|
@@ -25,15 +38,6 @@
|
|
|
<if test="dto.deptId != null">
|
|
|
and t4.id = #{dto.deptId}
|
|
|
</if>
|
|
|
-<!-- 关联学期 <if test="dto.semester != null">-->
|
|
|
-<!-- 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">
|
|
|
HAVING LENGTH(course_name) > 0
|
|
@@ -45,14 +49,22 @@
|
|
|
|
|
|
|
|
|
<select id="getAllCourseBook" resultType="com.xjrsoft.module.base.entity.CourseBookInfo">
|
|
|
- select t1.id as courseId, t1.name as courseName,t.book_name as bookName
|
|
|
- from textbook t
|
|
|
- left join base_course_subject t1 on t.course_subject_id = t1.id
|
|
|
- left join subject_group t2 on t2.id = t.subject_group_id
|
|
|
- where t.delete_mark = 0
|
|
|
+ SELECT t1.id AS courseId, t1.name AS courseName, t.book_name AS bookName
|
|
|
+ FROM textbook t
|
|
|
+ LEFT JOIN base_course_subject t1 ON t.course_subject_id = t1.id
|
|
|
+ LEFT JOIN subject_group t2 ON t2.id = t.subject_group_id
|
|
|
+ WHERE t.delete_mark = 0
|
|
|
<if test="subjectGroupId != null">
|
|
|
AND t2.id = #{subjectGroupId}
|
|
|
</if>
|
|
|
+ <if test="semester != null">
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM textbook tb
|
|
|
+ WHERE tb.id = t.id
|
|
|
+ AND tb.base_semester_id = #{semester}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
</select>
|
|
|
|
|
|
<select id="getSelectedCourseBook" resultType="com.xjrsoft.module.base.entity.CourseBookInfo">
|
|
@@ -67,6 +79,14 @@
|
|
|
#{classIds}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
+ <if test="semester != null">
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM textbook tb
|
|
|
+ WHERE tb.id = t.textbook_id
|
|
|
+ AND tb.base_semester_id = #{semester}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
<!-- <if test="subjectGroupId != null">-->
|
|
|
<!-- AND-->
|
|
|
<!-- </if>-->
|
|
@@ -97,16 +117,24 @@
|
|
|
</update>
|
|
|
|
|
|
<insert id="insertClassCourseTextbookCombinations" parameterType="map">
|
|
|
- INSERT INTO base_class_course (class_id, course_id, textbook_id, create_date, delete_mark,enabled_mark)
|
|
|
- SELECT #{newClassId}, t.course_id, t.textbook_id, now(), 0, 1
|
|
|
- FROM (
|
|
|
- SELECT course_id, textbook_id
|
|
|
- FROM base_class_course
|
|
|
- WHERE class_id = #{sourceClassId}
|
|
|
- AND delete_mark = 0
|
|
|
- GROUP BY course_id, textbook_id
|
|
|
- ) t
|
|
|
- ON DUPLICATE KEY UPDATE delete_mark = 0
|
|
|
+ INSERT INTO base_class_course (class_id, course_id, textbook_id, create_date, delete_mark, enabled_mark)
|
|
|
+ SELECT #{newClassId}, t.course_id, t.textbook_id, NOW(), 0, 1
|
|
|
+ FROM (SELECT course_id, textbook_id FROM base_class_course WHERE class_id = #{sourceClassId} AND delete_mark = 0
|
|
|
+ <if test="semester != null">
|
|
|
+ AND EXISTS (
|
|
|
+ SELECT 1
|
|
|
+ FROM textbook tb
|
|
|
+ WHERE tb.id = textbook_id
|
|
|
+ AND tb.base_semester_id = #{semester}
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ GROUP BY
|
|
|
+ course_id, textbook_id
|
|
|
+ ) t
|
|
|
+ ON DUPLICATE KEY UPDATE
|
|
|
+ delete_mark = 0,
|
|
|
+ enabled_mark = 1,
|
|
|
+ create_date = NOW()
|
|
|
</insert>
|
|
|
|
|
|
<select id="getClassIdByName" resultType="java.lang.Long">
|