Bläddra i källkod

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

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
zouxuan 5 år sedan
förälder
incheckning
e7d424028b
27 ändrade filer med 540 tillägg och 63 borttagningar
  1. 21 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  2. 10 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
  3. 11 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentAttendanceDao.java
  4. 8 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  5. 10 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultMusicGroupSalaryDao.java
  6. 44 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java
  7. 133 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseAttendanceDetailHeadInfoDto.java
  8. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java
  9. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupTeacherMapperService.java
  10. 12 2
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  11. 9 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  12. 6 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  13. 42 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java
  14. 28 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  15. 7 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  16. 7 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  17. 5 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  18. 36 3
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  19. 13 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  20. 3 0
      mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml
  21. 12 2
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  22. 8 0
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml
  23. 39 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  24. 6 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  25. 12 4
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  26. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/SchoolController.java
  27. 14 4
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto;
@@ -21,7 +22,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     /**
      * 根据教师ID获取当前课程信息
      *
-     * @param teacherID
+     * @param courseID
      * @return
      */
     TeacherAttendanceDto getCurrentCourseDetail(@Param("courseID") Long courseID);
@@ -47,22 +48,22 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     Integer[] countStudentInClass(List<Integer> classGroupIDs);
 
     /**
-     * @param courseScheduleIds: 课程编号列表
-     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      * @describe 根据课程编号列表获取课程列表
      * @author Joburgess
      * @date 2019/10/22
+     * @param courseScheduleIds: 课程编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.entity.CourseSchedule>
      */
-    List<CourseSchedule> findByCourseScheduleIds(List<Long> courseScheduleIds);
+    List<CourseSchedule> findByCourseScheduleIds(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
-     * @param courseScheduleIds: 课程编号列表
-     * @return java.util.List<java.util.Map < java.lang.Integer, java.lang.Integer>>
      * @describe 根据课程编号列表获取助教列表
      * @author Joburgess
      * @date 2019/10/23
+     * @param courseScheduleIds: 课程编号列表
+     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
      */
-    List<CourseScheduleTeacherSalary> findTeachingTeachers(List<Long> courseScheduleIds);
+    List<CourseScheduleTeacherSalary> findTeachingTeachers(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
     /**
      * @Author: Joburgess
@@ -370,14 +371,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<CourseSchedule> findCourseScheduleByClassGroupIdAndDate(@Param("classGroupId") Integer classGroupId, @Param("startDate") String startDate, @Param("times") int times);
-
+    
     /**
      * 根据时间范围查询老师指定类型的课程列表
-     *
      * @param teacherId 老师编号
-     * @param type      课程类型 (如果为null,查询所有类型)
+     * @param type 课程类型 (如果为null,查询所有类型)
      * @param startTime 开始时间
-     * @param endTime   结束时间
+     * @param endTime 结束时间
      * @return
      */
     List<CourseSchedule> queryTeacherCourseScheduleListByTimeRangeAndType(@Param("teacherId") Integer teacherId, @Param("type") CourseScheduleType type,
@@ -390,4 +390,13 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     List<CourseSchedule> findNoStartCoursesByClassGroupId(@Param("classGroupId") Integer classGroupId);
-}
+
+    /**
+     * @describe 获取点名详情头部信息
+     * @author Joburgess
+     * @date 2019/10/24
+     * @param courseScheduleId: 课程编号
+     * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
+     */
+    CourseAttendanceDetailHeadInfoDto findByCourse(Long courseScheduleId);
+}

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -82,9 +82,18 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 															 @Param("teacherRole") String teacherRole);
 
 	/**
+	 * @describe 根据课程获取对应乐团结算方式
+	 * @author Joburgess
+	 * @date 2019/10/24
+	 * @param courseScheduleIds: 课程编号列表
+	 * @return java.util.List<java.util.Map<java.lang.String,java.lang.String>>
+	 */
+	List<Map<String,String>> findMusicGroupSettlementTypeByCourse(@Param("courseScheduleIds") List<Long> courseScheduleIds);
+
+	/**
 	 * 乐团详情--课酬调整--课程教师列表
 	 * @param courseScheduleId
 	 * @return
 	 */
     List<CourseScheduleTeachersDto> queryTeacherSalary(Integer courseScheduleId);
-}
+}

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentAttendanceDao.java

