浏览代码

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

zouxuan 5 年之前
父节点
当前提交
bfff2415a9

+ 15 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherMapperDao.java

@@ -85,29 +85,38 @@ public interface ClassGroupTeacherMapperDao extends BaseDAO<Long, ClassGroupTeac
     String queryTeachingNames(Long classGroupId);
 
     /**
+     * @param classGroupIds: 班级编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper>
      * @describe 根据班级编号获取教师班级关联记录
      * @author Joburgess
      * @date 2020/1/3
-     * @param classGroupIds: 班级编号列表
-     * @return java.util.List<com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper>
      */
     List<ClassGroupTeacherMapDto> findByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds);
 
     /**
      * 修改老师
+     *
      * @param classGroupIds
      * @param teacherId
      */
     void updateTeacher(@Param("classGroupIds") Set<Integer> classGroupIds, @Param("teacherId") Integer teacherId);
 
     /**
-     * @describe 根据团体删除班级
-     * @author Joburgess
-     * @date 2020/2/17
      * @param groupId:
      * @param groupType:
      * @return int
+     * @describe 根据团体删除班级
+     * @author Joburgess
+     * @date 2020/2/17
      */
     int deleteByGroup(@Param("groupId") String groupId,
-                      @Param("groupType")GroupType groupType);
+                      @Param("groupType") GroupType groupType);
+
+    /**
+     * 获取班级主教老师
+     * @param classGroupIds
+     * @param teacherRole
+     * @return
+     */
+    List<ClassGroupTeacherMapper> findByClassGroupIdsAndType(@Param("classGroupIds") List<Integer> classGroupIds, @Param("teacherRole") String teacherRole);
 }

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

@@ -908,13 +908,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<Map<Long, Integer>> vipGroupOverCourses = courseScheduleDao.countGroupOverCourse(musicGroupIds,"VIP");
         Map<Long, Integer> vipGroupOverCourseMaps = MapUtil.convertIntegerMap(vipGroupOverCourses);
 
-//        List<ClassGroup> byClassGroupIds = classGroupDao.findByClassGroupIds(classGroupIds);
+        List<ClassGroupTeacherMapper> bishopTeachers = classGroupTeacherMapperDao.findByClassGroupIdsAndType(classGroupIds, "BISHOP");
+        Map<Integer, Integer> classGroupTeacherMap = bishopTeachers.stream().collect(Collectors.toMap(ClassGroupTeacherMapper::getClassGroupId, ClassGroupTeacherMapper::getUserId));
 //        Map<Integer, ClassGroup> classGorupIdMap = byClassGroupIds.stream().collect(Collectors.toMap(ClassGroup::getId, classGroup -> classGroup));
 
         //统计班级人数
         List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds,null);
         Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
         Map<Integer, Long> currentClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds,user.getId()));
+        Map<Integer, Long> noStartClassTimes = MapUtil.convertIntegerMap(courseScheduleDao.countCurrentNumByClassGroupId(classGroupIds,null));
+
         teacherMusicClassGroup.forEach(teacherClassGroupDto -> {
             if(teacherClassGroupDto.getType() == ClassGroupTypeEnum.PRACTICE){
                 String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(teacherClassGroupDto.getClassGroupId());
@@ -953,6 +956,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 //            teacherClassGroupDto.setSurplusClassTimes(classGroup.getTotalClassTimes() - classGroup.getCurrentClassTimes());
             Long aLong = currentClassTimes.get(teacherClassGroupDto.getClassGroupId().intValue());
             teacherClassGroupDto.setSurplusClassTimes(aLong==null?0:aLong.intValue());
+            Long classGroupNoStartClassTimes = noStartClassTimes.get(teacherClassGroupDto.getClassGroupId().intValue());
+            classGroupNoStartClassTimes = classGroupNoStartClassTimes==null?0:classGroupNoStartClassTimes;
             Long studentNum = classGroupStudentNumMap.get(teacherClassGroupDto.getClassGroupId().intValue());
             teacherClassGroupDto.setStudentNum(Objects.isNull(studentNum) ? 0 : studentNum.intValue());
 
@@ -970,7 +975,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             }
             //剩余课程为显示陪练报告入口rul
             if(teacherClassGroupDto.getType() == ClassGroupTypeEnum.PRACTICE){
-               if(teacherClassGroupDto.getSurplusClassTimes().equals(0)){
+               if(classGroupNoStartClassTimes.intValue()==0 && classGroupTeacherMap.get(teacherClassGroupDto.getClassGroupId().intValue()).equals(user.getId())){
                    String studyReportUrl = sysConfigDao.findConfigValue(SysConfigService.TEACHER_STUDY_REPORT_URL);
                    teacherClassGroupDto.setStudyReportUrl(studyReportUrl+teacherClassGroupDto.getClassGroupId());
                }

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml

@@ -188,4 +188,14 @@
     <delete id="deleteByGroup">
         DELETE FROM class_group_teacher_mapper WHERE music_group_id_=#{groupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     </delete>
+
+    <select id="findByClassGroupIdsAndType" resultMap="ClassGroupTeacherMapper">
+        SELECT * FROM class_group_teacher_mapper WHERE class_group_id_ IN
+        <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
+            #{classGroupId}
+        </foreach>
+        <if test="teacherRole != null ">
+            AND teacher_role_ = #{teacherRole}
+        </if>
+    </select>
 </mapper>