zouxuan %!s(int64=5) %!d(string=hai) anos
pai
achega
282659efec

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -601,4 +601,11 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return
      */
     Integer countClassNumByType(String musicGroupId);
+
+    /**
+     * 获取对应班级的声部名称列表
+     * @param courseScheduleIds
+     * @return
+     */
+    List<Map<Integer, String>> findClassGroupSubjectNameMaps(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 }

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

@@ -958,6 +958,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return java.util.List<com.ym.mec.biz.dal.dto.CourseScheduleEndDto>
      */
     List<CourseScheduleEndDto> endFindCourseSchedules(Map<String, Object> params);
+
     int endCountCourseSchedules(Map<String, Object> params);
 
     /**

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleEndDto.java

@@ -15,6 +15,8 @@ public class CourseScheduleEndDto extends CourseSchedule {
 
     private String teacherName;
 
+    private String subjectName;
+
     private String organName;
 
     private String remark;
@@ -29,6 +31,14 @@ public class CourseScheduleEndDto extends CourseSchedule {
 
     private Date signOutTime;
 
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
     public String getRemark() {
         return remark;
     }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2389,6 +2389,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
             groups = groupDao.findByGroupIds(groups);
             Map<String, Map<GroupType, List<Group>>> groupsGroupByGroup = groups.stream().collect(Collectors.groupingBy(Group::getId, Collectors.groupingBy(Group::getGroupType)));
+            //获取班级声部名称
+            List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
+            Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
             results.forEach(result -> {
                 Map<GroupType, List<Group>> groupsTypeMap = groupsGroupByGroup.get(result.getMusicGroupId());
                 result.setTeacher(null);
@@ -2400,6 +2403,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     }
                 }
                 result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
+                result.setSubjectName(classGroupSubjectNameMap.get(result.getId()));
                 List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(result.getId());
                 if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
                     TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);

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

@@ -1061,5 +1061,21 @@
         SELECT COUNT(id_) FROM class_group WHERE type_ = 'HIGH' AND del_flag_ = '0'
     </select>
 
+    <select id="findClassGroupSubjectNameMaps" resultType="java.util.Map">
+        SELECT
+        cs.id_ 'key',
+        GROUP_CONCAT(DISTINCT j.name_) 'value'
+        FROM
+        course_schedule cs
+        LEFT JOIN class_group cg ON cg.id_=cs.class_group_id_
+        LEFT JOIN `subject` j ON  FIND_IN_SET(j.id_,cg.subject_id_list_)
+        WHERE cs.id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+            #{courseScheduleId}
+        </foreach>
+        GROUP BY cs.id_
+    </select>
+
+
 
 </mapper>

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -137,9 +137,9 @@ public class ExportController extends BaseController {
         }
         List<CourseScheduleEndDto> rows = scheduleService.endFindCourseSchedules(queryInfo).getRows();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称", "课程编号", "开始时间", "结束时间", "班级名称", "课程名称", "课程类型", "教学模式",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称", "课程编号", "开始时间", "结束时间", "班级名称", "班级声部", "课程名称", "课程类型", "教学模式",
                     "教学点", "课程状态", "是否点名", "指导老师", "签到时间", "签退时间","签到备注"}, new String[]{
-                    "organName", "id", "startClassTime", "endClassTime", "classGroupName", "name",
+                    "organName", "id", "startClassTime", "endClassTime", "classGroupName","subjectName", "name",
                     "groupType.desc", "teachMode.msg", "schoolName", "status.msg", "isCallNames.msg", "teacherName", "signInTime",
                     "signOutTime","remark"}, rows);
             response.setContentType("application/octet-stream");