@@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -84,4 +85,13 @@ public interface StudentAttendanceDao extends BaseDAO<Long, StudentAttendance> {
      */
     @Select("SELECT COUNT(*) FROM student_attendance WHERE course_schedule_id_=#{courseScheduleId}")
     int countByCourseSchedule(Long courseScheduleId);
-}
+
+    /**
+     * @describe 根据课程获取最后的点名时间
+     * @author Joburgess
+     * @date 2019/10/24
+     * @param courseScheduleId: 课程编号
+     * @return java.util.Date
+     */
+    Date findLatestAttendanceDate(Long courseScheduleId);
+}

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -124,7 +124,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param actualSubjectId
      * @return
      */
-    List<StudentRegistration> findMusicGroupStudent(@Param("musicGroupId") String musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
+    List<StudentRegistration> findMusicGroupNoClassGroupStudent(@Param("musicGroupId") String musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
 
     /**
      * 批量调剂学生专业
@@ -154,9 +154,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 根据userId 和班级id查询学生
+     *
      * @param userId
      * @param classGroupId
      * @return
      */
     StudentRegistration findStudentByClassGroupIdAndUserId(@Param("userId") Integer userId, @Param("classGroupId") Integer classGroupId);
+
+    /**
+     * 查询乐团声部下的学生
+     * @return
+     */
+    List<StudentRegistration> findMusicGroupStudent(String musicGroupId,Integer actualSubjectId);
 }

+ 10 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -1,10 +1,8 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -33,4 +31,13 @@ public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, Teacher
      * @param salaries
      */
     void batchAdd(@Param("salaries") List<TeacherDefaultMusicGroupSalary> salaries);
-}
+
+    /**
+     * @describe 根据教师获取对应默认课酬
+     * @author Joburgess
+     * @date 2019/10/24
+     * @param userIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary>
+     */
+    List<TeacherDefaultMusicGroupSalary> findByTeacher(@Param("userIds") List<Integer> userIds);
+}

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java

@@ -0,0 +1,44 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.List;
+
+public class ClassGroup4MixDto {
+
+    @ApiModelProperty(value = "乐团id", required = true)
+    private String musicGroupId;
+
+    @ApiModelProperty(value = "班级名称", required = true)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "班级id", required = true)
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "学生-班级", required = true)
+    private List<ClassGroupStudentMapperDto> classGroupStudentMapperDtoList;
+
+    @ApiModelProperty(value = "老师设置", required = true)
+    private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;
+
+    @ApiModelProperty(value = "是否永久 方式1-永久 0-临时", required = true)
+    private YesOrNoEnum type;
+
+    @ApiModelProperty(value = "开始时间", required = true)
+    private String startDate;
+
+    @ApiModelProperty(value = "排课星期几",required = true)
+    private Integer dayOfWeek;
+
+    @ApiModelProperty(value = "上课开始时间",required = true)
+    private String startClassTime;
+
+    @ApiModelProperty(value = "上课结束时间",required = true)
+    private String endClassTime;
+
+    @ApiModelProperty(value = "排课次数", required = true)
+    private Integer courseTimes;
+
+}

+ 133 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseAttendanceDetailHeadInfoDto.java

