|
@@ -46,6 +46,7 @@
|
|
|
<result column="course_end_time_" property="endClassTime"/>
|
|
|
<result column="settlement_time_" property="settlementTime"/>
|
|
|
<result column="organ_name_" property="organName"/>
|
|
|
+ <result column="isCallNames" property="isCallNames" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<resultMap type="com.ym.mec.biz.dal.dto.CourseScheduleDto" id="courseScheduleDto" extends="CourseSchedule">
|
|
@@ -2293,27 +2294,31 @@
|
|
|
cs.type_,
|
|
|
cs.schoole_id_,
|
|
|
s.name_ schoole_name_,
|
|
|
- o.name_ organ_name_
|
|
|
+ o.name_ organ_name_,
|
|
|
+ CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames
|
|
|
FROM
|
|
|
course_schedule cs
|
|
|
LEFT JOIN school s ON cs.schoole_id_=s.id_
|
|
|
LEFT JOIN organization o ON cs.organ_id_=o.id_
|
|
|
+ LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
|
|
|
<include refid="endFindCourseSchedulesCondition"/>
|
|
|
+ GROUP BY cs.id_
|
|
|
ORDER BY course_start_time_,cs.id_
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
|
|
|
|
<select id="endCountCourseSchedules" resultType="int">
|
|
|
SELECT
|
|
|
- COUNT(cs.id_)
|
|
|
+ COUNT(DISTINCT cs.id_)
|
|
|
FROM
|
|
|
course_schedule cs
|
|
|
+ LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
|
|
|
<include refid="endFindCourseSchedulesCondition"/>
|
|
|
</select>
|
|
|
<select id="findCourseIdsByStudent" resultType="int">
|
|
|
SELECT cssp.course_schedule_id_
|
|
|
FROM course_schedule_student_payment cssp
|
|
|
- LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
|
|
|
+ LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
|
|
|
WHERE su.username_ LIKE CONCAT('%', #{search}, '%')
|
|
|
OR su.id_ = #{search}
|
|
|
</select>
|
|
@@ -2386,6 +2391,12 @@
|
|
|
<include refid="queryVipCourseScheduleIds"/>
|
|
|
</select>
|
|
|
<sql id="queryVipCourseScheduleIds">
|
|
|
+ <if test="isCallNames != null and isCallNames == 1">
|
|
|
+ AND sa.id_ IS NOT NULL
|
|
|
+ </if>
|
|
|
+ <if test="isCallNames != null and isCallNames == 0">
|
|
|
+ AND sa.id_ IS NULL
|
|
|
+ </if>
|
|
|
<if test="startTime!=null and endTime==null">
|
|
|
AND cs.class_date_ > DATE_FORMAT(#{startTime},"%Y-%m-%d")
|
|
|
</if>
|
|
@@ -3161,7 +3172,8 @@
|
|
|
<select id="queryHasReatClass" resultType="java.util.Map">
|
|
|
SELECT cgtm.class_group_id_ 'key',CASE WHEN COUNT(cs.id_) > 0 THEN 1 ELSE 0 END 'value'
|
|
|
FROM class_group_teacher_mapper cgtm
|
|
|
- LEFT JOIN course_schedule cs ON cs.class_group_id_ = cgtm.class_group_id_ AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0
|
|
|
+ LEFT JOIN course_schedule cs ON cs.class_group_id_ = cgtm.class_group_id_
|
|
|
+ AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0
|
|
|
WHERE cgtm.user_id_ = #{teacherId} AND cgtm.group_type_ = 'MUSIC' AND cgtm.class_group_id_ IN
|
|
|
<foreach collection="classGroupIds" item="classGroupId" separator="," open="(" close=")">
|
|
|
#{classGroupId}
|