dzx 8 месяцев назад
Родитель
Сommit
0afb8cb754

+ 8 - 4
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -1293,15 +1293,18 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
 
             Map<String, List<CourseDetailVo>> classDataMap = tableVo.getCourseList().stream().filter(x -> x.getClassName() != null).collect(Collectors.groupingBy(CourseDetailVo::getClassName));
 
+            List<Long> teacherIds = classList.stream().map(BaseClass::getTeacherId).collect(Collectors.toList());
+            List<User> userList = userService.listByIds(teacherIds);
+            Map<Long, String> teacherMap = userList.stream().collect(Collectors.toMap(User::getId, User::getName));
+
             Workbook workbook = new XSSFWorkbook();
             String sheetName = "班级课表";
             Sheet sheet = workbook.createSheet(sheetName);
             String bigHead = "课程表";
 
             int classTableRowCount = 16;//每个班的课表占用的总行数
-            for(int i = 0; i < classList.size(); i ++){
-                BaseClass baseClass = classList.get(i);
-
+            int i = 0;
+            for (BaseClass baseClass : classList) {
                 CourseTableVo classData = new CourseTableVo();
                 classData.setClassTimeList(tableVo.getClassTimeList());
                 if(!classDataMap.containsKey(baseClass.getName())){
@@ -1309,7 +1312,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 }
                 classData.setCourseList(classDataMap.get(baseClass.getName()));
 
-                String rightName = "班主任:" + tableVo.getTeacherName() + " 行政班:" + baseClass.getName();
+                String rightName = "班主任:" + teacherMap.get(baseClass.getTeacherId()) + " 行政班:" + baseClass.getName();
                 int bigHeadRow = (classTableRowCount + 3) * i;
                 //生成第一行title
                 ImportExcelUtil.createBigHead(workbook, sheet, bigHead, bigHeadRow, 8);
@@ -1321,6 +1324,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 createSecondTitle(workbook, sheet, bigHeadRow + 3);
                 //生成内容
                 exportQueryUtil.createContent(workbook, sheet, bigHeadRow + 4, classData, dto.getCourseType());
+                i ++;
             }
             workbook.write(bot);
         }else if("teacher".equals(dto.getCourseType())){//教师课表

+ 1 - 1
src/main/java/com/xjrsoft/module/schedule/util/CourseTableExportQueryUtil.java

@@ -63,6 +63,7 @@ public class CourseTableExportQueryUtil {
 
 
     public void createContent(Workbook workbook, Sheet sheet, int rowNumber, CourseTableVo data, String courseType){
+        int firstRow = rowNumber;
         Map<Integer, ClassTime> timeNumberMap = data.getClassTimeList().stream().collect(Collectors.toMap(ClassTime::getNumber, x -> x));
         Map<String, List<CourseDetailVo>> timeNumberDataMap = data.getCourseList().stream().filter(x -> x.getTimeNumber() != null).collect(Collectors.groupingBy(CourseDetailVo::getTimeNumber));
 
@@ -173,7 +174,6 @@ public class CourseTableExportQueryUtil {
         //合并
         Map<Integer, List<Integer>> collect = data.getClassTimeList().stream()
                 .collect(Collectors.groupingBy(ClassTime::getTimePeriod, Collectors.mapping(ClassTime::getNumber, Collectors.toList())));
-        int firstRow = rowNumber;
         for (Integer i : collect.keySet()) {
             int lastRow = firstRow + collect.get(i).size() - 1;
             if (lastRow == firstRow) {