| 
					
				 | 
			
			
				@@ -27,6 +27,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<result column="start_class_time_" property="courseSchedule.startClassTime" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<result column="end_class_time_" property="courseSchedule.endClassTime" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<result column="reduce_salary" property="reduceSalary" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result column="confirm_status_" property="confirmStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result column="memo_" property="memo" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</resultMap> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	<resultMap type="com.ym.mec.biz.dal.dto.TeacherVipSalaryDto" id="teacherVipSalaryDto" extends="CourseScheduleTeacherSalary"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,15 +51,21 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	<!-- 向数据库增加一条记录 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		INSERT INTO course_schedule_teacher_salary (id_,group_type_,music_group_id_,course_schedule_id_,teacher_role_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		reduce_salary,confirm_status_,memo_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{courseScheduleId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		#{teacherRole},#{userId},#{expectSalary},now(),now(),#{subsidy},#{actualSalary},#{settlementTime},#{classGroupId}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		#{teacherRole},#{userId},#{expectSalary},now(),now(),#{subsidy},#{actualSalary},#{settlementTime},#{classGroupId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		#{reduceSalary},#{confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{memo}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		INSERT INTO course_schedule_teacher_salary (id_,group_type_,music_group_id_,course_schedule_id_,teacher_role_,user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		INSERT INTO course_schedule_teacher_salary (id_,group_type_,music_group_id_,course_schedule_id_,teacher_role_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		user_id_,expect_salary_,create_time_,update_time_,subsidy_,actual_salary_,settlement_time_,class_group_id_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		reduce_salary,confirm_status_,memo_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		VALUES 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<foreach collection="list" item="data" separator=","> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			(#{data.id},#{data.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.musicGroupId},#{data.courseScheduleId},#{data.teacherRole},#{data.userId},#{data.expectSalary},now(),now(),#{data.subsidy},#{data.actualSalary},#{data.settlementTime},#{data.classGroupId}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(#{data.id},#{data.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.musicGroupId},#{data.courseScheduleId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			#{data.teacherRole},#{data.userId},#{data.expectSalary},now(),now(),#{data.subsidy},#{data.actualSalary},#{data.settlementTime}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			#{data.classGroupId},#{data.reduceSalary},#{data.confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.memo}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -65,9 +73,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		UPDATE course_schedule_teacher_salary  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		<set> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			<if test="reduceSalary != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				reduce_salary = #{reduceSalary}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<if test="userId != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				user_id_ = #{userId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</if> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -101,6 +106,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			<if test="classGroupId != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				class_group_id_ = #{classGroupId}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="reduceSalary != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				reduce_salary = #{reduceSalary}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="confirmStatus != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				confirm_status_ = #{confirmStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="memo != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				memo_ = #{memo}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</set> WHERE id_ = #{id}  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -429,7 +443,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		</foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		AND csts.teacher_role_ = 'BISHOP' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</update> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <update id="updateSalary"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <update id="updateSalary" parameterType="com.ym.mec.biz.dal.entity.TeacherSalaryModifyLog"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		UPDATE course_schedule_teacher_salary SET actual_salary_ = #{modifyLog.currentExpectSalary},reduce_salary = #{modifyLog.currentReduceSalary},update_time_ = NOW() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		WHERE course_schedule_id_ = #{modifyLog.courseScheduleId} AND user_id_ = #{modifyLog.teacherId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</update> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -698,4 +713,108 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		WHERE NOW() >= CONCAT(cs.class_date_ ,' ',cs.end_class_time_) AND csts.user_id_ = #{userId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	</select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<resultMap id="TeacherCourseSalaryDetail4WebDto" type="com.ym.mec.biz.dal.dto.TeacherCourseSalaryDetail4WebDto"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="id" column="id_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="organId" column="organ_id_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="organName" column="organ_name_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="groupType" column="group_type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="courseScheduleId" column="course_schedule_id_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="startClassTime" column="classes_start_time_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="courseName" column="course_name_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="teacherId" column="teacher_id_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="teacherName" column="teacher_name_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="signInTime" column="sign_in_time_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="signInStatus" column="sign_in_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="signOutStatus" column="sign_out_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="signOutTime" column="sign_out_time_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="expectSalary" column="expect_salary_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="actualSalary" column="actual_salary_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="reduceSalary" column="reduce_salary_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="confirmStatus" column="confirm_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<result property="memo" column="memo_" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</resultMap> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<sql id="queryCourseSalaryCondition"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(cs.del_flag_ IS NULL OR cs.del_flag_=0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			AND csts.settlement_time_ IS NOT NULL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="teacherId!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND csts.user_id_=#{teacherId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="groupType!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND cs.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="courseScheduleId!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND cs.id_=#{courseScheduleId} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="signInStatus!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND ta.sign_in_status_=#{signInStatus} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="signOutStatus!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND ta.sign_out_status_=#{signOutStatus} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="confirmStatus!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND csts.reduce_salary=#{confirmStatus} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="groupName!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND cs.name_ LIKE CONCAT('%', #{groupName}, '%') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="month!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND DATE_FORMAT(cs.class_date_, '%Y-%m') = #{month} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="organIdList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND FIND_IN_SET(t.organ_id_,#{organIdList}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<if test="search!=null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				AND (csts.user_id_=#{search} OR su.real_name_ LIKE CONCAT('%', #{search}, '%')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		</where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</sql> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<select id="findIsSettlementCourseSalarys" resultMap="TeacherCourseSalaryDetail4WebDto"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SELECT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.id_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cs.id_ course_schedule_id_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cs.group_type_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			CONCAT(cs.class_date_, ' ', cs.start_class_time_) classes_start_time_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cs.name_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.user_id_ teacher_id_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			su.real_name_ teacher_name_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			t.organ_id_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			o.name_ organ_name_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ta.sign_in_time_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ta.sign_in_status_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ta.sign_out_time_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ta.sign_out_status_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.expect_salary_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.actual_salary_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.reduce_salary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.confirm_status_, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			csts.memo_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		FROM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			course_schedule_teacher_salary csts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			LEFT JOIN course_schedule cs ON csts.course_schedule_id_=cs.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			LEFT JOIN teacher_attendance ta ON csts.course_schedule_id_=ta.course_schedule_id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			LEFT JOIN teacher t ON csts.user_id_=t.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			LEFT JOIN sys_user su ON csts.user_id_=su.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			LEFT JOIN organization o ON t.organ_id_=o.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<include refid="queryCourseSalaryCondition"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ORDER BY classes_start_time_ DESC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<include refid="global.limit"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<select id="countIsSettlementCourseSalarys" resultType="int"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SELECT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			COUNT(csts.id_) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		FROM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			course_schedule_teacher_salary csts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		LEFT JOIN course_schedule cs ON csts.course_schedule_id_=cs.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		LEFT JOIN teacher_attendance ta ON csts.course_schedule_id_=ta.course_schedule_id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		LEFT JOIN teacher t ON csts.user_id_=t.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		LEFT JOIN sys_user su ON csts.user_id_=su.id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<include refid="queryCourseSalaryCondition"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ORDER BY csts.id_ DESC 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<include refid="global.limit"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </mapper> 
			 |