Explorar o código

课酬结算修改

zouxuan %!s(int64=5) %!d(string=hai) anos
pai
achega
4096c3b4f0

+ 14 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -776,7 +776,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/11/3
      */
-    List<CourseSchedule> findCourseScheduleWithDate(@Param("date") Date date);
+    List<CourseSchedule> findCourseScheduleWithDate(@Param("startDate") String startDate, @Param("endDate") String endDate);
 
     /**
      * @param classGroupId: 班级编号
@@ -1313,8 +1313,8 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
      */
     List<Map<Integer, Long>> countStudentVipCoursesWithDate(@Param("studentIds") List<Integer> studentIds,
-                                                               @Param("startTime") Date startTime,
-                                                               @Param("endTime") Date endTime,
+                                                            @Param("startTime") Date startTime,
+                                                            @Param("endTime") Date endTime,
                                                             @Param("groupType") GroupType groupType);
 
 
@@ -1328,8 +1328,8 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Long>>
      */
     List<Map<Integer, Long>> countStudentPayPracticeCoursesWithDate(@Param("studentIds") List<Integer> studentIds,
-                                                            @Param("startTime") Date startTime,
-                                                            @Param("endTime") Date endTime);
+                                                                    @Param("startTime") Date startTime,
+                                                                    @Param("endTime") Date endTime);
 
     /**
      * @describe 统计学生在未来的vip课数量
@@ -1521,4 +1521,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param courseScheduleId
      */
     void resetStudentNum(@Param("courseScheduleId") List<Long> courseScheduleId);
+
+    /**
+     * 获取当前班级列表的所有未开始的课程
+     * @param classGroupIds
+     * @param teacherId
+     * @param teacherRole
+     * @return
+     */
+    List<CourseSchedule> queryNoStartCourseByTeacherId(@Param("classGroupIds") String classGroupIds, @Param("teacherId") Integer teacherId, @Param("teacherRole") String teacherRole);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -62,7 +62,7 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @params [days:天数]
 	 * @describe 获取多少天之前的未结算教师课酬记录(vip课)
 	 */
-	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(@Param("days") Integer days);
+	List<CourseScheduleTeacherSalary> findSomeDayAgoTeacherCourseSalaryNoSettlement(@Param("startDate") String startDate, @Param("endDate") String endDate);
 
 	List<CourseScheduleTeacherSalary> findTemp();
 
@@ -73,7 +73,7 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @params [days:天数]
 	 * @describe 获取多少天之前的未结算教师课酬记录(陪练课课)
 	 */
-	List<CourseScheduleTeacherSalary> findTeacherCourseSalaryNoSettlement(@Param("days") Integer days,@Param("groupType") String groupType);
+	List<CourseScheduleTeacherSalary> findTeacherCourseSalaryNoSettlement(@Param("startDate") String startDate, @Param("endDate") String endDate);
 
 	/**
 	 * 查询老师指定课程的课酬
@@ -358,7 +358,7 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @param endDate
 	 * @return
 	 */
