Joburgess 5 éve
szülő
commit
c26edc0f88

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

@@ -58,6 +58,17 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int batchDeleteCourseSchedules(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
+     * @describe 获取指定乐团下对应状态的课程编号列表
+     * @author Joburgess
+     * @date 2019/11/16
+     * @param musicGroupId:乐团编号
+     * @param status: 状态
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<CourseSchedule> findMusicGroupCourseSchedules(@Param("musicGroupId") String musicGroupId,
+                                               @Param("status") String status);
+
+    /**
      * @param teacherId: 教师编号
      * @param classDate: 上课日期
      * @param startTime: 开始时间

+ 11 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -13,7 +13,6 @@ import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
-import org.apache.commons.collections.iterators.ObjectGraphIterator;
 
 import java.util.Date;
 import java.util.List;
@@ -29,15 +28,24 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	TeacherAttendanceDto getCurrentCourseDetail(Long courseID);
 
 	/**
-	 * @describe 根据课程编号删除课程计划及对应的学生缴费、教师课酬记录
+	 * @describe 根据课程编号删除课程计划及对应的学生缴费、教师课酬记录、教师签到记录
 	 * @author Joburgess
 	 * @date 2019/10/31
-	 * @param courseScheduleIds:
+	 * @param courseScheduleIds: 课程计划编号列表
 	 * @return int
 	 */
 	void deleteCourseSchedules(List<Long> courseScheduleIds);
 
 	/**
+	 * @describe 删除乐团下所有未上的课时
+	 * @author Joburgess
+	 * @date 2019/11/16
+	 * @param musicGroupId:
+	 * @return void
+	 */
+	void batchDeleteMusicGroupNotStartCourse(String musicGroupId);
+
+	/**
 	 * @describe 判断该课程是否只能进行正常签到
 	 * @author Joburgess
 	 * @date 2019/11/5

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -118,6 +118,21 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
+	public void batchDeleteMusicGroupNotStartCourse(String musicGroupId) {
+		if(StringUtils.isBlank(musicGroupId)){
+			throw new BizException("请指定乐团");
+		}
+		List<CourseSchedule> musicGroupCourseSchedules = courseScheduleDao.findMusicGroupCourseSchedules(musicGroupId, CourseStatusEnum.NOT_START.getCode());
+		if(CollectionUtils.isEmpty(musicGroupCourseSchedules)){
+			throw new BizException("此乐团不存在未上课程");
+		}
+		List<Long> courseScheduleIds = musicGroupCourseSchedules.stream()
+								.map(CourseSchedule::getId)
+								.collect(Collectors.toList());
+		deleteCourseSchedules(courseScheduleIds);
+	}
+
+	@Override
 	public YesOrNoEnum enableOnlyNormalAttendance(Date startClassTime,Long userId,boolean checkSchool,Integer schoolId){
 		Date endTime=startClassTime;
 		Date startTime=DateUtil.addHours(endTime,-1);

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

@@ -1258,6 +1258,7 @@
         <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
             #{classGroupId}
         </foreach>
+        AND csts.teacher_role_='BISHOP'
         ORDER BY start_class_time_
     </select>
     <select id="findStudentMap" resultType="java.util.Map">
@@ -1310,6 +1311,16 @@
 
         GROUP BY class_group_id_
     </select>
+    <select id="findMusicGroupCourseSchedules" resultMap="CourseSchedule">
+        SELECT
+            cs.*
+        FROM
+            course_schedule cs
+            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        WHERE
+            cg.music_group_id_=#{musicGroupId}
+            AND status_ = #{status}
+    </select>
     <delete id="deleteCourseSchedulesByClassGroupIds">
         DELETE FROM course_schedule WHERE class_group_id_ IN
         <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -210,6 +210,14 @@ public class CourseScheduleController extends BaseController {
 		return succeed();
 	}
 
+    @ApiOperation(value = "删除乐团下所有未上的课时")
+    @GetMapping("/batchDeleteMusicGroupNotStartCourse")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/batchDeleteMusicGroupNotStartCourse')")
+	public Object batchDeleteMusicGroupNotStartCourse(String musicGroupId){
+        scheduleService.batchDeleteMusicGroupNotStartCourse(musicGroupId);
+        return succeed();
+    }
+
 	@ApiOperation(value = "乐团详情--课酬调整--课程教师列表")
 	@GetMapping("/queryTeacherSalary")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/queryTeacherSalary')")