@@ -0,0 +1,133 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/10/24
+ */
+public class CourseAttendanceDetailHeadInfoDto {
+
+    @ApiModelProperty(value = "课程编号")
+    private Long courseScheduleId;
+
+    @ApiModelProperty(value = "班级编号")
+    private Long classGroupId;
+
+    @ApiModelProperty(value = "班级名称")
+    private String classGroupName;
+
+    @ApiModelProperty(value = "主教教师编号")
+    private Integer teacherId;
+
+    @ApiModelProperty(value = "主教名称")
+    private String teacherName;
+
+    @ApiModelProperty(value = "上课日期")
+    private Date classDate;
+
+    @ApiModelProperty(value = "上课日期")
+    private Date startClassTime;
+
+    @ApiModelProperty(value = "结束日期")
+    private Date endClassTime;
+
+    @ApiModelProperty(value = "最后点名时间")
+    private Date latestAttendanceTime;
+
+    @ApiModelProperty(value = "到课学生数量")
+    private Integer studentNum;
+
+    @ApiModelProperty(value = "请假人数")
+    private Integer leaveStudentNum;
+
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public Long getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Long classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public Integer getTeacherId() {
+        return teacherId;
+    }
+
+    public void setTeacherId(Integer teacherId) {
+        this.teacherId = teacherId;
+    }
+
+    public String getTeacherName() {
+        return teacherName;
+    }
+
+    public void setTeacherName(String teacherName) {
+        this.teacherName = teacherName;
+    }
+
+    public Date getClassDate() {
+        return classDate;
+    }
+
+    public void setClassDate(Date classDate) {
+        this.classDate = classDate;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public Date getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(Date endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+
+    public Date getLatestAttendanceTime() {
+        return latestAttendanceTime;
+    }
+
+    public void setLatestAttendanceTime(Date latestAttendanceTime) {
+        this.latestAttendanceTime = latestAttendanceTime;
+    }
+
+    public Integer getStudentNum() {
+        return studentNum;
+    }
+
+    public void setStudentNum(Integer studentNum) {
+        this.studentNum = studentNum;
+    }
+
+    public Integer getLeaveStudentNum() {
+        return leaveStudentNum;
+    }
+
+    public void setLeaveStudentNum(Integer leaveStudentNum) {
+        this.leaveStudentNum = leaveStudentNum;
+    }
+}

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java

@@ -16,6 +16,16 @@ public class MusicGroupCourseScheduleDto {
     @ApiModelProperty(value = "上课时间",required = false)
     private String startClassTime;
 
+    @ApiModelProperty(value = "上课时间字符串",required = false)
+    private String startClassTimeStr;
+
+    @ApiModelProperty(value = "结束时间",required = false)
+    private String endClassTime;
+
+    @ApiModelProperty(value = "结束时间字符串",required = false)
+    private String endClassTimeStr;
+
+
     @ApiModelProperty(value = "合奏班编号",required = false)
     private Integer mixClassGroupId;
 
@@ -52,6 +62,30 @@ public class MusicGroupCourseScheduleDto {
     @ApiModelProperty(value = "老师人数",required = false)
     private Integer teacherNum;
 
+    public String getStartClassTimeStr() {
+        return startClassTimeStr;
+    }
+
+    public void setStartClassTimeStr(String startClassTimeStr) {
+        this.startClassTimeStr = startClassTimeStr;
+    }
+
+    public String getEndClassTime() {
+        return endClassTime;
+    }
+
+    public void setEndClassTime(String endClassTime) {
+        this.endClassTime = endClassTime;
+    }
+
+    public String getEndClassTimeStr() {
+        return endClassTimeStr;
+    }
+
+    public void setEndClassTimeStr(String endClassTimeStr) {
+        this.endClassTimeStr = endClassTimeStr;
+    }
+
     public Integer getTeacherNum() {
         return teacherNum;
     }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupTeacherMapperService.java

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

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
+import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
@@ -11,7 +13,6 @@ import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
@@ -189,6 +190,15 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	PageInfo queryTeacherClassCourseSchedule(CourseScheduleQueryInfo queryInfo);
 
 	/**
+	 * @describe 获取点名详情界面头部信息
+	 * @author Joburgess
+	 * @date 2019/10/24
+	 * @param courseScheduleId: 课程编号
+	 * @return com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto
+	 */
+    CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId);
+
+	/**
 	 * @describe 检测指定乐团下所有班级是否已排课
 	 * @author Joburgess
 	 * @date 2019/10/18
@@ -213,4 +223,4 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * @return
      */
     List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId);
-}
+}

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -156,7 +156,7 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @param actualSubjectId 科目id
 	 * @return
 	 */
-	List<StudentRegistration> getMusicGroupStu(String musicGroupId, Integer actualSubjectId);
+	List<StudentRegistration> findMusicGroupNoClassGroupStudent(String musicGroupId, Integer actualSubjectId);
 
 	/**
 	 * 根据id list 查询报名学生
@@ -182,4 +182,12 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	StudentRegistration findStudentByClassGroupIdAndUserId(Integer userId, Integer classGroupId);
 
 
+
+	/**
+	 * 查询乐团声部下的学生
+	 * @return
+	 */
+	List<StudentRegistration> findMusicGroupStudent(String musicGroupId,Integer actualSubjectId);
+
+
 }

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

@@ -559,6 +559,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             throw new BizException("请登录");
         }
 
+        if(StringUtils.isBlank(type)){
+            throw new BizException("请指定课程类型");
+        }
+
         List<TeacherClassGroupDto> teacherMusicClassGroup;
         switch (type) {
             case "VIP":
@@ -568,7 +572,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 teacherMusicClassGroup = classGroupDao.findTeacherMusicClassGroup(user.getId().longValue());
                 break;
             default:
-                throw new BizException("请指定课程类型");
+                throw new BizException("课程类型错误");
         }
         if (CollectionUtils.isEmpty(teacherMusicClassGroup)) {
             return teacherMusicClassGroup;
@@ -939,4 +943,4 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 		classGroupDao.batchIncreaseClassTimes(classGroupList);
 		return true;
 	}