-	List<TeacherVipSalaryDto> queryOnlineCourseByGroupType(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
+	List<TeacherVipSalaryDto> queryOnlineCourseByGroupType(@Param("startDate") String startDate, @Param("endDate") String endDate);
 	/**
 	 * 该用户是不是这个群组的老师
 	 * @param groupId

+ 71 - 71
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -245,62 +245,62 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
     void orderCallback(StudentPaymentOrder order);
 
     /**
-	 * @Author: Joburgess
-	 * @Date: 2019/10/3
-	 * @params [vipGroupId, studentId]
-	 * @return void
-	 * @describe 申请退课
-	 */
-	void applyRefund(Long vipGroupId);
-
-	/**
-	 * @describe 给指定学生退课
-	 * @author Joburgess
-	 * @date 2019/11/15
-	 * @param vipGroupId: vip课程
-	 * @param studentId: 学生编号
-	 * @return void
-	 */
-	void applyRefundForStudent(Long vipGroupId, Integer studentId, BigDecimal amount);
-
-	/**
-	 * @describe 对某个学生进行休学
-	 * @author Joburgess
-	 * @date 2019/12/18
-	 * @param vipGroupId: vip课编号
-	 * @param studentId: 学生编号
-	 * @return void
-	 */
-	void pauseForStudent(Long vipGroupId, Integer studentId);
-
-	/**
-	 * @describe 恢复休学的学生
-	 * @author Joburgess
-	 * @date 2019/12/18
-	 * @param studentRecoverInfo:
-	 * @return void
-	 */
-	void recoverForStudent(StudentRecoverDto studentRecoverInfo);
-
-	/**
-	 * @describe 获取学生休学信息
-	 * @author Joburgess
-	 * @date 2019/12/24
-	 * @param vipGroupId:
-	 * @param studentId:
-	 * @return com.ym.mec.biz.dal.dto.StudentRecoverInfoDto
-	 */
-	StudentRecoverInfoDto getStudentPauseInfo(Long vipGroupId, Integer studentId);
-
-	/**
-	 * @describe 获取指定学生的剩余课时费用
-	 * @author Joburgess
-	 * @date 2019/11/15
-	 * @param vipGroupId: VIP课编号
-	 * @param studentId: 学生编号
-	 * @return java.util.Map<java.lang.String,java.math.BigDecimal>
-	 */
-	Map<String,BigDecimal> getStudentSurplusCourseFee(Long vipGroupId, Integer studentId);
+     * @Author: Joburgess
+     * @Date: 2019/10/3
+     * @params [vipGroupId, studentId]
+     * @return void
+     * @describe 申请退课
+     */
+    void applyRefund(Long vipGroupId);
+
+    /**
+     * @describe 给指定学生退课
+     * @author Joburgess
+     * @date 2019/11/15
+     * @param vipGroupId: vip课程
+     * @param studentId: 学生编号
+     * @return void
+     */
+    void applyRefundForStudent(Long vipGroupId, Integer studentId, BigDecimal amount);
+
+    /**
+     * @describe 对某个学生进行休学
+     * @author Joburgess
+     * @date 2019/12/18
+     * @param vipGroupId: vip课编号
+     * @param studentId: 学生编号
+     * @return void
+     */
+    void pauseForStudent(Long vipGroupId, Integer studentId);
+
+    /**
+     * @describe 恢复休学的学生
+     * @author Joburgess
+     * @date 2019/12/18
+     * @param studentRecoverInfo:
+     * @return void
+     */
+    void recoverForStudent(StudentRecoverDto studentRecoverInfo);
+
+    /**
+     * @describe 获取学生休学信息
+     * @author Joburgess
+     * @date 2019/12/24
+     * @param vipGroupId:
+     * @param studentId:
+     * @return com.ym.mec.biz.dal.dto.StudentRecoverInfoDto
+     */
+    StudentRecoverInfoDto getStudentPauseInfo(Long vipGroupId, Integer studentId);
+
+    /**
+     * @describe 获取指定学生的剩余课时费用
+     * @author Joburgess
+     * @date 2019/11/15
+     * @param vipGroupId: VIP课编号
+     * @param studentId: 学生编号
+     * @return java.util.Map<java.lang.String,java.math.BigDecimal>
+     */
+    Map<String,BigDecimal> getStudentSurplusCourseFee(Long vipGroupId, Integer studentId);
 
     /**
      * @Author: Joburgess
@@ -344,7 +344,7 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @return
      */
     boolean awardedMonthlyRewards();
-    
+
     /**
      * 根据老师查询vip课教学点
      * @param userId
@@ -379,19 +379,19 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      */
     void addVipGroupStudents(Long vipGroupId,List<Integer> studentIds);
 
-	/**
-	 * 更新vipgroup至完成状态
-	 */
-	void updateVipGroupStatusToFinished();
-
-	/**
-	 * @describe 获取vip课购买信息
-	 * @author Joburgess
-	 * @date 2019/11/29
-	 * @param vipGroupId: vip课编号
-	 * @param userId: 用户编号
-	 * @return void
-	 */
+    /**
+     * 更新vipgroup至完成状态
+     */
+    void updateVipGroupStatusToFinished();
+
+    /**
+     * @describe 获取vip课购买信息
+     * @author Joburgess
+     * @date 2019/11/29
+     * @param vipGroupId: vip课编号
+     * @param userId: 用户编号
+     * @return void
+     */
     VipGroupPayInfoDto getVipGroupPayInfo(Integer vipGroupId,Integer userId);
 
     /**
@@ -418,5 +418,5 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @param endDate
      * @return
      */
-    void updateHistoryTeacherSalaryOfOnline(Date startDate, Date endDate);
+    void updateHistoryTeacherSalaryOfOnline(String startDate, String endDate);
 }

