Joburgess há 5 anos atrás
pai
commit
1b4cf30c3c

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentVipGroupShowListDto.java

@@ -58,6 +58,17 @@ public class StudentVipGroupShowListDto {
 
 
     private String categoryName;
     private String categoryName;
 
 
+    @ApiModelProperty(value = "开课时间")
+    private Date courseStartDate;
+
+    public Date getCourseStartDate() {
+        return courseStartDate;
+    }
+
+    public void setCourseStartDate(Date courseStartDate) {
+        this.courseStartDate = courseStartDate;
+    }
+
     public Integer getTeacherId() {
     public Integer getTeacherId() {
         return teacherId;
         return teacherId;
     }
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassGroupDto.java

@@ -77,6 +77,17 @@ public class TeacherClassGroupDto {
     @ApiModelProperty(value = "每月平均课时")
     @ApiModelProperty(value = "每月平均课时")
     private double avgClassTimesOfMonth;
     private double avgClassTimesOfMonth;
 
 
+    @ApiModelProperty(value = "开课时间")
+    private Date courseStartDate;
+
+    public Date getCourseStartDate() {
+        return courseStartDate;
+    }
+
+    public void setCourseStartDate(Date courseStartDate) {
+        this.courseStartDate = courseStartDate;
+    }
+
     public double getAvgClassTimesOfMonth() {
     public double getAvgClassTimesOfMonth() {
         return avgClassTimesOfMonth;
         return avgClassTimesOfMonth;
     }
     }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupTeacherMapperService.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.common.service.BaseService;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 public interface ClassGroupTeacherMapperService extends BaseService<Long, ClassGroupTeacherMapper> {
 public interface ClassGroupTeacherMapperService extends BaseService<Long, ClassGroupTeacherMapper> {
 
 
@@ -33,11 +34,11 @@ public interface ClassGroupTeacherMapperService extends BaseService<Long, ClassG
     boolean classGroupTeacherMapperUpdate(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) throws Exception;
     boolean classGroupTeacherMapperUpdate(List<ClassGroupTeacherMapper> classGroupTeacherMapperList) throws Exception;
 
 
     /**
     /**
-     * @describe 创建乐团课单节课对应课次
+     * @describe 创建乐团课单节课对应教师课酬
      * @author Joburgess
      * @author Joburgess
      * @date 2019/10/24
      * @date 2019/10/24
      * @param courseSchedules: 课程计划列表
      * @param courseSchedules: 课程计划列表
      * @return void
      * @return void
      */
      */
-    void createCourseScheduleTeacherSalary(List<CourseSchedule> courseSchedules);
-}
+    void createCourseScheduleTeacherSalary(List<CourseSchedule> courseSchedules, Map<Long, CourseSchedule> oldCourseSchedules);
+}

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

@@ -164,7 +164,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
 
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public void createCourseScheduleTeacherSalary(List<CourseSchedule> courseSchedules) {
+    public void createCourseScheduleTeacherSalary(List<CourseSchedule> courseSchedules, Map<Long, CourseSchedule> oldCourseSchedules) {
         List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
         List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
 
 
         BigDecimal teacherSalaryTimeUnit = new BigDecimal(sysConfigDao.findConfigValue(SysConfigService.TEACHER_SALARY_TIME_UNIT));
         BigDecimal teacherSalaryTimeUnit = new BigDecimal(sysConfigDao.findConfigValue(SysConfigService.TEACHER_SALARY_TIME_UNIT));
@@ -194,7 +194,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
 
         courseSchedules.forEach(courseSchedule -> {
         courseSchedules.forEach(courseSchedule -> {
             if (Objects.isNull(courseSchedule.getType())) {
             if (Objects.isNull(courseSchedule.getType())) {
-                throw new BizException("存在未指定课程类型的课程");
+                courseSchedule.setType(oldCourseSchedules.get(courseSchedule.getId()).getType());
             }
             }
 
 
             //获取结算方式
             //获取结算方式

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

@@ -480,26 +480,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 throw new BizException("不能调整今天及以前的课程");
                 throw new BizException("不能调整今天及以前的课程");
             }
             }
 
 
-			ArrayList<Date> dates = new ArrayList<>();
-			dates.add(newCourseSchedule.getClassDate());
-			List<CourseSchedule> coursesByDates = courseScheduleDao.findOverLapCoursesInDay(dates,newCourseSchedule.getStartClassTime(),newCourseSchedule.getEndClassTime());
-			//判断是否存在同时间上课的班级
-			if(null==coursesByDates||coursesByDates.size()<=0){
-				courseScheduleDao.update(newCourseSchedule);
-			}else{
-				coursesByDates.forEach(courseSchedule -> {
-					if(courseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
-						//存在时间重叠,需要前端重新调整
-						throw new BizException("所选教师在当天课程安排上存在重叠!");
-					}
-				});
-				List<Integer> repeatClassGroupIds = coursesByDates.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
-				checkStudentIsRepeat(repeatClassGroupIds);
-				oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
-				oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
-				oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
-				courseScheduleDao.update(oldCourseSchedule);
-			}
+			oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
+			oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
+			oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
+			courseScheduleDao.update(oldCourseSchedule);
 
 
 			//被修改的教师编号列表,需要将预计薪水置零
 			//被修改的教师编号列表,需要将预计薪水置零
 			List<Integer> beReplaceTeacherIds=new ArrayList<>();
 			List<Integer> beReplaceTeacherIds=new ArrayList<>();
@@ -511,7 +495,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
 					VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId().intValue());
 					TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
 					TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(newCourseSchedule.getActualTeacherId(), byCourseSchedule.getVipGroupCategoryId());
 					List<CourseSchedule> courseSchedules=new ArrayList<>();
 					List<CourseSchedule> courseSchedules=new ArrayList<>();
-					coursesByDates.add(newCourseSchedule);
 					courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,
 					courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,
 							courseSchedules,
 							courseSchedules,
 							byTeacherAndCategory.getOnlineClassesSalary(),
 							byTeacherAndCategory.getOnlineClassesSalary(),
@@ -568,14 +551,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		});
 		});
 		//生成修改后的教师课酬
 		//生成修改后的教师课酬
 		if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){
 		if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){
-			classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse);
+			classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse,oldCourseSchedules);
 		}
 		}
 	}
 	}
 
 
 	@Transactional(rollbackFor = Exception.class)
 	@Transactional(rollbackFor = Exception.class)
 	@Override
 	@Override
 	public void courseSwap(Long courseScheduleId1, Long courseScheduleId2) {
 	public void courseSwap(Long courseScheduleId1, Long courseScheduleId2) {
+		if(courseScheduleId1.equals(courseScheduleId2)){
+			throw new BizException("请选择不同的课程");
+		}
+		CourseSchedule courseSchedule1 = courseScheduleDao.get(courseScheduleId1);
+		CourseSchedule courseSchedule2 = courseScheduleDao.get(courseScheduleId2);
+
+		courseSchedule1.setId(courseScheduleId2);
+		courseSchedule2.setId(courseScheduleId1);
+
 		List<CourseSchedule> courseSchedules = courseScheduleDao.findCourseSchedulesByIds(new Long[]{courseScheduleId1, courseScheduleId2});
 		List<CourseSchedule> courseSchedules = courseScheduleDao.findCourseSchedulesByIds(new Long[]{courseScheduleId1, courseScheduleId2});
+
 		CourseSchedule temp=new CourseSchedule();
 		CourseSchedule temp=new CourseSchedule();
 		BeanUtils.copyProperties(courseSchedules.get(0),temp);
 		BeanUtils.copyProperties(courseSchedules.get(0),temp);
 		courseSchedules.get(0).setClassDate(courseSchedules.get(1).getClassDate());
 		courseSchedules.get(0).setClassDate(courseSchedules.get(1).getClassDate());

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

@@ -304,7 +304,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if(!CollectionUtils.isEmpty(updateCourseSchedules)){
 		if(!CollectionUtils.isEmpty(updateCourseSchedules)){
 			//需要删除的课程编号列表
 			//需要删除的课程编号列表
 			List<Long> deleteCourseScheduleIds = vipGroupCourseSchedules.stream()
 			List<Long> deleteCourseScheduleIds = vipGroupCourseSchedules.stream()
-					.filter(courseSchedule -> updateCourseScheduleIds.contains(courseSchedule.getId()))
+					.filter(courseSchedule -> !updateCourseScheduleIds.contains(courseSchedule.getId()))
 					.map(CourseSchedule::getId)
 					.map(CourseSchedule::getId)
 					.collect(Collectors.toList());
 					.collect(Collectors.toList());
 			//删除对应的课程及相关信息
 			//删除对应的课程及相关信息
@@ -615,7 +615,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
 			switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
 				case TEACHER_DEFAULT:
 				case TEACHER_DEFAULT:
 					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
 					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
-							&&vipGroupActivity.getSalaryReadonlyFlag().equals("0")){
+							&&vipGroupActivity.getSalaryReadonlyFlag().equals("1")){
 						teacherOnlineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOnlineTeacherSalary();
 						teacherOnlineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOnlineTeacherSalary();
 					}
 					}
 
 
@@ -644,7 +644,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
 			switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
 				case TEACHER_DEFAULT:
 				case TEACHER_DEFAULT:
 					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
 					if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
-							&&vipGroupActivity.getSalaryReadonlyFlag().equals("0")){
+							&&vipGroupActivity.getSalaryReadonlyFlag().equals("1")){
 						teacherOfflineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOfflineTeacherSalary();
 						teacherOfflineSalary=((VipGroupApplyBaseInfoDto) vipGroup).getOfflineTeacherSalary();
 					}
 					}
 					if(Objects.isNull(teacherOfflineSalary)){
 					if(Objects.isNull(teacherOfflineSalary)){

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

@@ -397,6 +397,7 @@
         <result column="online_classes_num_" property="onlineClassesNum"/>
         <result column="online_classes_num_" property="onlineClassesNum"/>
         <result column="offline_classes_num_" property="offLineClassesNum"/>
         <result column="offline_classes_num_" property="offLineClassesNum"/>
         <result property="type" column="type_"/>
         <result property="type" column="type_"/>
+        <result property="courseStartDate" column="courses_start_date"/>
     </resultMap>
     </resultMap>
 
 
     <select id="findTeacherMusicClassGroup" resultMap="TeacherClassGroupDto">
     <select id="findTeacherMusicClassGroup" resultMap="TeacherClassGroupDto">
@@ -436,6 +437,7 @@
             vg.payment_expire_date_,
             vg.payment_expire_date_,
             vg.courses_expire_date_,
             vg.courses_expire_date_,
             vg.single_class_minutes_,
             vg.single_class_minutes_,
+            vg.courses_start_date,
             IF(vg.online_classes_num_ IS NULL,0,vg.online_classes_num_) online_classes_num_,
             IF(vg.online_classes_num_ IS NULL,0,vg.online_classes_num_) online_classes_num_,
             IF(vg.offline_classes_num_ IS NULL,0,vg.offline_classes_num_) offline_classes_num_,
             IF(vg.offline_classes_num_ IS NULL,0,vg.offline_classes_num_) offline_classes_num_,
             cg.total_class_times_,
             cg.total_class_times_,

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

@@ -118,6 +118,9 @@
 			<if test="leaveCategoryId != null">
 			<if test="leaveCategoryId != null">
 				AND tlr.leave_category_id_ = #{leaveCategoryId}
 				AND tlr.leave_category_id_ = #{leaveCategoryId}
 			</if>
 			</if>
+			<if test="teacherId != null">
+				AND tlr.user_id_ = #{teacherId}
+			</if>
 		</where>
 		</where>
 	</sql>
 	</sql>
 
 

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

@@ -93,6 +93,7 @@
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="attribute1_" property="attribute1" />
         <result column="attribute1_" property="attribute1" />
         <result column="category_name_" property="categoryName"/>
         <result column="category_name_" property="categoryName"/>
+        <result property="courseStartDate" column="courses_start_date"/>
     </resultMap>
     </resultMap>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
@@ -297,6 +298,7 @@
             vg.single_class_minutes_,
             vg.single_class_minutes_,
             vg.payment_expire_date_,
             vg.payment_expire_date_,
             vg.courses_expire_date_,
             vg.courses_expire_date_,
+            vg.courses_start_date,
             vg.online_classes_num_,
             vg.online_classes_num_,
             vg.offline_classes_num_,
             vg.offline_classes_num_,
             vg.total_price_,
             vg.total_price_,

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

@@ -139,6 +139,9 @@ public class CourseScheduleController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/courseSwap')")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/courseSwap')")
     @GetMapping(value = "/courseSwap",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     @GetMapping(value = "/courseSwap",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public Object courseSwap(Long courseScheduleId1,Long courseScheduleId2){
     public Object courseSwap(Long courseScheduleId1,Long courseScheduleId2){
+        if(Objects.isNull(courseScheduleId1)||Objects.isNull(courseScheduleId2)){
+            return failed("请指定课程");
+        }
         scheduleService.courseSwap(courseScheduleId1,courseScheduleId2);
         scheduleService.courseSwap(courseScheduleId1,courseScheduleId2);
         return succeed();
         return succeed();
     }
     }