-}
+}

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

@@ -1,28 +1,25 @@
 package com.ym.mec.biz.service.impl;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, ClassGroupTeacherMapper> implements ClassGroupTeacherMapperService {
@@ -33,6 +30,8 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
     private CourseScheduleService courseScheduleService;
     @Autowired
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+    @Autowired
+    private TeacherDefaultMusicGroupSalaryDao teacherDefaultMusicGroupSalaryDao;
 
     @Override
     public BaseDAO<Long, ClassGroupTeacherMapper> getDAO() {
@@ -119,4 +118,32 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
         return true;
     }
 
-}
+    @Override
+    public void createCourseScheduleTeacherSalary(List<CourseSchedule> courseSchedules) {
+        //课程编号列表
+        List<Long> courseScheduleIds = courseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+        //主教老师列表
+        List<Integer> allTeacherIds = courseSchedules.stream().map(courseSchedule -> courseSchedule.getActualTeacherId().intValue()).collect(Collectors.toList());
+        //助教老师列表
+        List<Integer> teachingTeacherIds=new ArrayList<>();
+        courseSchedules.forEach(courseSchedule -> teachingTeacherIds.addAll(courseSchedule.getTeachingTeacherIdList()));
+        allTeacherIds.addAll(teachingTeacherIds);
+        //所有老师列表
+        allTeacherIds=allTeacherIds.stream().distinct().collect(Collectors.toList());
+
+        //所有老师默认乐团课酬
+        List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries = teacherDefaultMusicGroupSalaryDao.findByTeacher(allTeacherIds);
+        Map<CourseSchedule.CourseScheduleType, List<TeacherDefaultMusicGroupSalary>> teacherDefaultMusicGroupSalariesGroupByCourseType = teacherDefaultMusicGroupSalaries.stream().collect(Collectors.groupingBy(TeacherDefaultMusicGroupSalary::getCourseScheduleType));
+
+        //乐团结算方式集合
+        List<Map<String, String>> musicGroupSettlementTypeByCourse = courseScheduleTeacherSalaryDao.findMusicGroupSettlementTypeByCourse(courseScheduleIds);
+        Map<String, String> musicGroupSettilementsMap = MapUtil.convertMybatisMap(musicGroupSettlementTypeByCourse);
+
+        courseSchedules.forEach(courseSchedule -> {
+            if(Objects.isNull(courseSchedule.getType())){
+                throw new BizException("课程类型未指定");
+            }
+
+        });
+    }
+}

+ 28 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
+import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.entity.*;
@@ -351,7 +352,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				});
 				List<Integer> repeatClassGroupIds = coursesByDates.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
 				checkStudentIsRepeat(repeatClassGroupIds);
-				courseScheduleDao.update(newCourseSchedule);
+				oldCourseSchedule.setClassDate(newCourseSchedule.getClassDate());
+				oldCourseSchedule.setStartClassTime(newCourseSchedule.getStartClassTime());
+				oldCourseSchedule.setEndClassTime(newCourseSchedule.getEndClassTime());
+				courseScheduleDao.update(oldCourseSchedule);
 			}
 
 			//被修改的教师编号列表,需要将预计薪水置零
@@ -367,13 +371,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							courseSchedules,
 							byTeacherAndCategory.getOnlineClassesSalary(),
 							byTeacherAndCategory.getOfflineClassesSalary());
-					beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
+					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
+						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
+					}
 				}
 			}else{
 				if(Objects.isNull(oldCourseSchedule.getActualTeacherId())||!oldCourseSchedule.getActualTeacherId().equals(newCourseSchedule.getActualTeacherId())){
 					//如果主教被修改则调整课酬记录
 
-					beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
+					if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
+						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
+					}
 				}
 				List<CourseScheduleTeacherSalary> courseTeachingTeacherList=courseTeachingTeacherMaps.get(newCourseSchedule.getId());
 				//当前设置的课程助教编号列表
@@ -392,12 +400,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						//计算修改后的助教的课酬
 
 
-						beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
+						if(Objects.nonNull(oldCourseSchedule.getActualTeacherId())){
+							beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
+						}
 					}
 				});
 			}
 			//将被修改的教师预计薪水置零
