Browse Source

课表列表导出新增乐团主管

zouxuan 4 years ago
parent
commit
0a2b4e8635

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

@@ -388,4 +388,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     Integer getCooperationMusicGroupNum(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取课程关联教务老师名称
+     * @param courseIds
+     * @return
+     */
+    List<Map<Long, String>> queryEduNameMapByCourseId(@Param("courseIds") List<Long> courseIds);
 }

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

@@ -373,4 +373,11 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
      * @return java.util.List<java.util.Map<java.lang.Long,java.lang.String>>
      */
     List<Map<Long, String>> getPracticeGroupType(@Param("practiceIds") List<Long> practiceIds);
+
+    /**
+     * 获取课程关联教务老师名称
+     * @param courseIds
+     * @return
+     */
+    List<Map<Long, String>> queryEduNameMapByCourseId(@Param("courseIds") List<Long> courseIds);
 }

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

@@ -358,4 +358,11 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
      * @return
      */
     List<VipGroup> getVipGroupByIds(@Param("ids") List<Long> ids);
+
+    /**
+     * 获取课程关联教务老师名称
+     * @param courseIds
+     * @return
+     */
+    List<Map<Long, String>> queryEduNameMapByCourseId(@Param("courseIds") List<Long> courseIds);
 }

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

@@ -18,6 +18,8 @@ public class CourseScheduleEndDto extends CourseSchedule {
 
     private String teacherName;
 
+    private String educationTeacherName;
+
     private String subjectName;
 
     private String organName;
@@ -48,6 +50,14 @@ public class CourseScheduleEndDto extends CourseSchedule {
 
     private boolean beMerged;
 
+    public String getEducationTeacherName() {
+        return educationTeacherName;
+    }
+
+    public void setEducationTeacherName(String educationTeacherName) {
+        this.educationTeacherName = educationTeacherName;
+    }
+
     public boolean getBeMerged() {
         return beMerged;
     }

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

@@ -4749,7 +4749,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			//获取班级声部名称
             List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
             Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
+			Map<Long, String> eduName = null;
+			if(queryInfo.getIsExport()){
+				List<Long> musicCourseIds = results.stream().filter(e -> e.getGroupType() == MUSIC).map(CourseScheduleEndDto::getId).collect(Collectors.toList());
+				eduName = new HashMap<>(courseScheduleIds.size());
+				if(musicCourseIds != null && musicCourseIds.size() > 0){
+					eduName.putAll(MapUtil.convertMybatisMap(musicGroupDao.queryEduNameMapByCourseId(musicCourseIds)));
+				}
+				List<Long> vipCourseIds = results.stream().filter(e -> e.getGroupType() == VIP).map(CourseScheduleEndDto::getId).collect(Collectors.toList());
+				if(vipCourseIds != null && vipCourseIds.size() > 0){
+					eduName.putAll(MapUtil.convertMybatisMap(vipGroupDao.queryEduNameMapByCourseId(vipCourseIds)));
+				}
+				List<Long> practiceCourseIds = results.stream().filter(e -> e.getGroupType() == PRACTICE).map(CourseScheduleEndDto::getId).collect(Collectors.toList());
+				if(practiceCourseIds != null && practiceCourseIds.size() > 0){
+					eduName.putAll(MapUtil.convertMybatisMap(practiceGroupDao.queryEduNameMapByCourseId(practiceCourseIds)));
+				}
+			}
 			for (CourseScheduleEndDto result : results) {
+				if(eduName != null){
+					result.setEducationTeacherName(eduName.get(result.getId()));
+				}
 				result.setTeacher(null);
 				result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
 				result.setSubjectName(classGroupSubjectNameMap.get(result.getId()));

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

@@ -729,4 +729,14 @@
         ORDER BY mg.create_time_ DESC
         LIMIT 1
     </select>
+    <select id="queryEduNameMapByCourseId" resultType="java.util.Map">
+        SELECT cs.id_ 'key',su.real_name_ 'value' FROM course_schedule cs
+        LEFT JOIN music_group mg ON mg.id_ = cs.music_group_id_
+        LEFT JOIN sys_user su ON su.id_ = mg.educational_teacher_id_
+        WHERE cs.id_ IN
+        <foreach collection="courseIds" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+        AND mg.educational_teacher_id_ IS NOT NULL
+    </select>
 </mapper>

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -736,4 +736,15 @@
             #{id}
         </foreach>
     </select>
+
+    <select id="queryEduNameMapByCourseId" resultType="java.util.Map">
+        SELECT cs.id_ 'key',su.real_name_ 'value' FROM course_schedule cs
+        LEFT JOIN practice_group pg ON pg.id_ = cs.music_group_id_
+        LEFT JOIN sys_user su ON su.id_ = pg.educational_teacher_id_
+        WHERE cs.id_ IN
+        <foreach collection="courseIds" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+        AND pg.educational_teacher_id_ IS NOT NULL
+    </select>
 </mapper>

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

@@ -1027,4 +1027,14 @@
             #{id}
         </foreach>
     </select>
+    <select id="queryEduNameMapByCourseId" resultType="java.util.Map">
+        SELECT cs.id_ 'key',su.real_name_ 'value' FROM course_schedule cs
+        LEFT JOIN vip_group vg ON vg.id_ = cs.music_group_id_
+        LEFT JOIN sys_user su ON su.id_ = vg.educational_teacher_id_
+        WHERE cs.id_ IN
+        <foreach collection="courseIds" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+        AND vg.educational_teacher_id_ IS NOT NULL
+    </select>
 </mapper>

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

@@ -888,10 +888,10 @@ public class ExportController extends BaseController {
         }
         OutputStream ouputStream = null;
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称", "课程编号", "开始时间", "结束时间",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称","乐团主管", "课程编号", "开始时间", "结束时间",
                     "班级名称", "班级声部", "课程名称", "课程类型", "教学模式",
                     "教学点", "课程状态", "指导老师", "学员编号", "是否点名", "是否有考勤申诉", "预计上课人数"}, new String[]{
-                    "organName", "id", "startClassTime", "endClassTime", "classGroupName", "subjectName", "name",
+                    "organName","educationTeacherName", "id", "startClassTime", "endClassTime", "classGroupName", "subjectName", "name",
                     "groupType.desc", "teachMode.msg", "schoolName", "status.msg", "teacherName", "studentId", "isCallNames.msg", "isComplaints", "studentNum"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");

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

@@ -146,7 +146,7 @@ public class TeacherAttendanceController extends BaseController {
 
     @ApiOperation(value = "撤销考勤申述")
     @PostMapping("/repealComplaints")
-    @PreAuthorize("@pcs.hasPermissions('teacherAttendance/addComplaints')")
+    @PreAuthorize("@pcs.hasPermissions('teacherAttendance/repealComplaints')")
     public Object repealComplaints(Long courseScheduleId,Integer userId){
         teacherAttendanceService.repealComplaints(courseScheduleId,userId);
         return succeed();