zouxuan 5 år sedan
förälder
incheckning
a1cc0a0e86

+ 32 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/PracticeGroupQueryInfo.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.enums.GroupStatusEnum;
+import com.ym.mec.biz.dal.enums.PracticeGroupType;
 import com.ym.mec.common.page.QueryInfo;
 
 /**
@@ -12,6 +14,8 @@ public class PracticeGroupQueryInfo extends QueryInfo {
 
     private Integer teacherId;
 
+    private Integer studentId;
+
     private Long practiceId;
 
     private String month;
@@ -22,6 +26,10 @@ public class PracticeGroupQueryInfo extends QueryInfo {
 
     private Integer hasReport;
 
+    private String practiceGroupType;
+
+    private String groupStatus;
+
     private Integer educationalTeacherId;
 
     private Boolean hasEducationalTeacherId;
@@ -30,6 +38,30 @@ public class PracticeGroupQueryInfo extends QueryInfo {
 
     private boolean isExport = false;
 
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public String getPracticeGroupType() {
+        return practiceGroupType;
+    }
+
+    public void setPracticeGroupType(String practiceGroupType) {
+        this.practiceGroupType = practiceGroupType;
+    }
+
+    public String getGroupStatus() {
+        return groupStatus;
+    }
+
+    public void setGroupStatus(String groupStatus) {
+        this.groupStatus = groupStatus;
+    }
+
     public Integer getType() {
         return type;
     }

+ 52 - 45
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -47,6 +47,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import static com.ym.mec.biz.dal.enums.PracticeGroupType.TRIAL;
 import static com.ym.mec.biz.dal.enums.SignInStatusEnum.*;
 
 @Service
@@ -3723,17 +3724,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         if(teacherSalary != null && teacherSalary.getSettlementTime() != null){
             throw new BizException("调整失败: 课程已结算");
         }
+
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(oldCourseSchedule.getMusicGroupId()));
         String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
         String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
         Date startDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
         Date endDateTime = DateUtil.addMinutes(startDateTime,practiceGroup.getSingleClassMinutes());
-        if(DateUtil.minutesBetween(startDateTime,practiceGroup.getCoursesStartDate()) > 0){
-            throw new BizException("调整失败: 调整时间不得早于开课时间");
-        }
-        if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
-            throw new BizException("调整失败: 截止时间超过课程有效期");
-        }
+		if(practiceGroup.getType() != TRIAL){
+			if(DateUtil.minutesBetween(startDateTime,practiceGroup.getCoursesStartDate()) > 0){
+				throw new BizException("调整失败: 调整时间不得早于开课时间");
+			}
+			if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
+				throw new BizException("调整失败: 截止时间超过课程有效期");
+			}
+		}
         if(DateUtil.daysBetween(DateUtil.stringToDate(DateUtil.format(startDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN),
                 DateUtil.stringToDate(DateUtil.format(endDateTime,DateUtil.DEFAULT_PATTERN),DateUtil.DEFAULT_PATTERN)) > 0){
             throw new BizException("单节课时不允许跨天");
@@ -3825,25 +3829,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         courseScheduleDao.update(oldCourseSchedule);
 
         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<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseScheduleId);
-			if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
-                SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
-                BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
-                for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
-                    courseScheduleTeacherSalary.setUserId(teacherId);
-                    courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
-                }
-                courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
-            }
-        }
+		if(practiceGroup.getType() != TRIAL){
+			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<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseScheduleId);
+				if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
+					SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+					BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+					for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+						courseScheduleTeacherSalary.setUserId(teacherId);
+						courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
+					}
+					courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
+				}
+			}
+		}
 
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.insert(scheduleModifyLog);
@@ -3927,27 +3932,29 @@ 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());
+		if(practiceGroup.getType() != TRIAL){
+			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.batchUpdate(courseScheduleTeacherSalaries);
+				}
+			}
+		}
 
-        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.batchUpdate(courseScheduleTeacherSalaries);
-            }
-        }
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);
 

+ 12 - 1
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -233,7 +233,6 @@
 
     <sql id="practiceGroupQueryCondition">
         <where>
-            pg.group_status_ IN ('NORMAL', 'FINISH')
             <if test="hasEducationalTeacherId != null and hasEducationalTeacherId == true">
                 AND pg.educational_teacher_id_ IS NOT NULL
             </if>
@@ -246,6 +245,18 @@
             <if test="teacherId!=null">
                 AND pg.user_id_=#{teacherId}
             </if>
+            <if test="studentId!=null">
+                AND pg.student_id_ = #{studentId}
+            </if>
+            <if test="practiceGroupType !=null and practiceGroupType != ''">
+                AND pg.type_ = #{practiceGroupType}
+            </if>
+            <if test="groupStatus != null and groupStatus != ''">
+                AND pg.group_status_ = #{groupStatus}
+            </if>
+            <if test="groupStatus == null or groupStatus == ''">
+                AND pg.group_status_ IN ('NORMAL', 'FINISH')
+            </if>
             <if test="organId != null">
                 AND FIND_IN_SET(pg.organ_id_,#{organId})
             </if>