-			courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
+			if(!CollectionUtils.isEmpty(beReplaceTeacherIds)){
+				courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
+			}
 		});
 	}
 
@@ -632,6 +644,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
+	public CourseAttendanceDetailHeadInfoDto findCourseAttendanceDetailHeadInfo(Long courseScheduleId) {
+		if(Objects.isNull(courseScheduleId)){
+			throw new BizException("请指定课程");
+		}
+		CourseAttendanceDetailHeadInfoDto courseAttendanceDetailHeadInfoDto = courseScheduleDao.findByCourse(courseScheduleId);
+		courseAttendanceDetailHeadInfoDto.setLatestAttendanceTime(studentAttendanceDao.findLatestAttendanceDate(courseScheduleId));
+		return courseAttendanceDetailHeadInfoDto;
+	}
+
+	@Override
 	public void checkMusicGroupClassCourse(String musicGroupId) {
 		if(Objects.isNull(musicGroupId)){
 			throw new BizException("请指定乐团");
@@ -655,4 +677,4 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     public List<CourseSchedule> findNoStartCoursesByClassGroupId(Integer classGroupId) {
 		return courseScheduleDao.findNoStartCoursesByClassGroupId(classGroupId);
     }
-}
+}

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

@@ -465,8 +465,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     }
 
     @Override
-    public List<StudentRegistration> getMusicGroupStu(String musicGroupId, Integer actualSubjectId) {
-        return studentRegistrationDao.findMusicGroupStudent(musicGroupId, actualSubjectId);
+    public List<StudentRegistration> findMusicGroupNoClassGroupStudent(String musicGroupId, Integer actualSubjectId) {
+        return studentRegistrationDao.findMusicGroupNoClassGroupStudent(musicGroupId, actualSubjectId);
     }
 
     @Override
@@ -483,4 +483,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public StudentRegistration findStudentByClassGroupIdAndUserId(Integer userId, Integer classGroupId) {
         return studentRegistrationDao.findStudentByClassGroupIdAndUserId(userId, classGroupId);
     }
+
+    @Override
+    public List<StudentRegistration> findMusicGroupStudent(String musicGroupId, Integer actualSubjectId) {
+        return studentRegistrationDao.findMusicGroupStudent(musicGroupId,actualSubjectId);
+    }
 }

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

@@ -111,9 +111,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	        throw new BizException("课时总数不匹配!");
         }
 
-        Map<TeachModeEnum, List<CourseSchedule>> courseScheduleGroup = vipGroup.getCourseSchedules().stream().collect(Collectors.groupingBy(CourseSchedule::getTeachMode));
+		Map<TeachModeEnum, List<CourseSchedule>> courseScheduleGroup = null;
+		try {
+			courseScheduleGroup = vipGroup.getCourseSchedules().stream().collect(Collectors.groupingBy(CourseSchedule::getTeachMode));
+		} catch (Exception e) {
+			throw new BizException("教学模式错误");
+		}
 
-	    if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()!=0)
+		if((Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()!=0)
 				||(!Objects.isNull(courseScheduleGroup.get(TeachModeEnum.OFFLINE))&&(courseScheduleGroup.get(TeachModeEnum.OFFLINE).size()<vipGroup.getVipGroupApplyBaseInfo().getOfflineClassesNum()))){
 	        throw new BizException("线下课课时数量安排有误!");
         }

+ 5 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -486,6 +486,7 @@
             cg.id_ class_group_id_,
             cg.name_ class_group_name_,
             cg.type_,
+            cg.subject_id_list_,
             vg.payment_expire_date_,
             vg.courses_expire_date_,
             vg.single_class_minutes_,
@@ -601,6 +602,9 @@
         <result property="courseScheduleId" column="course_schedule_id_"/>
         <result property="classDate" column="class_date_"/>
         <result property="startClassTime" column="start_class_time_"/>
+        <result property="startClassTimeStr" column="start_class_time_"/>
+        <result property="endClassTime" column="end_class_time_"/>
+        <result property="endClassTimeStr" column="end_class_time_"/>
         <result property="classGroupId" column="class_group_id_"/>
         <result property="mixClassGroupId" column="mix_class_group_id_"/>
         <result property="courseScheduleType" column="course_schedule_type_"/>
@@ -609,7 +613,7 @@
         <result property="signOutStatus" column="sign_out_status_"/>
     </resultMap>
     <select id="queryMusicGroupCourseSchedule" resultMap="MusicGroupCourseScheduleDto">
