Преглед на файлове

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

# Conflicts:
#	mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
yonge преди 5 години
родител
ревизия
66b553c61b

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

@@ -238,6 +238,18 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                                   @Param("groupType") GroupType groupType);
 
     /**
+     * @describe 更新课程组下课程的名字
+     * @author Joburgess
+     * @date 2020/3/5
+     * @param groupId:
+     * @param groupType:
+     * @return int
+     */
+    int updateCourseNameByGroup(@Param("groupId") String groupId,
+                                @Param("groupType") GroupType groupType,
+                                @Param("name") String name);
+
+    /**
      * 逻辑删除乐团课程
      *
      * @param musicGroupID

+ 6 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -1,17 +1,6 @@
 package com.ym.mec.biz.service;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
-import com.ym.mec.biz.dal.dto.CoursePostponeDto;
-import com.ym.mec.biz.dal.dto.CourseScheduleDto;
-import com.ym.mec.biz.dal.dto.CourseScheduleEndDto;
-import com.ym.mec.biz.dal.dto.CourseTimeDto;
-import com.ym.mec.biz.dal.dto.CreateCourseScheduleDto;
-import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
-import com.ym.mec.biz.dal.dto.VipGroupCourseAdjustInfoDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.CourseGenerateDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
@@ -27,6 +16,10 @@ import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 public interface CourseScheduleService extends BaseService<Long, CourseSchedule> {
 
 	/**
@@ -441,7 +434,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param practiceGroupId
 	 * @param teacherId
 	 */
-	void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId);
+	void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId);
 
 	/**
 	 * 清空老师和学生考勤

+ 59 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3607,12 +3607,31 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         checkNewCourseSchedules(courseSchedules,false);
 
         courseScheduleDao.update(oldCourseSchedule);
-        List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
-        if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
-            throw new BizException("请设置老师默认课酬");
+
+        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
+
+        if(Objects.nonNull(practiceGroup.getBuyMonths())){
+            List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+            if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
+                throw new BizException("请设置老师默认课酬");
+            }
+            courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
+        }else{
+            List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroup.getId().toString(), GroupType.PRACTICE);
+            if(!CollectionUtils.isEmpty(groupNotStartCourses)){
+                SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+                BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+                List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+                List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
+                for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+                    courseScheduleTeacherSalary.setUserId(teacherId);
+                    courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
+                }
+                courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
+            }
         }
+
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
-        courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.insert(scheduleModifyLog);
 
         Map<Integer, String> map = new HashMap<>(2);
@@ -3626,7 +3645,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId) {
+    public void practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (null == user) {
             throw new BizException("获取用户信息失败");
@@ -3668,15 +3687,46 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         checkNewCourseSchedules(courseSchedules,false);
         courseScheduleDao.batchUpdate(courseSchedules);
         Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
-        courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
 
-        List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
-        if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
-            throw new BizException("请设置老师默认课酬");
+        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(practiceGroupId));
+
+        if(Objects.nonNull(practiceGroup.getBuyMonths())){
+            List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+            if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
+                throw new BizException("请设置老师默认课酬");
+            }
+            courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
+        }else{
+            List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, GroupType.PRACTICE);
+            if(!CollectionUtils.isEmpty(groupNotStartCourses)){
+                SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+                BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+                List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+                List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
+                for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+                    courseScheduleTeacherSalary.setUserId(teacherId);
+                    courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
+                }
+                courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
+            }
         }
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
 
+        if(Objects.nonNull(subjectId)&&!subjectId.equals(practiceGroup.getSubjectId())){
+            Subject subject = subjectDao.get(subjectId);
+            String groupName = practiceGroup.getName();
+            groupName=groupName.substring(groupName.indexOf("•"));
+            groupName=subject.getName()+groupName;
+            practiceGroup.setName(groupName);
+            practiceGroup.setSubjectId(subjectId);
+            practiceGroupDao.update(practiceGroup);
+            ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(practiceGroupId, GroupType.PRACTICE.getCode());
+            classGroup.setName(groupName);
+            classGroupDao.update(classGroup);
+            courseScheduleDao.updateCourseNameByGroup(practiceGroupId,GroupType.PRACTICE,groupName);
+        }
+
         if (teacherIdMap != null && teacherIdMap.size() > 0) {
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
                     teacherIdMap, null, 0, "7","TEACHER");

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

@@ -2591,4 +2591,8 @@
     <select id="findGroupNotStartCourses" resultMap="CourseSchedule">
         SELECT * FROM course_schedule WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId} AND CONCAT(class_date_, ' ', start_class_time_)>NOW()
     </select>
+
+    <update id="updateCourseNameByGroup">
+        UPDATE course_schedule SET name_=#{name} WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId};
+    </update>
 </mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -55,6 +55,9 @@
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.PracticeGroup">
 		UPDATE practice_group
 		<set>
+			<if test="subjectId!=null">
+				subject_id_=#{subjectId},
+			</if>
 			<if test="memo!=null">
 				memo_=#{memo},
 			</if>

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

@@ -361,8 +361,8 @@ public class CourseScheduleController extends BaseController {
     @ApiOperation(value = "陪练课课程组老师调整")
     @PostMapping("/practiceGroupTeacherAdjust")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/practiceGroupTeacherAdjust')")
-    public Object practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId){
-        scheduleService.practiceGroupTeacherAdjust(practiceGroupId,teacherId);
+    public Object practiceGroupTeacherAdjust(String practiceGroupId, Integer teacherId, Integer subjectId){
+        scheduleService.practiceGroupTeacherAdjust(practiceGroupId,teacherId,subjectId);
         return succeed();
     }