浏览代码

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 年之前
父节点
当前提交
0d1a12b009

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

@@ -365,6 +365,17 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<CourseSchedule> findVipGroupCourseSchedules(@Param("vipGroupId") Long vipGroupId);
 
     /**
+     * @describe 获取对应乐团下未开始的排课计划编号列表
+     * @author Joburgess
+     * @date 2019/12/5
+     * @param groupId: 乐团编号
+     * @param groupType: 乐团类型
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Long> findVipGroupNotStartCourseScheduleIds(@Param("groupId") String groupId,
+                                                        @Param("groupType") String groupType);
+
+    /**
      * @return java.lang.String
      * @Author: Joburgess
      * @Date: 2019/10/16

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java

@@ -39,12 +39,15 @@ public class ClassGroup4MixDto {
     @ApiModelProperty(value = "课程类型", required = true)
     private CourseSchedule.CourseScheduleType courseType;
 
-    @ApiModelProperty(value = "排课方式", required = true)
+    @ApiModelProperty(value = "排课循环方式", required = true)
     private List<CourseTimeDto> courseTimeDtoList;
 
     @ApiModelProperty(value = "班级类型", required = true)
     private ClassGroupTypeEnum type;
 
+    @ApiModelProperty(value = "排课方式(new -新增 renew-重排)", required = true)
+    private String courseAddType;
+
     public String getMusicGroupId() {
         return musicGroupId;
     }
@@ -140,4 +143,12 @@ public class ClassGroup4MixDto {
     public void setType(ClassGroupTypeEnum type) {
         this.type = type;
     }
+
+    public String getCourseAddType() {
+        return courseAddType;
+    }
+
+    public void setCourseAddType(String courseAddType) {
+        this.courseAddType = courseAddType;
+    }
 }

+ 4 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1135,7 +1135,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 times++;
 
                 for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
+                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), null, null);
                     BigDecimal salary = new BigDecimal("0");
 
                     Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));
@@ -1231,16 +1231,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         String subjectNames = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
-        //1、新班级关联老师信息
+        //1、新班级关联老师信息
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
-        if (classGroupTeacherMapperList != null && classGroupTeacherMapperList.size() > 0) {
-            classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
-                classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
-                classGroupTeacherMapper.setClassGroupId(classGroup.getId());
-                classGroupTeacherMapper.setMusicGroupId(classGroup.getMusicGroupId());
-            });
-            classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
-        }
 
         //5、插入班级排课信息
         LocalDateTime now = LocalDate.parse(classGroup4MixDto.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
@@ -1489,7 +1481,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setType(classGroup4MixDto.getCourseType());
                 courseSchedule.setGroupType(GroupType.MUSIC);
                 courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
-                courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
+                courseSchedule.setName(subjectNames + "-" + classGroup4MixDto.getCourseType().getMsg());
                 courseSchedule.setTeacherId(teacherId);
                 courseSchedule.setActualTeacherId(teacherId);
 
@@ -1498,7 +1490,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 times++;
 
                 for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), "SINGLE", musicGroup.getSettlementType());
+                    List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), null, null);
                     BigDecimal salary = new BigDecimal("0");
 
                     Map<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary> collect = teacherSalaryList.stream().collect(Collectors.toMap(TeacherDefaultMusicGroupSalary::getCourseScheduleType, teacherDefaultMusicGroupSalary -> teacherDefaultMusicGroupSalary));

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

@@ -1413,8 +1413,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     	if(vipGroup.getStatus()==VipGroupStatusEnum.CANCEL){
     		throw new BizException("该课程已结束或者已被停止,无法进行此操作");
 		}
-		List<CourseSchedule> vipGroupCourseSchedules = courseScheduleDao.findVipGroupCourseSchedules(vipGroupId);
-		List<Long> courseScheduleIds = vipGroupCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+		List<Long> courseScheduleIds = courseScheduleDao.findVipGroupNotStartCourseScheduleIds(vipGroupId.toString(),GroupType.VIP.getCode());
     	if(vipGroup.getStatus()==VipGroupStatusEnum.NOT_START){
 			vipGroup.setStatus(VipGroupStatusEnum.CANCEL);
     		vipGroupDao.update(vipGroup);

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

@@ -206,6 +206,7 @@
         <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
             #{courseScheduleId}
         </foreach>
+        AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) &gt; NOW()
     </delete>
 
     <!-- 分页查询 -->
@@ -842,6 +843,15 @@
           cs.music_group_id_ =#{vipGroupId} AND cs.group_type_ = 'VIP'
         ORDER BY start_class_time_
     </select>
+    <select id="findVipGroupNotStartCourseScheduleIds" resultType="long">
+        SELECT
+            cs.id_
+        FROM
+        	course_schedule cs
+        WHERE
+          cs.music_group_id_ =#{groupId} AND cs.group_type_ = #{groupType}
+          AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt; NOW()
+    </select>
     <select id="findByClassGroupAndDate" resultMap="CourseSchedule">
         SELECT
         id_,

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

@@ -110,7 +110,10 @@
 	<!-- 根据user_id 获取老师的默认薪酬 -->
 	<select id="getTeacherSalaryByUserIdAndType" resultMap="TeacherDefaultMusicGroupSalary">
 		SELECT * FROM teacher_default_music_group_salary
-		WHERE user_id_=#{userId} AND course_schedule_type_ = #{classGroupType}
+		WHERE user_id_=#{userId}
+		<if test="classGroupType != null">
+			AND course_schedule_type_ = #{classGroupType}
+		</if>
 	</select>
 
 	<select id="findByTeacher" resultMap="TeacherDefaultMusicGroupSalary">