-        SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.class_group_id_,
+        SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
         cs.type_ course_schedule_type_,cs.status_ course_schedule_status_,
         IF(cgr.class_group_id_ IS NULL,cs.class_group_id_,cgr.class_group_id_) mix_class_group_id_,
         IF(ISNULL(ta.sign_in_status_),3,ta.sign_in_status_) sign_in_status_,

+ 36 - 3
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -305,9 +305,9 @@
             cs.leave_student_num_,
             cs.schoole_id_
         FROM
-            course_schedule
+            course_schedule cs
             LEFT JOIN course_schedule_teacher_salary csts ON cs.id_= csts.course_schedule_id_ AND csts.teacher_role_='BISHOP'
-        WHERE id_ IN
+        WHERE cs.id_ IN
         <foreach collection="courseScheduleIds" item="id" open="(" close=")" separator=",">
             #{id}
         </foreach>
@@ -384,7 +384,7 @@
         course_schedule_student_payment cssp
 	    LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
         LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
-        LEFT JOIN class_group_student_mapper cgsm ON cgsm.class_group_id_ = cs.class_group_id_
+        LEFT JOIN class_group_student_mapper cgsm ON cgsm.class_group_id_ = cs.class_group_id_ AND cgsm.user_id_=#{studentId}
         WHERE
         cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
         AND cssp.user_id_ = #{studentId}
@@ -938,4 +938,37 @@
     <select id="findNoStartCoursesByClassGroupId" resultMap="CourseSchedule">
         SELECT * FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND status_ = 'NOT_START'
     </select>
+
+    <resultMap id="CourseAttendanceDetailHeadInfoDto" type="com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto">
+        <result property="courseScheduleId" column="course_schedule_id_"/>
+        <result property="classGroupId" column="class_group_id_"/>
+        <result property="classGroupName" column="class_group_name_"/>
+        <result property="teacherId" column="user_id_"/>
+        <result property="teacherName" column="username_"/>
+        <result property="classDate" column="class_date_"/>
+        <result property="startClassTime" column="start_class_time_"/>
+        <result property="endClassTime" column="end_class_time_"/>
+        <result property="latestAttendanceTime" column="leave_student_num_"/>
+        <result property="studentNum" column="student_num_"/>
+    </resultMap>
+
+    <select id="findByCourse" resultMap="CourseAttendanceDetailHeadInfoDto">
+        SELECT
+            cs.id_ course_schedule_id_,
+            cg.id_ class_group_id_,
+            cg.name_ class_group_name_,
+            csts.user_id_,
+            su.username_,
+            cs.student_num_,
+            cs.leave_student_num_,
+            cs.class_date_,
+            cs.start_class_time_,
+            cs.end_class_time_
+        FROM
+            course_schedule cs
+            LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_ AND csts.teacher_role_='BISHOP'
+            LEFT JOIN sys_user su ON csts.user_id_=su.id_
+            LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        WHERE cs.id_=#{courseScheduleId}
+    </select>
 </mapper>

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -172,6 +172,19 @@
 		</foreach>
 		AND csts.teacher_role_=#{teacherRole}
 	</select>
+	<select id="findMusicGroupSettlementTypeByCourse" resultType="map">
+		SELECT
+			cs.id_ AS 'key',
+			mg.settlement_type_ AS 'value'
+		FROM
+			course_schedule cs
+			LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+			LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
+		WHERE cs.id_ IN
+		<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+	</select>
 
 	<resultMap id="CourseScheduleTeachersDto" type="com.ym.mec.biz.dal.dto.CourseScheduleTeachersDto">
 		<result property="teacherId" column="user_id_"/>

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

@@ -230,4 +230,7 @@
         LEFT JOIN sys_user su ON sa.teacher_id_=su.id_
         <include refid="queryCondition"/>
     </select>
+    <select id="findLatestAttendanceDate" resultType="date">
+      SELECT MAX(create_time_) FROM student_attendance WHERE course_schedule_id_=#{courseScheduleId}
+    </select>
 </mapper>

+ 12 - 2
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -319,13 +319,23 @@
         SELECT * FROM student_registration WHERE user_id_= #{userId} AND class_group_id_=#{classGroupId}
     </select>
 
