Pārlūkot izejas kodu

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

yonge 5 gadi atpakaļ
vecāks
revīzija
bbe3217248
19 mainītis faili ar 259 papildinājumiem un 52 dzēšanām
  1. 19 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  2. 9 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  3. 22 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java
  4. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassCourseSchudeleDto.java
  5. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassGroupDto.java
  6. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentAttendanceQueryInfo.java
  7. 9 3
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  8. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  9. 14 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 9 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  11. 0 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  12. 19 22
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  13. 1 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  14. 49 4
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  15. 12 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  16. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java
  17. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  18. 1 0
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  19. 6 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

+ 19 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -285,6 +285,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     List<TeacherClassCourseSchudeleDto> queryTeacherClassCourseSchedule(Map<String,Object> params);
 
     /**
+     * @describe 查询老师指定班级历史排课信息
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param params:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto>
+     */
+    List<TeacherClassCourseSchudeleDto> queryTeacherHistoryClassCourseSchedule(Map<String,Object> params);
+
+    /**
      * @describe 统计老师指定班级的排课数量
      * @author Joburgess
      * @date 2019/10/18
@@ -294,11 +303,20 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     int countTeacherClassCourseSchedule(Map<String,Object> params);
 
     /**
+     * @describe 统计历史老师指定班级的排课数量
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param params:
+     * @return int
+     */
+    int countTeacherHistoryClassCourseSchedule(Map<String,Object> params);
+
+    /**
      * @describe 统计乐团下班级的排课数
      * @author Joburgess
      * @date 2019/10/18
      * @param musicGroupId:
      * @return java.util.List<java.util.Map<java.lang.Long,java.lang.Integer>>
      */
-    List<Map<Long,Integer>> countClassCourseNumByMusicGroup(Long musicGroupId);
+    List<Map<Integer,Long>> countClassCourseNumByMusicGroup(Long musicGroupId);
 }

+ 9 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -2,12 +2,9 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.NamesDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.common.dal.BaseDAO;
-
-import com.ym.mec.common.entity.ImGroupModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -75,4 +72,13 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return
      */
     List<TeacherCloseDto> queryCloses(Map<String, Object> params);
