|
@@ -456,6 +456,60 @@
|
|
|
WHERE cs.class_date_ = #{format} AND ta.teacher_id_ = cs.actual_teacher_id_
|
|
|
AND (ta.sign_in_status_ IS NULL OR ta.sign_in_status_ = 0 OR ta.sign_out_status_ IS NULL OR ta.sign_out_status_ = 0)
|
|
|
</select>
|
|
|
+ <resultMap id="TeacherAttendanceComplaintsDtoMap" type="com.ym.mec.biz.dal.dto.TeacherAttendanceComplaintsDto">
|
|
|
+ <result property="organName" column="organ_name_"/>
|
|
|
+ <result property="courseScheduleId" column="course_schedule_id_"/>
|
|
|
+ <result property="courseScheduleName" column="course_schedule_name_"/>
|
|
|
+ <result property="courseScheduleTime" column="course_schedule_time_"/>
|
|
|
+ <result property="signInStatus" column="sign_in_status_"/>
|
|
|
+ <result property="signOutStatus" column="sign_out_status"/>
|
|
|
+ <result property="teacherName" column="teacher_name_"/>
|
|
|
+ <result property="complaintsStatusEnum" column="complain_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
+ <result property="operatorName" column="operator_name_"/>
|
|
|
+ </resultMap>
|
|
|
+ <select id="queryTeacherAttendanceComplaints" resultType="com.ym.mec.biz.dal.dto.TeacherAttendanceComplaintsDto">
|
|
|
+ SELECT o.name_ organ_name_,ta.course_schedule_id_,cs.name_ course_schedule_name_,cs.class_date_ course_schedule_time_,
|
|
|
+ IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
|
|
|
+ IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_,
|
|
|
+ suo.real_name_ operator_name_,su.real_name_ teacher_name_,ta.complaints_status_
|
|
|
+ FROM teacher_attendance ta
|
|
|
+ LEFT JOIN sys_user su ON ta.teacher_id_ = su.id_
|
|
|
+ LEFT JOIN teacher t ON t.id_ = su.id_
|
|
|
+ LEFT JOIN organization o ON o.id_ = t.organ_id_
|
|
|
+ LEFT JOIN sys_user suo ON suo.id_ = ta.operator_
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = ta.course_schedule_id_
|
|
|
+ <include refid="queryTeacherAttendanceComplaintsSql"/>
|
|
|
+ ORDER BY cs.class_date_ ASC,cs.start_class_time_ ASC
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <sql id="queryTeacherAttendanceComplaintsSql">
|
|
|
+ <where>
|
|
|
+ cs.actual_teacher_id_ = ta.teacher_id_
|
|
|
+ <if test="organId != null and organId != ''">
|
|
|
+ AND t.organ_id_ = #{organId}
|
|
|
+ </if>
|
|
|
+ <if test="complaintsTime != null and complaintsTime != ''">
|
|
|
+ AND ta.complaints_time_ = #{complaintsTime}
|
|
|
+ </if>
|
|
|
+ <if test="complaintsStatus != null and complaintsStatus != ''">
|
|
|
+ AND ta.complaints_status_ = #{complaintsStatus}
|
|
|
+ </if>
|
|
|
+ <if test="search != null and search != ''">
|
|
|
+ AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR ta.teacher_id_ = #{search})
|
|
|
+ </if>
|
|
|
+ <if test="courseScheduleDate != null and courseScheduleDate != ''">
|
|
|
+ AND cs.class_date_ = #{courseScheduleDate}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
+ <select id="countTeacherAttendanceComplaints" resultType="java.lang.Integer">
|
|
|
+ SELECT COUNT(DISTINCT ta.id_)
|
|
|
+ FROM teacher_attendance ta
|
|
|
+ LEFT JOIN sys_user su ON ta.teacher_id_ = su.id_
|
|
|
+ LEFT JOIN teacher t ON t.id_ = su.id_
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = ta.course_schedule_id_
|
|
|
+ <include refid="queryTeacherAttendanceComplaintsSql"/>
|
|
|
+ </select>
|
|
|
|
|
|
<update id="updateViPSignOutStatus" parameterType="string">
|
|
|
UPDATE teacher_attendance SET sign_out_status_ = 1,sign_out_time_= now()
|