-    <!-- 获取乐团的学生 -->
+    <!-- 获取乐团未分班的学生 -->
+    <select id="findMusicGroupNoClassGroupStudent" resultMap="StudentRegistration">
+        SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId}
+        <if test="actualSubjectId != null and actualSubjectId !=''">
+            AND actual_subject_id_ = #{actualSubjectId}
+        </if>
+        AND payment_status_ = 1 AND class_group_id_ IS NULL;
+    </select>
+
+
+    <!-- 获取乐团未分班的学生 -->
     <select id="findMusicGroupStudent" resultMap="StudentRegistration">
         SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId}
         <if test="actualSubjectId != null and actualSubjectId !=''">
             AND actual_subject_id_ = #{actualSubjectId}
         </if>
-        AND payment_status_ = 1
+        AND payment_status_ = 1;
     </select>
 
     <!-- 根据注册id list查询报名学生的信息 -->

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

@@ -120,4 +120,12 @@
 		WHERE user_id_=#{userId} AND course_schedule_type_ = #{classGroupType}
 		AND settlement_type_ = #{settlementType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 	</select>
+
+	<select id="findByTeacher" resultMap="TeacherDefaultMusicGroupSalary">
+		SELECT * FROM teacher_default_music_group_salary
+		WHERE user_id_ IN
+		<foreach collection="userIds" item="userId" open="(" close=")" separator=",">
+			#{userId}
+		</foreach>
+	</select>
 </mapper>

+ 39 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.biz.dal.page.VipClassQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.SchoolService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
@@ -34,6 +35,9 @@ public class TeacherController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
+    @Autowired
+    private SchoolService schoolService;
+
     @ApiOperation(value = "修改教师个人中心信息")
     @PostMapping("/update")
     public Object update(Teacher teacher) {
@@ -54,6 +58,11 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.getDetail(id));
     }
 
+    @ApiOperation(value = "分页查询教师列表")
+    @GetMapping("/queryPage")
+    public Object queryPage(TeacherQueryInfo queryInfo) {
+        return succeed(teacherService.queryPageDetail(queryInfo));
+    }
 
     @ApiOperation(value = "根据教师编号查询教师课程班列表")
     @GetMapping("/getClass")
@@ -62,6 +71,19 @@ public class TeacherController extends BaseController {
         return succeed(classGroupService.findClassGroup4Teacher(id));
     }
 
+    @ApiOperation(value = "获取老师乐团课程信息列表")
+    @GetMapping("/getTeacherMusicClass")
+    @ApiParam(value = "教师编号", required = true)
+    public Object getTeacherMusicClass(QueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherMusicClass(queryInfo));
+    }
+
+    @ApiOperation(value = "获取老师VIP课程信息列表")
+    @GetMapping("/getTeacherVipClass")
+    public Object getTeacherVipClass(VipClassQueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherVipClass(queryInfo));
+    }
+
     @ApiOperation(value = "获取教师所有聊天群组")
     @GetMapping("/queryTeacherGroups")
     public Object queryTeacherGroups(String search){
@@ -82,4 +104,21 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.queryGroupStudents(sysUser.getId(),search));
     }
 
+    @ApiOperation(value = "获取教师上课结算列表")
+    @GetMapping("/queryCloses")
+    public Object queryCloses(TeacherCloseQueryInfo queryInfo){
+        return succeed(teacherService.queryCloses(queryInfo));
+    }
+
+    @ApiOperation(value = "获取教师上课课酬未结算总额")
+    @GetMapping("/sumTeacherNoPay")
+    public Object findTeacherNoPay(Integer teacherId){
+        return succeed(teacherService.findTeacherNoPay(teacherId));
+    }
+
+    @ApiOperation(value = "获取教师vip课教学点")
+    @GetMapping("/findVipSchoolByTeacher")
+    public Object findVipSchoolByTeacher(@ApiParam(value = "教师编号", required = true) Integer userId){
+        return succeed(schoolService.findVipSchoolByTeacher(userId));
+    }
 }

+ 6 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -70,6 +70,12 @@ public class TeacherCourseScheduleController extends BaseController {
         return succeed(scheduleService.queryTeacherClassCourseSchedule(queryInfo));
     }
 
