|  | @@ -21,6 +21,8 @@
 | 
	
		
			
				|  |  |          <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  |          <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 | 
	
		
			
				|  |  |          <result column="name_" property="name"/>
 | 
	
		
			
				|  |  | +        <result column="student_num_" property="studentNum"/>
 | 
	
		
			
				|  |  | +        <result column="leave_student_num_" property="leaveStudentNum"/>
 | 
	
		
			
				|  |  |      </resultMap>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <resultMap type="com.ym.mec.biz.dal.dto.CourseScheduleDto" id="courseScheduleDto" extends="CourseSchedule">
 | 
	
	
		
			
				|  | @@ -31,6 +33,7 @@
 | 
	
		
			
				|  |  |          <result column="sign_in_status_" property="signInStatus"/>
 | 
	
		
			
				|  |  |          <result column="sign_out_status_" property="signOutStatus"/>
 | 
	
		
			
				|  |  |          <result column="seal_class_id_" property="sealClassId"/>
 | 
	
		
			
				|  |  | +        <result column="total_student_num_" property="totalStudentNum"/>
 | 
	
		
			
				|  |  |      </resultMap>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <resultMap type="com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto" id="studentCourseScheduleRecord">
 | 
	
	
		
			
				|  | @@ -67,16 +70,16 @@
 | 
	
		
			
				|  |  |          </selectKey>
 | 
	
		
			
				|  |  |          -->
 | 
	
		
			
				|  |  |          INSERT INTO course_schedule
 | 
	
		
			
				|  |  | -        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_)
 | 
	
		
			
				|  |  | -        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 | 
	
		
			
				|  |  | +        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_)
 | 
	
		
			
				|  |  | +        VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum})
 | 
	
		
			
				|  |  |      </insert>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 | 
	
		
			
				|  |  |          INSERT INTO course_schedule
 | 
	
		
			
				|  |  | -        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_)
 | 
	
		
			
				|  |  | +        (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_)
 | 
	
		
			
				|  |  |          VALUE
 | 
	
		
			
				|  |  |          <foreach collection="list" item="course" separator=",">
 | 
	
		
			
				|  |  | -            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 | 
	
		
			
				|  |  | +            (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum})
 | 
	
		
			
				|  |  |          </foreach>
 | 
	
		
			
				|  |  |      </insert>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -114,8 +117,11 @@
 | 
	
		
			
				|  |  |              <if test="updateTime != null">
 | 
	
		
			
				|  |  |                  update_time_ = #{updateTime},
 | 
	
		
			
				|  |  |              </if>
 | 
	
		
			
				|  |  | -            <if test="name != null">
 | 
	
		
			
				|  |  | -                name_ = #{name},
 | 
	
		
			
				|  |  | +            <if test="studentNum != null">
 | 
	
		
			
				|  |  | +                student_num_ = #{studentNum},
 | 
	
		
			
				|  |  | +            </if>
 | 
	
		
			
				|  |  | +            <if test="leaveStudentNum != null">
 | 
	
		
			
				|  |  | +                leave_student_num_ = #{leaveStudentNum},
 | 
	
		
			
				|  |  |              </if>
 | 
	
		
			
				|  |  |          </set>
 | 
	
		
			
				|  |  |          WHERE id_ = #{id}
 | 
	
	
		
			
				|  | @@ -161,6 +167,8 @@
 | 
	
		
			
				|  |  |          <result property="schoolId" column="school_id_"/>
 | 
	
		
			
				|  |  |          <result property="address" column="address_"/>
 | 
	
		
			
				|  |  |          <result property="longitudeAndLatitude" column="longitude_latitude_"/>
 | 
	
		
			
				|  |  | +        <result property="teacherName" column="teacher_name_"/>
 | 
	
		
			
				|  |  | +        <result property="signInTime" column="sign_in_time_"/>
 | 
	
		
			
				|  |  |      </resultMap>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <select id="getCurrentCourseDetail"
 | 
	
	
		
			
				|  | @@ -179,15 +187,50 @@
 | 
	
		
			
				|  |  |              mg.name_ music_group_name,
 | 
	
		
			
				|  |  |              s.id_ school_id_,
 | 
	
		
			
				|  |  |              s.address_,
 | 
	
		
			
				|  |  | -            s.longitude_latitude_
 | 
	
		
			
				|  |  | +            s.longitude_latitude_,
 | 
	
		
			
				|  |  | +            su.username_ teacher_name_,
 | 
	
		
			
				|  |  | +            ta.sign_in_time_
 | 
	
		
			
				|  |  |          FROM
 | 
	
		
			
				|  |  |              course_schedule cs
 | 
	
		
			
				|  |  |          LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
 | 
	
		
			
				|  |  |          LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
 | 
	
		
			
				|  |  |          LEFT JOIN school s ON mg.school_id_=s.id_
 | 
	
		
			
				|  |  | +        LEFT JOIN sys_user su ON cs.actual_teacher_id_=su.id_
 | 
	
		
			
				|  |  | +        LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_
 | 
	
		
			
				|  |  |          WHERE cs.id_= #{courseID}
 | 
	
		
			
				|  |  |      </select>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    <select id="getTeacherCourseByDateSpeed"
 | 
	
		
			
				|  |  | +            resultMap="TeacherAttendanceViewUtilEntity">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +            cs.id_ ,
 | 
	
		
			
				|  |  | +            cs.name_ course_schedule_name_,
 | 
	
		
			
				|  |  | +            cs.class_date_,
 | 
	
		
			
				|  |  | +            CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
 | 
	
		
			
				|  |  | +            CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
 | 
	
		
			
				|  |  | +            cs.status_ course_status_,
 | 
	
		
			
				|  |  | +            cg.id_ class_id,
 | 
	
		
			
				|  |  | +            cg.name_ class_name,
 | 
	
		
			
				|  |  | +            cs.type_ class_type,
 | 
	
		
			
				|  |  | +            mg.id_ music_group_id,
 | 
	
		
			
				|  |  | +            mg.name_ music_group_name,
 | 
	
		
			
				|  |  | +            s.id_ school_id_,
 | 
	
		
			
				|  |  | +            s.address_,
 | 
	
		
			
				|  |  | +            s.longitude_latitude_,
 | 
	
		
			
				|  |  | +            su.username_ teacher_name_,
 | 
	
		
			
				|  |  | +            ta.sign_in_time_
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            course_schedule cs
 | 
	
		
			
				|  |  | +        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
 | 
	
		
			
				|  |  | +        LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
 | 
	
		
			
				|  |  | +        LEFT JOIN school s ON mg.school_id_=s.id_
 | 
	
		
			
				|  |  | +        LEFT JOIN sys_user su ON cs.actual_teacher_id_=su.id_
 | 
	
		
			
				|  |  | +        LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_
 | 
	
		
			
				|  |  | +        WHERE cs.actual_teacher_id_= #{teacherId}
 | 
	
		
			
				|  |  | +        AND (cs.end_class_time_ BETWEEN #{startTime} AND #{endTime})
 | 
	
		
			
				|  |  | +        ORDER BY cs.id_ DESC LIMIT 1
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      <resultMap id="studentAttendanceViewUtilEntity" type="com.ym.mec.biz.dal.dto.StudentAttendanceViewDto">
 | 
	
		
			
				|  |  |          <result property="classGroupId" column="class_group_id_"/>
 | 
	
		
			
				|  |  |          <result property="studentId" column="student_id_"/>
 | 
	
	
		
			
				|  | @@ -238,6 +281,9 @@
 | 
	
		
			
				|  |  |              CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
 | 
	
		
			
				|  |  |              CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
 | 
	
		
			
				|  |  |              cs.status_,
 | 
	
		
			
				|  |  | +            cs.student_num_,
 | 
	
		
			
				|  |  | +            cs.leave_student_num_,
 | 
	
		
			
				|  |  | +            cg.student_num_ total_student_num_,
 | 
	
		
			
				|  |  |  	        su.username_ teacher_name_,
 | 
	
		
			
				|  |  |  	        ta.sign_in_status_ attendance_status_
 | 
	
		
			
				|  |  |          FROM
 | 
	
	
		
			
				|  | @@ -300,8 +346,8 @@
 | 
	
		
			
				|  |  |              CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
 | 
	
		
			
				|  |  |              cs.status_,
 | 
	
		
			
				|  |  |  	        s.name_ school_name_,
 | 
	
		
			
				|  |  | -	        ta.sign_in_status_,
 | 
	
		
			
				|  |  | -	        ta.sign_out_status_,
 | 
	
		
			
				|  |  | +	        if(ta.sign_in_status_ IS NULL,0,1) sign_in_status_,
 | 
	
		
			
				|  |  | +	        if(ta.sign_out_status_ IS NULL,0,1) sign_out_status_,
 | 
	
		
			
				|  |  |  	        cs.teach_mode_
 | 
	
		
			
				|  |  |          FROM
 | 
	
		
			
				|  |  |              course_schedule cs
 | 
	
	
		
			
				|  | @@ -619,4 +665,12 @@
 | 
	
		
			
				|  |  |              </if>
 | 
	
		
			
				|  |  |          </where>
 | 
	
		
			
				|  |  |      </select>
 | 
	
		
			
				|  |  | +    <select id="findClassTypeByCourse" resultType="string">
 | 
	
		
			
				|  |  | +        SELECT
 | 
	
		
			
				|  |  | +            cg.type_
 | 
	
		
			
				|  |  | +        FROM
 | 
	
		
			
				|  |  | +            course_schedule cs
 | 
	
		
			
				|  |  | +            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
 | 
	
		
			
				|  |  | +            WHERE cs.id_=#{courseScheduleId}
 | 
	
		
			
				|  |  | +    </select>
 | 
	
		
			
				|  |  |  </mapper>
 |