|  | @@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.VipGroupSalaryDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.GroupType;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  import org.apache.ibatis.annotations.Param;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -13,147 +14,152 @@ import java.util.Map;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseScheduleTeacherSalary> {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * @Author: Joburgess
 | 
	
		
			
				|  |  | -     * @Date: 2019/10/10
 | 
	
		
			
				|  |  | -     * @params [courseScheduleTeacherSalaries]
 | 
	
		
			
				|  |  | -     * @return int
 | 
	
		
			
				|  |  | -     * @describe 批量插入
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    int batchInsert(List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * @describe 根据课程编号批量删除教师课酬记录
 | 
	
		
			
				|  |  | -     * @author Joburgess
 | 
	
		
			
				|  |  | -     * @date 2019/10/31
 | 
	
		
			
				|  |  | -     * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | -     * @return int
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    int batchDeleteByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * @Author: Joburgess
 | 
	
		
			
				|  |  | -     * @Date: 2019/10/11
 | 
	
		
			
				|  |  | -     * @params [params]
 | 
	
		
			
				|  |  | -     * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupSalaryDto>
 | 
	
		
			
				|  |  | -     * @describe 获取vip课财务记录
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    List<VipGroupSalaryDto> findVipGroupSalarys(Map<String,Object> params);
 | 
	
		
			
				|  |  | -    int countVipGroupSalarys(Map<String,Object> params);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * @Author: Joburgess
 | 
	
		
			
				|  |  | -     * @Date: 2019/10/15
 | 
	
		
			
				|  |  | -     * @params [days:天数]
 | 
	
		
			
				|  |  | -     * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary>
 | 
	
		
			
				|  |  | -     * @describe 获取多少天之前的未结算教师课酬记录(vip课)
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(Integer days);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * @return int
 | 
	
		
			
				|  |  | +	 * @Author: Joburgess
 | 
	
		
			
				|  |  | +	 * @Date: 2019/10/10
 | 
	
		
			
				|  |  | +	 * @params [courseScheduleTeacherSalaries]
 | 
	
		
			
				|  |  | +	 * @describe 批量插入
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	int batchInsert(List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | +	 * @return int
 | 
	
		
			
				|  |  | +	 * @describe 根据课程编号批量删除教师课酬记录
 | 
	
		
			
				|  |  | +	 * @author Joburgess
 | 
	
		
			
				|  |  | +	 * @date 2019/10/31
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	int batchDeleteByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * @return java.util.List<com.ym.mec.biz.dal.dto.VipGroupSalaryDto>
 | 
	
		
			
				|  |  | +	 * @Author: Joburgess
 | 
	
		
			
				|  |  | +	 * @Date: 2019/10/11
 | 
	
		
			
				|  |  | +	 * @params [params]
 | 
	
		
			
				|  |  | +	 * @describe 获取vip课财务记录
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	List<VipGroupSalaryDto> findVipGroupSalarys(Map<String, Object> params);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	int countVipGroupSalarys(Map<String, Object> params);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  | +	 * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary>
 | 
	
		
			
				|  |  | +	 * @Author: Joburgess
 | 
	
		
			
				|  |  | +	 * @Date: 2019/10/15
 | 
	
		
			
				|  |  | +	 * @params [days:天数]
 | 
	
		
			
				|  |  | +	 * @describe 获取多少天之前的未结算教师课酬记录(vip课)
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(Integer days);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  |  	 * 查询老师指定课程的课酬
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  |  	 * @param courseScheduleId
 | 
	
		
			
				|  |  |  	 * @param teacherId
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	CourseScheduleTeacherSalary queryByCourseScheduleIdAndUserId(@Param("courseScheduleId") Long courseScheduleId, @Param("teacherId") Integer teacherId);
 | 
	
		
			
				|  |  | -	
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  |  	 * 批量更新指定老师所教学班级的报酬(课酬、补贴)
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  |  	 * @param classGroupId 班级编号
 | 
	
		
			
				|  |  | -	 * @param userId 老师编号
 | 
	
		
			
				|  |  | -	 * @param salary 课酬
 | 
	
		
			
				|  |  | -	 * @param subsidy 补贴
 | 
	
		
			
				|  |  | +	 * @param userId       老师编号
 | 
	
		
			
				|  |  | +	 * @param salary       课酬
 | 
	
		
			
				|  |  | +	 * @param subsidy      补贴
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	int batchUpdateWages(@Param("classGroupId") Integer classGroupId, @Param("userId") Integer userId, @Param("salary") BigDecimal salary,
 | 
	
		
			
				|  |  | -			@Param("subsidy") BigDecimal subsidy);
 | 
	
		
			
				|  |  | +						 @Param("subsidy") BigDecimal subsidy);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | +	 * @param courseScheduleId: 课程编号
 | 
	
		
			
				|  |  | +	 * @param userIds:          课程关联教师编号
 | 
	
		
			
				|  |  | +	 * @return int
 | 
	
		
			
				|  |  |  	 * @describe 批量更新指定班级关联教师预计薪水
 | 
	
		
			
				|  |  |  	 * @author Joburgess
 | 
	
		
			
				|  |  |  	 * @date 2019/10/23
 | 
	
		
			
				|  |  | -	 * @param courseScheduleId: 课程编号
 | 
	
		
			
				|  |  | -	 * @param userIds: 课程关联教师编号
 | 
	
		
			
				|  |  | -	 * @return int
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	int batchUpdateTeacherExpectSalary(@Param("courseScheduleId") Integer courseScheduleId,
 | 
	
		
			
				|  |  |  									   @Param("userIds") List<Integer> userIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | -	 * @describe 根据班级编号和教师类型获取老师列表
 | 
	
		
			
				|  |  | -	 * @author Joburgess
 | 
	
		
			
				|  |  | -	 * @date 2019/10/23
 | 
	
		
			
				|  |  |  	 * @param courseScheduleIds:
 | 
	
		
			
				|  |  |  	 * @param teacherRole:
 | 
	
		
			
				|  |  |  	 * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
 | 
	
		
			
				|  |  | +	 * @describe 根据班级编号和教师类型获取老师列表
 | 
	
		
			
				|  |  | +	 * @author Joburgess
 | 
	
		
			
				|  |  | +	 * @date 2019/10/23
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	List<CourseScheduleTeacherSalary> findByCourseScheduleIdsAndTeacherRole(@Param("courseScheduleIds") List<Integer> courseScheduleIds,
 | 
	
		
			
				|  |  | -															 @Param("teacherRole") String teacherRole);
 | 
	
		
			
				|  |  | +																			@Param("teacherRole") String teacherRole);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | +	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | +	 * @return java.util.List<java.util.Map < java.lang.String, java.lang.String>>
 | 
	
		
			
				|  |  |  	 * @describe 根据课程获取对应乐团结算方式
 | 
	
		
			
				|  |  |  	 * @author Joburgess
 | 
	
		
			
				|  |  |  	 * @date 2019/10/24
 | 
	
		
			
				|  |  | -	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | -	 * @return java.util.List<java.util.Map<java.lang.String,java.lang.String>>
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	List<Map<String,String>> findMusicGroupSettlementTypeByCourse(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | +	List<Map<String, String>> findMusicGroupSettlementTypeByCourse(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | +	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | +	 * @return java.util.List<java.util.Map < java.lang.String, java.lang.Integer>>
 | 
	
		
			
				|  |  |  	 * @describe 根据课程获取对应乐团的收费类型
 | 
	
		
			
				|  |  |  	 * @author Joburgess
 | 
	
		
			
				|  |  |  	 * @date 2019/11/3
 | 
	
		
			
				|  |  | -	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | -	 * @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	List<Map<String,Integer>> findMusicGroupChargeTypeByCourse(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | +	List<Map<String, Integer>> findMusicGroupChargeTypeByCourse(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | +	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | +	 * @return java.util.List<java.util.Map < java.lang.Integer, java.math.BigDecimal>>
 | 
	
		
			
				|  |  |  	 * @describe 根据课程获取对应的教学点补贴
 | 
	
		
			
				|  |  |  	 * @author Joburgess
 | 
	
		
			
				|  |  |  	 * @date 2019/10/24
 | 
	
		
			
				|  |  | -	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | -	 * @return java.util.List<java.util.Map<java.lang.Integer,java.math.BigDecimal>>
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	List<Map<Integer,BigDecimal>> findCourseSubsidyByCourses(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | +	List<Map<Integer, BigDecimal>> findCourseSubsidyByCourses(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  |  	 * 乐团详情--课酬调整--课程教师列表
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  |  	 * @param courseScheduleId
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -    List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * @describe 根据课程获取课程相关的老师课酬记录
 | 
	
		
			
				|  |  | -     * @author Joburgess
 | 
	
		
			
				|  |  | -     * @date 2019/11/3
 | 
	
		
			
				|  |  | -     * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | -     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary>
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    List<CourseScheduleTeacherSalary> findByCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | +	List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | -	 * @describe 根据课程获取课程相关的老师未结算课酬记录
 | 
	
		
			
				|  |  | +	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  | +	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary>
 | 
	
		
			
				|  |  | +	 * @describe 根据课程获取课程相关的老师课酬记录
 | 
	
		
			
				|  |  |  	 * @author Joburgess
 | 
	
		
			
				|  |  |  	 * @date 2019/11/3
 | 
	
		
			
				|  |  | +	 */
 | 
	
		
			
				|  |  | +	List<CourseScheduleTeacherSalary> findByCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/**
 | 
	
		
			
				|  |  |  	 * @param courseScheduleIds: 课程编号列表
 | 
	
		
			
				|  |  |  	 * @return java.util.List<com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary>
 | 
	
		
			
				|  |  | +	 * @describe 根据课程获取课程相关的老师未结算课酬记录
 | 
	
		
			
				|  |  | +	 * @author Joburgess
 | 
	
		
			
				|  |  | +	 * @date 2019/11/3
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	List<CourseScheduleTeacherSalary> findByCourseSchedulesWithNoSettlement(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  | +	 * @param classGroupId: 班级编号
 | 
	
		
			
				|  |  | +	 * @return java.util.List<java.util.Map < java.lang.String, java.math.BigDecimal>>
 | 
	
		
			
				|  |  |  	 * @describe 统计班级上老师的先上课,线下课课酬
 | 
	
		
			
				|  |  |  	 * @author Joburgess
 | 
	
		
			
				|  |  |  	 * @date 2019/11/5
 | 
	
		
			
				|  |  | -	 * @param classGroupId: 班级编号
 | 
	
		
			
				|  |  | -	 * @return java.util.List<java.util.Map<java.lang.String,java.math.BigDecimal>>
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	List<Map<String, BigDecimal>> countTeacherOnlineOfflineSalaryByClass(@Param("classGroupId") Integer classGroupId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  |  	 * count教师薪酬
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  |  	 * @param params
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
	
		
			
				|  | @@ -161,8 +167,11 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/**
 | 
	
		
			
				|  |  |  	 * query教师薪酬
 | 
	
		
			
				|  |  | +	 *
 | 
	
		
			
				|  |  |  	 * @param params
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	List<TeacherSalaryDto> querySalaries(Map<String, Object> params);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	List<CourseScheduleTeacherSalary> findCourseScheduleTeacherSalaryByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("groupType") GroupType groupType);
 | 
	
		
			
				|  |  |  }
 |