+    @ApiOperation(value = "获取点名详情头部信息")
+    @GetMapping("/queryTeacherClassCourseSchedule")
+    public Object findCourseAttendanceDetailHeadInfo(Long courseScheduleId){
+        return succeed(scheduleService.findCourseAttendanceDetailHeadInfo(courseScheduleId));
+    }
+
     @ApiOperation(value = "根据课程获取当前课程的学生列表")
     @GetMapping("/getCurrentCourseStudents")
     public Object getCurrentCourseStudents(StudentAttendanceQueryInfo queryInfo){

+ 12 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -157,8 +157,8 @@ public class ClassGroupController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('classGroup/findMusicGroupClassTeacher')")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "classGroupId", value = "班级编号", required = false, dataType = "Integer")})
-    public HttpResponseResult findMusicGroupClassTeacher(String musicGroupId,Integer classGroupId) {
-        return succeed(classGroupService.getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX",classGroupId));
+    public HttpResponseResult findMusicGroupClassTeacher(String musicGroupId, Integer classGroupId) {
+        return succeed(classGroupService.getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX", classGroupId));
     }
 
     @ApiOperation(value = "获取乐团班级老师课酬")
@@ -167,9 +167,9 @@ public class ClassGroupController extends BaseController {
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
             @ApiImplicitParam(name = "type", value = "结算类型(1-基准课酬,4-梯度课酬)", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "classGroupId", value = "班级编号", required = false, dataType = "Integer")})
-    public HttpResponseResult findMusicGroupClassTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type,Integer classGroupId) {
+    public HttpResponseResult findMusicGroupClassTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type, Integer classGroupId) {
         try {
-            return succeed(classGroupService.getClassGroupAndTeacherSalary(musicGroupId, type,classGroupId));
+            return succeed(classGroupService.getClassGroupAndTeacherSalary(musicGroupId, type, classGroupId));
         } catch (Exception e) {
             return failed(e.getMessage());
         }
@@ -201,6 +201,14 @@ public class ClassGroupController extends BaseController {
 
 
     @ApiOperation(value = "调整班级(添加班级)")
+    @PostMapping("/revisionAddClassGroup")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/revisionAddClassGroup')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "classGroupIds", value = "班级编号,号分割", required = true, dataType = "String")})
+    public HttpResponseResult revisionAddClassGroup(@RequestBody ClassGroupAdjustDto classGroupAdjustDto) throws Exception {
+        return succeed(classGroupService.classGroupAdjust(classGroupAdjustDto));
+    }
+
+    @ApiOperation(value = "调整班级(临时调整)")
     @PostMapping("/revisionClassGroup")
     @PreAuthorize("@pcs.hasPermissions('classGroup/revisionClassGroup')")
     @ApiImplicitParams({@ApiImplicitParam(name = "classGroupIds", value = "班级编号,号分割", required = true, dataType = "String")})

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SchoolController.java

@@ -70,6 +70,6 @@ public class SchoolController extends BaseController {
     @ApiOperation(value = "获取教师vip课教学点")
     @GetMapping("/findVipSchoolByTeacher")
     public Object findVipSchoolByTeacher(@ApiParam(value = "教师编号", required = true) Integer userId){
-        return succeed(schoolService.get(userId));
+        return succeed(schoolService.findVipSchoolByTeacher(userId));
     }
 }

+ 14 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -96,13 +97,22 @@ public class StudentRegistrationController extends BaseController {
         return succeed(studentRegistrationService.findClassGroupStu(musicGroupId, classGroupId));
     }
 
-    @ApiOperation(value = "获取乐团的学生")
+    @ApiOperation(value = "获取乐团(声部)的学生")
     @GetMapping("/getMusicGroupStu")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/getMusicGroupStu')")
     @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
-            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id,", required = true, dataType = "int")})
-    public Object getMusicGroupStu(String musicGroupId, Integer actualSubjectId) {
-        return succeed(studentRegistrationService.getMusicGroupStu(musicGroupId, actualSubjectId));
+            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id,", required = false, dataType = "int")})
+    public HttpResponseResult getMusicGroupStu(String musicGroupId, Integer actualSubjectId) {
+        return succeed(studentRegistrationService.findMusicGroupStudent(musicGroupId, actualSubjectId));
+    }
+
+    @ApiOperation(value = "获取乐团未分班的学生")
+    @GetMapping("/getMusicGroupNoClassStu")
+    @PreAuthorize("@pcs.hasPermissions('studentRegistration/getMusicGroupNoClassStu')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id,", required = false, dataType = "int")})
+    public HttpResponseResult getMusicGroupNoClassStu(String musicGroupId, Integer actualSubjectId) {
+        return succeed(studentRegistrationService.findMusicGroupNoClassGroupStudent(musicGroupId, actualSubjectId));
     }
 
 }