+ 38 - 28
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -109,7 +109,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         //获取活动信息
         VipGroupActivity vipGroupActivity = null;
         if(vipGroup.getVipGroupActivityId() != null){
-        	vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
+            vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
         }
 
         List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<>();
@@ -203,10 +203,13 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     @Transactional(rollbackFor = Exception.class)
     public void practiceTeacherSalarySettlement() {
 //        int days = Integer.parseInt(sysConfigDao.findByParamName(SysConfigService.VIP_APPEAL_DAYS_RANGE).getParanValue());
-        int days = 0;
+//        int days = 0;
         //获取教师未结算课程记录
         Date now = new Date();
-        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findTeacherCourseSalaryNoSettlement(days,GroupType.PRACTICE.getCode());
+        Date date = DateUtil.addMonths(now, -1);
+        String startDate = DateUtil.format(DateUtil.getFirstDayOfMonth(date),DateUtil.DEFAULT_PATTERN);
+        String endDate = DateUtil.format(DateUtil.getLastDayOfMonth(date),DateUtil.DEFAULT_PATTERN);
+        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findTeacherCourseSalaryNoSettlement(startDate,endDate);
         if (!CollectionUtils.isEmpty(someDayAgoTeacherCourseSalaryNoSettlement)) {
             someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> {
                 courseScheduleTeacherSalary.setActualSalary(courseScheduleTeacherSalary.getTeacherActualSalary());
@@ -284,16 +287,20 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     @Transactional(rollbackFor = Exception.class)
     public void teacherSalarySettlement() {
 //        int days = Integer.parseInt(sysConfigDao.findByParamName(SysConfigService.VIP_APPEAL_DAYS_RANGE).getParanValue());
-        int days = 0;
+//        int days = 0;
         BigDecimal percent = new BigDecimal(10);
-
+        Date now = new Date();
+        Date date = DateUtil.addMonths(now, -1);
+        String startDate = DateUtil.format(DateUtil.getFirstDayOfMonth(date),DateUtil.DEFAULT_PATTERN);
+        String endDate = DateUtil.format(DateUtil.getLastDayOfMonth(date),DateUtil.DEFAULT_PATTERN);
         //获取教师未结算课程记录
-        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findSomeDayAgoTeacherCourseSalaryNoSettlement(days);
+        List<CourseScheduleTeacherSalary> someDayAgoTeacherCourseSalaryNoSettlement = courseScheduleTeacherSalaryDao.findSomeDayAgoTeacherCourseSalaryNoSettlement(startDate,endDate);
         if (CollectionUtils.isEmpty(someDayAgoTeacherCourseSalaryNoSettlement)) {
             LOGGER.info("未获取到未结算课酬记录!");
             return;
         }
-        Date now = new Date();
+
+        vipGroupService.updateHistoryTeacherSalaryOfOnline(startDate, endDate);
         //获取未结算课程编号列表
         List<Long> courseScheduleIds = someDayAgoTeacherCourseSalaryNoSettlement.stream().map(CourseScheduleTeacherSalary::getCourseScheduleId).collect(Collectors.toList());
 
@@ -302,8 +309,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 //        Map<Long, List<StudentAttendance>> courseStudentAttendancesMap = studentAttendances.stream().collect(Collectors.groupingBy(StudentAttendance::getCourseScheduleId));
 
         //所有课程的教师考勤记录
-        List<TeacherAttendance> teacherAttendancesByCourseSchedule = teacherAttendanceDao.findTeacherIdByCourseSchedule(courseScheduleIds);
-        Map<Long, List<TeacherAttendance>> courseTeacherAttendancesMap = teacherAttendancesByCourseSchedule.stream().collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
+//        List<TeacherAttendance> teacherAttendancesByCourseSchedule = teacherAttendanceDao.findTeacherIdByCourseSchedule(courseScheduleIds);
+//        Map<Long, List<TeacherAttendance>> courseTeacherAttendancesMap = teacherAttendancesByCourseSchedule.stream().collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
 
         //获取未结算课程投诉记录
         List<CourseScheduleComplaints> courseScheduleComplaints = courseScheduleComplaintsDao.findByCourseScheduleIds(courseScheduleIds);
@@ -347,19 +354,19 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 //                return;
 //            }
 
-            List<TeacherAttendance> teacherAttendances = courseTeacherAttendancesMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
-            if(CollectionUtils.isEmpty(teacherAttendances)){
-                return;
-            }
-            int teacherAttendanceNum=0;
-            for (TeacherAttendance teacherAttendance : teacherAttendances) {
-                if(Objects.nonNull(teacherAttendance.getSignInTime())||Objects.nonNull(teacherAttendance.getSignOutTime())){
-                    teacherAttendanceNum+=1;
-                }
-            }
-            if(teacherAttendanceNum==0){
-                return;
-            }
+//            List<TeacherAttendance> teacherAttendances = courseTeacherAttendancesMap.get(courseScheduleTeacherSalary.getCourseScheduleId());
+//            if(CollectionUtils.isEmpty(teacherAttendances)){
+//                return;
+//            }
+//            int teacherAttendanceNum=0;
+//            for (TeacherAttendance teacherAttendance : teacherAttendances) {
+//                if(Objects.nonNull(teacherAttendance.getSignInTime())||Objects.nonNull(teacherAttendance.getSignOutTime())){
+//                    teacherAttendanceNum+=1;
+//                }
+//            }
+//            if(teacherAttendanceNum==0){
+//                return;
+//            }
 
             //当前课程缴费学生数量
 //            BigDecimal courseStudentNum = new BigDecimal(studentPaymentsWithCourse.size());
@@ -492,12 +499,15 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     @Transactional(rollbackFor = Exception.class)
     public void musicGroupTeacherSalarySettlement() {
         Date now = new Date();
-        Date settleTime = DateUtil.addDays1(now, -sysConfigDao.findByParamName(SysConfigService.MUSIC_GROUP_SETTLEMENT_DAY).getParanValue(Integer.class));
+        Date date = DateUtil.addMonths(now, -1);
+        String startDate = DateUtil.format(DateUtil.getFirstDayOfMonth(date),DateUtil.DEFAULT_PATTERN);
+        String endDate = DateUtil.format(DateUtil.getLastDayOfMonth(date),DateUtil.DEFAULT_PATTERN);
+//        Date settleTime = DateUtil.addDays1(now, -sysConfigDao.findByParamName(SysConfigService.MUSIC_GROUP_SETTLEMENT_DAY).getParanValue(Integer.class));
         Integer settlementClassMinutes = Integer.parseInt(sysConfigDao.findByParamName(SysConfigService.MUSIC_GROUP_SETTLEMENT_CLASS_MINUTES).getParanValue());
         Integer singleClassTime = Integer.parseInt(sysConfigDao.findByParamName(SysConfigService.MUSIC_GROUP_SETTLEMENT_SINGLE_CLASS_MINUTES).getParanValue());
         Date entryDate = DateUtil.stringToDate(sysConfigDao.findByParamName(SysConfigService.TEACHER_ENTRY_DATE).getParanValue(),"yyyy-MM-dd");
-        //获取昨天的课程计划
-        List<CourseSchedule> yesterdayCourseSchedules = courseScheduleDao.findCourseScheduleWithDate(settleTime);
+        //获取上个月的课程计划
+        List<CourseSchedule> yesterdayCourseSchedules = courseScheduleDao.findCourseScheduleWithDate(startDate,endDate);
         //课程编号列表
         List<Long> courseScheduleIds = yesterdayCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
         if (CollectionUtils.isEmpty(courseScheduleIds)) {
@@ -581,14 +591,14 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             teacherClassMinutesMap.put(teacherId, schoolClassMinutesMap);
         });
         //用户账户自己变动信息列表
-        List<SysUserCashAccountDetail> userCashAccountDetails = new ArrayList<>();
+//        List<SysUserCashAccountDetail> userCashAccountDetails = new ArrayList<>();
         //计算课酬
         courseScheduleTeacherSalaries.forEach(courseScheduleTeacherSalary -> {
-            TeacherAttendance teacherAttendanceInfo = teacherAttendanceDao.findByTeacherAttendanceInfo(courseScheduleTeacherSalary.getUserId().longValue(), courseScheduleTeacherSalary.getCourseScheduleId());
+            /*TeacherAttendance teacherAttendanceInfo = teacherAttendanceDao.findByTeacherAttendanceInfo(courseScheduleTeacherSalary.getUserId().longValue(), courseScheduleTeacherSalary.getCourseScheduleId());
             if(Objects.isNull(teacherAttendanceInfo)
                 ||(Objects.isNull(teacherAttendanceInfo.getSignInTime())&&Objects.isNull(teacherAttendanceInfo.getSignOutTime()))){
                 return;
-            }
+            }*/
             boolean durationIsChange = false;
             //当前课酬对应的课程信息
             CourseSchedule courseSchedule = courseScheduleIdMap.get(courseScheduleTeacherSalary.getCourseScheduleId());

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2876,7 +2876,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Override
 	@Async
-	public void updateHistoryTeacherSalaryOfOnline(Date startDate, Date endDate) {
+	public void updateHistoryTeacherSalaryOfOnline(String startDate, String endDate) {
 		// 查询所有含有线上课的课程组,线上课节数,实付金额
 		List<VipCourseStudentInfoDto> list = vipGroupDao.queryVipCourseStudentInfo();
 		Map<String, VipCourseStudentInfoDto> map = list.stream().collect(Collectors.toMap(VipCourseStudentInfoDto::getMusicGroupId, e -> e));

+ 66 - 39
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1788,7 +1788,7 @@
                cs.leave_student_num_,
                cs.schoole_id_
         FROM course_schedule cs
-        WHERE cs.class_date_ &lt;= DATE_FORMAT(#{date}, '%Y-%m-%d')
+        WHERE cs.class_date_ BETWEEN #{startDate} AND #{endDate}
           AND cs.group_type_ = 'MUSIC'
           AND (cs.del_flag_ IS NULL OR cs.del_flag_ = 0)
     </select>
@@ -2261,24 +2261,24 @@
 
     <select id="endFindCourseSchedules" resultMap="CourseScheduleEndDto">
         SELECT
-            cs.id_,
-            cs.group_type_,
-            cs.music_group_id_,
-            cs.class_group_id_,
-            cs.status_,
-            cs.name_,
-            CONCAT(cs.class_date_,' ',cs.start_class_time_) course_start_time_,
-            CONCAT(cs.class_date_,' ',cs.end_class_time_) course_end_time_,
-            cs.actual_teacher_id_,
-            cs.teach_mode_,
-            cs.type_,
-            cs.schoole_id_,
-            s.name_ schoole_name_,
-            o.name_ organ_name_
+        cs.id_,
+        cs.group_type_,
+        cs.music_group_id_,
+        cs.class_group_id_,
+        cs.status_,
+        cs.name_,
+        CONCAT(cs.class_date_,' ',cs.start_class_time_) course_start_time_,
+        CONCAT(cs.class_date_,' ',cs.end_class_time_) course_end_time_,
+        cs.actual_teacher_id_,
+        cs.teach_mode_,
+        cs.type_,
+        cs.schoole_id_,
+        s.name_ schoole_name_,
+        o.name_ organ_name_
         FROM
-            course_schedule cs
-            LEFT JOIN school s ON cs.schoole_id_=s.id_
-            LEFT JOIN organization o ON cs.organ_id_=o.id_
+        course_schedule cs
+        LEFT JOIN school s ON cs.schoole_id_=s.id_
+        LEFT JOIN organization o ON cs.organ_id_=o.id_
         <include refid="endFindCourseSchedulesCondition"/>
         ORDER BY course_start_time_,cs.id_
         <include refid="global.limit"/>
@@ -2862,14 +2862,14 @@
     </resultMap>
     <select id="findCourseRate" resultMap="CourseScheduleRateDtoMap">
         SELECT cs.class_date_,
-               cs.start_class_time_,
-               cs.end_class_time_,
-               cs.id_,
-               cs.teaching_content_,
-               GROUP_CONCAT(cse.comment_ SEPARATOR ";") comment_,
-               cs.status_
+        cs.start_class_time_,
+        cs.end_class_time_,
+        cs.id_,
+        cs.teaching_content_,
+        GROUP_CONCAT(cse.comment_ SEPARATOR ";") comment_,
+        cs.status_
         FROM course_schedule cs
-                 LEFT JOIN course_schedule_evaluate cse ON cs.id_ = cse.course_schedule_id_
+        LEFT JOIN course_schedule_evaluate cse ON cs.id_ = cse.course_schedule_id_
         WHERE cs.group_type_ = #{groupType}
         <if test="groupId != null">
             AND cs.music_group_id_ = #{groupId}
@@ -3060,18 +3060,18 @@
     </select>
     <select id="countStudentVipCoursesWithDate" resultType="map">
         SELECT
-          cssp.user_id_ as 'key',
-          COUNT( cs.id_ ) as 'value'
+        cssp.user_id_ as 'key',
+        COUNT( cs.id_ ) as 'value'
         FROM
-            course_schedule_student_payment cssp
-            LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+        course_schedule_student_payment cssp
+        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
         WHERE
-            cssp.user_id_ IN
-            <foreach collection="studentIds" item="studentId" separator="," open="(" close=")">
-                #{studentId}
-            </foreach>
-            AND cssp.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
-            AND cs.class_date_ BETWEEN #{startTime} AND #{endTime}
+        cssp.user_id_ IN
+        <foreach collection="studentIds" item="studentId" separator="," open="(" close=")">
+            #{studentId}
+        </foreach>
+        AND cssp.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        AND cs.class_date_ BETWEEN #{startTime} AND #{endTime}
         GROUP BY
         cssp.user_id_
     </select>
@@ -3097,11 +3097,11 @@
 
     <select id="countStudentVipCoursesInFuture" resultType="map">
         SELECT
-          cssp.user_id_ as 'key',
-          COUNT( cs.id_ ) as 'value'
+        cssp.user_id_ as 'key',
+        COUNT( cs.id_ ) as 'value'
         FROM
-          course_schedule_student_payment cssp
-          LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
+        course_schedule_student_payment cssp
+        LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
         WHERE
         cssp.user_id_ IN
         <foreach collection="studentIds" item="studentId" separator="," open="(" close=")">
@@ -3112,5 +3112,32 @@
         GROUP BY
         cssp.user_id_
     </select>
+    <select id="queryNoStartCourseByTeacherId" resultMap="CourseSchedule">
+        SELECT cs.id_,
+               cs.music_group_id_,
+               cs.group_type_,
+               cs.class_group_id_,
+               cs.status_,
+               cs.subsidy_,
+               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.teacher_id_,
+               cs.actual_teacher_id_,
+               cs.create_time_,
+               cs.update_time_,
+               cs.teach_mode_,
+               cs.type_,
+               cs.name_,
+               cs.student_num_,
+               cs.leave_student_num_,
+               cs.teaching_content_,
+               cs.note_,
+               cs.schoole_id_,
+               cs.organ_id_ FROM course_schedule cs
+        LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
+        WHERE FIND_IN_SET(cs.class_group_id_,#{classGroupIds}) AND csts.teacher_role_ = #{teacherRole}
+        AND csts.user_id_ = #{teacherId} AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0
+    </select>
 
 </mapper>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -273,8 +273,8 @@
 		LEFT JOIN vip_group vg ON vg.id_ = cs.music_group_id_
 		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 		WHERE 1=1
-		<if test="days!=null">
-			AND cs.class_date_ &lt;= DATE_FORMAT(DATE_ADD( NOW( ), INTERVAL - #{days} DAY ),'%Y-%m-%d')
+		<if test="startDate != null">
+			AND cs.class_date_ BETWEEN #{startDate} AND #{endDate}
 		</if>
 		AND cs.group_type_ = 'VIP' AND vg.organ_id_ != 41
 		AND csts.settlement_time_ IS NULL

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleTeacherSalaryController.java

@@ -47,7 +47,7 @@ public class CourseScheduleTeacherSalaryController extends BaseController {
     }
     
     @GetMapping("/updateHistoryTeacherSalaryOfOnline")
-    public Object updateHistoryTeacherSalaryOfOnline(Date startDate, Date endDate) {
+    public Object updateHistoryTeacherSalaryOfOnline(String startDate, String endDate) {
     	vipGroupService.updateHistoryTeacherSalaryOfOnline(startDate, endDate);
         return succeed();
     }