|
@@ -5,69 +5,45 @@
|
|
|
<mapper namespace="com.xjrsoft.module.base.mapper.BaseClassCourseMapper">
|
|
<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 id="getPage" parameterType="com.xjrsoft.module.base.dto.BaseClassCoursePageDto" resultType="com.xjrsoft.module.base.vo.BaseClassCoursePageVo">
|
|
|
SELECT
|
|
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,
|
|
|
|
|
- (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
|
|
|
|
|
- <if test="dto.semester != null">
|
|
|
|
|
- AND t5.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
|
|
|
|
|
- <if test="dto.semester != null">
|
|
|
|
|
- AND t5.base_semester_id = #{dto.semester}
|
|
|
|
|
- </if>
|
|
|
|
|
- ) AS textbook_name,
|
|
|
|
|
- (SELECT sum(t8.price)
|
|
|
|
|
- FROM base_class_course t5
|
|
|
|
|
- LEFT JOIN textbook t8 ON t8.id = t5.textbook_id
|
|
|
|
|
- WHERE t5.class_id = t.id
|
|
|
|
|
- AND t5.delete_mark = 0
|
|
|
|
|
- <if test="dto.semester != null">
|
|
|
|
|
- AND t5.base_semester_id = #{dto.semester}
|
|
|
|
|
- </if>
|
|
|
|
|
- ) AS amount,
|
|
|
|
|
- (SELECT sum(t8.discount_price)
|
|
|
|
|
- FROM base_class_course t5
|
|
|
|
|
- LEFT JOIN textbook t8 ON t8.id = t5.textbook_id
|
|
|
|
|
- WHERE t5.class_id = t.id
|
|
|
|
|
- AND t5.delete_mark = 0
|
|
|
|
|
- <if test="dto.semester != null">
|
|
|
|
|
- AND t5.base_semester_id = #{dto.semester}
|
|
|
|
|
- </if>
|
|
|
|
|
- ) AS count
|
|
|
|
|
|
|
+ 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,
|
|
|
|
|
+ SUM(t8.price) AS amount,
|
|
|
|
|
+ SUM(t8.discount_price) AS count
|
|
|
FROM base_class t
|
|
FROM base_class t
|
|
|
LEFT JOIN xjr_user t1 ON t1.id = t.teacher_id
|
|
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_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 base_major_set t3 ON t3.id = t2.major_set_id
|
|
|
LEFT JOIN xjr_department t4 ON t4.id = t.org_id
|
|
LEFT JOIN xjr_department t4 ON t4.id = t.org_id
|
|
|
|
|
+ LEFT JOIN base_class_course t5 ON t5.class_id = t.id AND t5.delete_mark = 0
|
|
|
|
|
+ LEFT JOIN base_course_subject t6 ON t6.id = t5.course_id AND t6.delete_mark = 0
|
|
|
|
|
+ LEFT JOIN textbook t7 ON t7.id = t5.textbook_id AND t7.delete_mark = 0
|
|
|
|
|
+ LEFT JOIN textbook t8 ON t8.id = t5.textbook_id AND t8.delete_mark = 0
|
|
|
WHERE t.delete_mark = 0
|
|
WHERE t.delete_mark = 0
|
|
|
|
|
+ <if test="dto.semester != null">
|
|
|
|
|
+ AND t5.base_semester_id = #{dto.semester}
|
|
|
|
|
+ </if>
|
|
|
<if test="dto.className != null and dto.className != ''">
|
|
<if test="dto.className != null and dto.className != ''">
|
|
|
- and t.name like concat('%', #{dto.className}, '%')
|
|
|
|
|
|
|
+ AND t.name LIKE CONCAT('%', #{dto.className}, '%')
|
|
|
</if>
|
|
</if>
|
|
|
<if test="dto.deptId != null">
|
|
<if test="dto.deptId != null">
|
|
|
- and t4.id = #{dto.deptId}
|
|
|
|
|
|
|
+ AND t4.id = #{dto.deptId}
|
|
|
</if>
|
|
</if>
|
|
|
GROUP BY t.id, t.name, t1.name, t3.name, t4.name
|
|
GROUP BY t.id, t.name, t1.name, t3.name, t4.name
|
|
|
- <if test="dto.courseSet == 1">
|
|
|
|
|
- HAVING LENGTH(course_name) > 0
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test="dto.courseSet == 2">
|
|
|
|
|
- HAVING COALESCE(LENGTH(course_name), 0) = 0
|
|
|
|
|
- </if>
|
|
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test="dto.courseSet == 1">
|
|
|
|
|
+ HAVING LENGTH(course_name) > 0
|
|
|
|
|
+ </when>
|
|
|
|
|
+ <when test="dto.courseSet == 2">
|
|
|
|
|
+ HAVING LENGTH(course_name) = 0
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
-
|
|
|
|
|
<select id="getAllCourseBook" resultType="com.xjrsoft.module.base.entity.CourseBookInfo">
|
|
<select id="getAllCourseBook" resultType="com.xjrsoft.module.base.entity.CourseBookInfo">
|
|
|
SELECT
|
|
SELECT
|
|
|
t.course_subject_id AS courseId,
|
|
t.course_subject_id AS courseId,
|