+
+    /**
+     * @describe 获取指定乐团下的所有老师
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param musicGroupId: 乐团编号
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
+     */
+    List<BasicUserDto> findTeacherByMusicGroup(Long musicGroupId);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -74,6 +74,28 @@ public class TeacherAttendanceDto {
     @ApiModelProperty(value = "只能正常签到")
     private YesOrNoEnum onlyNormal;
 
+    @ApiModelProperty(value = "总统课次",required = false)
+    private Integer totalClassTimes;
+
+    @ApiModelProperty(value = "当前课次",required = false)
+    private Integer currentClassTimes;
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
     public YesOrNoEnum getOnlyNormal() {
         return onlyNormal;
     }

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

@@ -48,6 +48,40 @@ public class TeacherClassCourseSchudeleDto {
     @ApiModelProperty(value = "请假人数")
     private Integer leaveStudentNum;
 
+    @ApiModelProperty(value = "当前课时")
+    private Integer currentClassTimes;
+
+    @ApiModelProperty(value = "总课次",required = true)
+    private Integer totalClassTimes;
+
+    @ApiModelProperty(value = "上课学生名称")
+    private String studentNames;
+
+
+    public String getStudentNames() {
+        return studentNames;
+    }
+
+    public void setStudentNames(String studentNames) {
+        this.studentNames = studentNames;
+    }
+
+    public Integer getCurrentClassTimes() {
+        return currentClassTimes;
+    }
+
+    public void setCurrentClassTimes(Integer currentClassTimes) {
+        this.currentClassTimes = currentClassTimes;
+    }
+
+    public Integer getTotalClassTimes() {
+        return totalClassTimes;
+    }
+
+    public void setTotalClassTimes(Integer totalClassTimes) {
+        this.totalClassTimes = totalClassTimes;
+    }
+
     public Integer getStudentNum() {
         return studentNum;
     }

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

@@ -65,6 +65,39 @@ public class TeacherClassGroupDto {
     @ApiModelProperty(value = "班级学生名称")
     private String studentNames;
 
+    @ApiModelProperty(value = "线上课数")
+    private Integer onlineClassesNum;
+
+    @ApiModelProperty(value = "线下课数")
+    private Integer offLineClassesNum;
+
+    @ApiModelProperty(value = "教学形式")
+    private Integer classMode;
+
+    public Integer getClassMode() {
+        return classMode;
+    }
+
+    public void setClassMode(Integer classMode) {
+        this.classMode = classMode;
+    }
+
+    public Integer getOnlineClassesNum() {
+        return onlineClassesNum;
+    }
+
+    public void setOnlineClassesNum(Integer onlineClassesNum) {
+        this.onlineClassesNum = onlineClassesNum;
+    }
+
+    public Integer getOffLineClassesNum() {
+        return offLineClassesNum;
+    }
+
+    public void setOffLineClassesNum(Integer offLineClassesNum) {
+        this.offLineClassesNum = offLineClassesNum;
+    }
+
     public String getStudentNames() {
         return studentNames;
     }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentAttendanceQueryInfo.java

@@ -20,12 +20,23 @@ public class StudentAttendanceQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "班级ID")
     private Long classGroupId;
 
+    @ApiModelProperty(value = "课程ID")
+    private Long courseScheduleId;
+
     @ApiModelProperty(value = "状态(正常、旷课、请假、休学)",required = false)
     private StudentAttendanceStatusEnum status;
 
     @ApiModelProperty(value = "过滤状态")
     private StudentAttendanceStatusEnum filterStatus;
 
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
     public StudentAttendanceStatusEnum getFilterStatus() {
         return filterStatus;
     }

+ 9 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -2,14 +2,11 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
-import com.ym.mec.biz.dal.dto.TeacherUserDto;
 import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
 import org.apache.ibatis.annotations.Param;
 
@@ -86,4 +83,13 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     PageInfo<TeacherCloseDto> queryCloses(TeacherCloseQueryInfo queryInfo);
+
+    /**
+     * @describe 获取乐团下的老师
+     * @author Joburgess
+     * @date 2019/10/19
+     * @param musicGroupId:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
+     */
+    List<BasicUserDto> queryMusicGroupTeacher(Long musicGroupId);
 }

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

@@ -565,6 +565,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             if(teacherClassGroupDto.getType()==ClassGroupTypeEnum.VIP){
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
                 teacherClassGroupDto.setStudentNames(StringUtils.join(studentNums,","));
+                if(teacherClassGroupDto.getOffLineClassesNum()>0&&teacherClassGroupDto.getOffLineClassesNum()<=0){
+                    teacherClassGroupDto.setClassMode(1);
+                }else if(teacherClassGroupDto.getOffLineClassesNum()>0&&teacherClassGroupDto.getOffLineClassesNum()>0){
+                    teacherClassGroupDto.setClassMode(3);
+                }else if(teacherClassGroupDto.getOnlineClassesNum()<0&&teacherClassGroupDto.getOffLineClassesNum()>=0){
+                    teacherClassGroupDto.setClassMode(2);
+                }else{
+                    teacherClassGroupDto.setClassMode(0);
+                }
             }
             String subjectIdList=teacherClassGroupDto.getSubjectIdList();
             if(StringUtils.isNotEmpty(subjectIdList)){

+ 14 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -566,11 +566,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		MapUtil.populateMap(params, queryInfo);
 
 		List dataList = null;
-		int count = courseScheduleDao.countTeacherClassCourseSchedule(params);
+		int count = 0;
+		if(Objects.isNull(queryInfo.getOnlyHistory())||queryInfo.getOnlyHistory()==0){
+			count = courseScheduleDao.countTeacherClassCourseSchedule(params);
+		}else{
+			count= courseScheduleDao.countTeacherHistoryClassCourseSchedule(params);
+		}
 		if (count > 0) {
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
-			dataList = courseScheduleDao.queryTeacherClassCourseSchedule(params);
+			if(Objects.isNull(queryInfo.getOnlyHistory())||queryInfo.getOnlyHistory()==0){
+				dataList = courseScheduleDao.queryTeacherClassCourseSchedule(params);
+			}else{
+				dataList = courseScheduleDao.queryTeacherHistoryClassCourseSchedule(params);
+			}
 		}
 		if (count == 0) {
 			dataList = new ArrayList<>();
@@ -584,9 +593,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(Objects.isNull(musicGroupId)){
 			throw new BizException("请指定乐团");
 		}
-		List<Map<Long, Integer>> maps = courseScheduleDao.countClassCourseNumByMusicGroup(musicGroupId);
-		Map<Long,Integer> classCourseNumMap = MapUtil.convertMybatisMap(maps);
-		for (Long key:classCourseNumMap.keySet()){
+		List<Map<Integer, Long>> maps = courseScheduleDao.countClassCourseNumByMusicGroup(musicGroupId);
+		Map<Integer,Long> classCourseNumMap = MapUtil.convertMybatisMap(maps);
+		for (Integer key:classCourseNumMap.keySet()){
 			if(classCourseNumMap.get(key)<=0){
 				throw new BizException("存在未排课的班级");
 			}

+ 9 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -1,15 +1,5 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-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.ClassGroupStudentMapperDao;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
@@ -32,6 +22,12 @@ import com.ym.mec.common.page.QueryInfo;
 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 org.springframework.util.CollectionUtils;
+
+import java.util.*;
 
 @Service
 public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentAttendance>  implements StudentAttendanceService {
@@ -53,6 +49,9 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 	@Override
 	public void addStudentAttendances(List<StudentAttendance> studentAttendances) {
+		if(CollectionUtils.isEmpty(studentAttendances)){
+			throw new BizException("无点名信息");
+		}
 		int classTimes=courseScheduleDao.countClassTimes(studentAttendances.get(0).getClassGroupId().longValue());
 		studentAttendances.forEach(studentAttendance -> {
 			studentAttendance.setCurrentClassTimes(classTimes);

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

@@ -89,12 +89,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			isAttendance=true;
 		}
 
-		CourseSchedule courseSchedule=new CourseSchedule();
 		TeacherAttendanceDto currentCourseDetail = courseScheduleDao.getCurrentCourseDetail(teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
 		if(Objects.isNull(currentCourseDetail)){
 			throw new BizException("课程不存在");
 		}
-		courseSchedule.setId(currentCourseDetail.getCourseScheduleId());
 
 		teacherAttendance.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 		teacherAttendance.setClassGroupId(currentCourseDetail.getClassId());

+ 19 - 22
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -1,31 +1,10 @@
 package com.ym.mec.biz.service.impl;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.DemoGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SchoolDao;
-import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -38,10 +17,19 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.lang3.StringUtils;
+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 TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  implements TeacherService {
@@ -193,6 +181,15 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
+	public List<BasicUserDto> queryMusicGroupTeacher(Long musicGroupId) {
+		if(Objects.isNull(musicGroupId)){
+			throw new BizException("请指定乐团");
+		}
+		List<BasicUserDto> teacherByMusicGroup = teacherDao.findTeacherByMusicGroup(musicGroupId);
+		return teacherByMusicGroup;
+	}
+
+	@Override
 	public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
 		PageInfo<Teacher> pageInfo = queryPage(queryInfo);
 		List<Teacher> rows = pageInfo.getRows();

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

@@ -19,6 +19,7 @@
         <result column="expect_student_num_" property="expectStudentNum"/>
         <result column="total_class_times_" property="totalClassTimes"/>
         <result column="img_" property="img"/>
+        <result column="current_class_times_" property="currentClassTimes"/>
         <!--<association property="musicGroupId" javaType="com.ym.mec.biz.dal.entity.MusicGroup" >-->
         <!--<result column="name_" property="name"/>-->
         <!--<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->

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

@@ -178,6 +178,8 @@
         <result property="longitudeAndLatitude" column="longitude_latitude_"/>
         <result property="teacherName" column="teacher_name_"/>
         <result property="signInTime" column="sign_in_time_"/>
+        <result column="total_class_times_" property="totalClassTimes"/>
+        <result column="current_class_times_" property="currentClassTimes"/>
     </resultMap>
 
     <select id="getCurrentCourseDetail"
@@ -191,6 +193,8 @@
         cs.status_ course_status_,
         cg.id_ class_id,
         cg.name_ class_name,
+        cg.total_class_times_,
+        cg.current_class_times_,
         cs.type_ class_type,
         mg.id_ music_group_id,
         mg.name_ music_group_name,
@@ -751,7 +755,7 @@
         <result property="classGroupId" column="class_group_id_"/>
         <result property="courseScheduleId" column="course_schedule_id_"/>
         <result property="courseScheduleName" column="course_schedule_name_"/>
-        <result property="status" column="status_"/>
+        <result property="status" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="classDate" column="class_date_"/>
         <result property="startClassTime" column="start_class_time_"/>
         <result property="endClassTime" column="end_class_time_"/>
@@ -760,6 +764,9 @@
         <result property="type" column="type_"/>
         <result property="studentNum" column="student_num_"/>
         <result property="leaveStudentNum" column="leave_student_num_"/>
+        <result property="currentClassTimes" column="current_class_times_"/>
+        <result property="totalClassTimes" column="total_class_times_"/>
+        <result property="studentNames" column="student_names_"/>
     </resultMap>
 
     <sql id="teacherClassCourseScheduleQueryCondition">
@@ -786,16 +793,47 @@
             cs.type_,
             cs.status_,
             cs.actual_teacher_id_,
-            su.username_
+            su.username_,
+            cg.total_class_times_
         FROM
             course_schedule_teacher_salary csts
             LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
+            LEFT JOIN class_group cg ON  cs.class_group_id_=cg.id_
             LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
         <include refid="teacherClassCourseScheduleQueryCondition"/>
         ORDER BY cs.id_
         <include refid="global.limit"/>
     </select>
 
+    <select id="queryTeacherHistoryClassCourseSchedule" resultMap="teacherClassCourseSchedule">
+        SELECT
+            cs.class_group_id_,
+            cs.id_ course_schedule_id_,
+            cs.class_date_,
+            CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) start_class_time_,
+            CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) end_class_time_,
+            cs.name_ course_schedule_name_,
+            cs.student_num_,
+            cs.leave_student_num_,
+            cs.type_,
+            cs.status_,
+            cs.actual_teacher_id_,
+            su.username_,
+            cg.total_class_times_,
+            GROUP_CONCAT(ssu.username_) student_names_,
+            MAX(sa.current_class_times_) current_class_times_
+        FROM
+          student_attendance sa
+        LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
+        LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
+        LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
+        LEFT JOIN sys_user ssu ON sa.user_id_=ssu.id_
+        WHERE sa.class_group_id_=#{classGroupId} AND sa.teacher_id_=#{userId}
+        GROUP BY sa.course_schedule_id_
+        ORDER BY cs.id_
+        <include refid="global.limit"/>
+    </select>
+
     <select id="countTeacherClassCourseSchedule" resultType="int">
         SELECT
             COUNT(cs.id_)
@@ -804,10 +842,17 @@
           LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
         <include refid="teacherClassCourseScheduleQueryCondition"/>
     </select>
+    <select id="countTeacherHistoryClassCourseSchedule" resultType="int">
+        SELECT
+            COUNT(DISTINCT sa.class_group_id_)
+        FROM
+            student_attendance sa
+        WHERE sa.class_group_id_=#{classGroupId} AND sa.teacher_id_=#{userId}
+    </select>
     <select id="countClassCourseNumByMusicGroup" resultType="java.util.Map">
         SELECT
-            cg.id_,
-            COUNT(cs.id_)
+            cg.id_ as 'key',
+            COUNT(cs.id_) as 'value'
         FROM
             class_group cg
             LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -293,6 +293,18 @@
         <include refid="queryCloses"/>
         <include refid="global.limit"/>
     </select>
+
+    <select id="findTeacherByMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
+        SELECT
+            su.id_ user_id_,
+            su.username_
+        FROM
+            class_group_teacher_mapper cgtm
+            LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
+            LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
+            WHERE cg.music_group_id_=#{musicGroupId}
+    </select>
+
     <sql id="queryCloses">
         <where>
             <if test="teacherId != null">

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java

@@ -23,7 +23,7 @@ public class ClassGroupController extends BaseController {
     @Autowired
     private ClassGroupService classGroupService;
 
-    @ApiOperation(value = "教师课程获取")
+    @ApiOperation(value = "教师关联班级获取")
     @GetMapping("/findTeacherClassGroups")
     public Object findTeacherClassGroups(@ApiParam(value = "课程类型:MUSIC_GROUP,VIP", required = true)String type){
         return succeed(classGroupService.findTeacherClassGroups(type));

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java

@@ -49,7 +49,7 @@ public class TeacherAttendanceController extends BaseController {
         return succeed(studentAttendanceService.getCurrentCourseStudents(queryInfo));
     }
 
-    @ApiOperation(value = "点名完成")
+    @ApiOperation(value = "点名")
     @PostMapping("/addStudentAttendances")
     public Object addStudentAttendances(@RequestBody List<StudentAttendance> studentAttendances){
         studentAttendanceService.addStudentAttendances(studentAttendances);

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

@@ -148,6 +148,7 @@ public class CourseScheduleController extends BaseController {
 
     @ApiOperation(value = "检测乐团下所有的班级是否都已排课")
     @PostMapping(value = "/checkMusicGroupClassCourse")
+    @PreAuthorize("@pcs.hasPermissions('courseSchedule/checkMusicGroupClassCourse')")
     public Object checkMusicGroupClassCourse(Long musicGroupId){
         scheduleService.checkMusicGroupClassCourse(musicGroupId);
         return succeed();

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -32,4 +32,10 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.findTeachers(organId));
     }
 
+    @ApiOperation(value = "获取乐团所有老师")
+    @GetMapping("/findMusicGoupTeachers")
+    public HttpResponseResult findMusicGoupTeachers(Long musicGroupId){
+        return succeed(teacherService.queryMusicGroupTeacher(musicGroupId));
+    }
+
 }