瀏覽代碼

1、陪练课调整

Joburgess 5 年之前
父節點
當前提交
4dfefff75c

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

@@ -1046,6 +1046,11 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                           @Param("startTime") Date startTime,
                                                           @Param("endTime") Date endTime);
 
+
+    int countTeacherPracticeCourse(@Param("userId") Integer userId,
+                                                          @Param("startTime") Date startTime,
+                                                          @Param("endTime") Date endTime);
+
     /**
      * @describe 获取教师在指定时间段内的课程
      * @author Joburgess

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -1813,6 +1813,34 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             return result;
         }
 
+        Date monday1 = DateUtil.getWeekDayWithDate(allCourseDates.get(0), Calendar.MONDAY);
+        Date sunday1 = DateUtil.getWeekDayWithDate(allCourseDates.get(0), Calendar.SUNDAY);
+        int tp1 = courseScheduleDao.countTeacherPracticeCourse(practiceGroup.getUserId(), monday1, sunday1);
+        if(tp1>=80){
+            throw new BizException("学则的老师课程已经超过80节");
+        }
+
+        Date monday2 = DateUtil.getWeekDayWithDate(allCourseDates.get(1), Calendar.MONDAY);
+        Date sunday2 = DateUtil.getWeekDayWithDate(allCourseDates.get(1), Calendar.SUNDAY);
+        int tp2 = courseScheduleDao.countTeacherPracticeCourse(practiceGroup.getUserId(), monday2, sunday2);
+        if(tp2>=80){
+            throw new BizException("学则的老师课程已经超过80节");
+        }
+
+        Date monday3 = DateUtil.getWeekDayWithDate(allCourseDates.get(2), Calendar.MONDAY);
+        Date sunday3 = DateUtil.getWeekDayWithDate(allCourseDates.get(2), Calendar.SUNDAY);
+        int tp3 = courseScheduleDao.countTeacherPracticeCourse(practiceGroup.getUserId(), monday3, sunday3);
+        if(tp3>=80){
+            throw new BizException("学则的老师课程已经超过80节");
+        }
+
+        Date monday4 = DateUtil.getWeekDayWithDate(allCourseDates.get(3), Calendar.MONDAY);
+        Date sunday4 = DateUtil.getWeekDayWithDate(allCourseDates.get(3), Calendar.SUNDAY);
+        int tp4 = courseScheduleDao.countTeacherPracticeCourse(practiceGroup.getUserId(), monday4, sunday4);
+        if(tp4>=80){
+            throw new BizException("学则的老师课程已经超过80节");
+        }
+
         List<CourseSchedule> courseSchedules6 = courseScheduleDao.findTeacherCoursesWithIncludeDateRange(practiceGroup.getUserId(), allCourseDates.get(0), DateUtil.addMinutes(allCourseDates.get(0), practiceCourseMinutes));
         List<CourseSchedule> courseSchedules7 = courseScheduleDao.findTeacherCoursesWithIncludeDateRange(practiceGroup.getUserId(), allCourseDates.get(1), DateUtil.addMinutes(allCourseDates.get(1), practiceCourseMinutes));
         List<CourseSchedule> courseSchedules8 = courseScheduleDao.findTeacherCoursesWithIncludeDateRange(practiceGroup.getUserId(), allCourseDates.get(2), DateUtil.addMinutes(allCourseDates.get(2), practiceCourseMinutes));

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2124,6 +2124,18 @@
             #{userId}
         </foreach>
     </select>
+    <select id="countTeacherPracticeCourse" resultType="int">
+        SELECT
+            COUNT(1)
+        FROM
+        course_schedule_teacher_salary csts
+        LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+        WHERE
+        (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+        AND cs.group_type_='PRACTICE'
+        AND cs.class_date_ BETWEEN DATE_FORMAT(#{startTime},"%Y-%m-%d") AND DATE_FORMAT(#{endTime},"%Y-%m-%d")
+        AND csts.user_id_ =#{userId}
+    </select>
     <select id="findTeacherCoursesWithDateRange" resultMap="CourseSchedule">
         SELECT
         cs.id_,