2 Commits 0ee2276f83 ... c5a95a9c59

Autore SHA1 Messaggio Data
  大数据与最优化研究所 c5a95a9c59 Merge branch 'pre' 3 mesi fa
  大数据与最优化研究所 bed76cea0f 获取本学期所有周次,应该获取自然周 3 mesi fa

+ 1 - 1
Makefile

@@ -5,7 +5,7 @@ merge-pre:
 	git checkout pre;git merge dev;git push;git checkout dev;
 
 create-tag:
-	git checkout master;git tag v5.2.6;git push origin --tags;git checkout dev;
+	git checkout master;git tag v5.2.8;git push origin --tags;git checkout dev;
 
 remove-tag:
 	git tag -d v1.2.0;git push origin :refs/tags/v1.1.8;

+ 89 - 120
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -84,6 +84,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
+import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -139,10 +141,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
 
         // 获取教师信息
         MPJLambdaWrapper<XjrUser> queryWrapper = new MPJLambdaWrapper<>();
-        queryWrapper
-                .disableSubLogicDel()
-                .innerJoin(BaseTeacher.class, BaseTeacher::getUserId, XjrUser::getId)
-                .selectAll(XjrUser.class);
+        queryWrapper.disableSubLogicDel().innerJoin(BaseTeacher.class, BaseTeacher::getUserId, XjrUser::getId).selectAll(XjrUser.class);
         List<XjrUser> xjrUserList = teacherbaseManagerService.list(queryWrapper);
         Map<String, XjrUser> xjrUsersMap = xjrUserList.stream().collect(Collectors.toMap(XjrUser::getName, a -> a, (k1, k2) -> k1));
 
@@ -172,8 +171,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
     @Override
     public List<ClassListVo> classList(ClassListDto dto) {
         LambdaQueryWrapper<CourseTable> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(CourseTable::getClassId, dto.getClassId())
-                .eq(ObjectUtil.isNotEmpty(dto.getWeeks()), CourseTable::getWeeks, dto.getWeeks());
+        queryWrapper.eq(CourseTable::getClassId, dto.getClassId()).eq(ObjectUtil.isNotEmpty(dto.getWeeks()), CourseTable::getWeeks, dto.getWeeks());
 
         List<CourseTable> courseTables = courseTableMapper.selectList(queryWrapper);
 
@@ -203,10 +201,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
     @Override
     public CourseTableVo getList(CourseTableDto dto) {
 
-        List<ClassTime> classTimes = classTimeMapper.selectList(
-                new QueryWrapper<ClassTime>().lambda()
-                        .ne(ClassTime::getTimePeriod, 0)
-                        .orderByAsc(ClassTime::getSummerStartTime)
+        List<ClassTime> classTimes = classTimeMapper.selectList(new QueryWrapper<ClassTime>().lambda().ne(ClassTime::getTimePeriod, 0).orderByAsc(ClassTime::getSummerStartTime)
 
         );
 
@@ -217,42 +212,66 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             BaseSemester baseSemester = baseSemesterMapper.selectById(dto.getSemesterId());
             tableVo.setSemesterName(baseSemester.getName());
             LocalDateTime now = LocalDateTime.now();
-            //计算本周是第几周
-            LocalDateTime startDateTime = LocalDateTime.ofInstant(baseSemester.getTeachingStart().toInstant(), ZoneId.systemDefault());
-            LocalDateTime endDateTime = LocalDateTime.ofInstant(baseSemester.getTeachingEnd().toInstant(), ZoneId.systemDefault());
-            Duration between = Duration.between(startDateTime, endDateTime);
-            long days = between.toDays();
-            int weeks = (int) Math.ceil((double) days / 7);
+            // 计算本周是第几周
+            LocalDate semesterStart = LocalDate.ofInstant(baseSemester.getTeachingStart().toInstant(), ZoneId.systemDefault());
+            LocalDate semesterEnd = LocalDate.ofInstant(baseSemester.getTeachingEnd().toInstant(), ZoneId.systemDefault());
+
+            // 调整到完整的周范围(周一到周日)
+            LocalDate weekStart = semesterStart.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+            LocalDate weekEnd = semesterEnd.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
+
+            // 计算总周数
+            long totalWeeks = ChronoUnit.WEEKS.between(weekStart, weekEnd.plusDays(1)); // 加1天以确保包含最后一周
+
             if (dto.getWeek() == null) {
-                for (int i = 0; i < weeks; i++) {
-                    LocalDateTime startDate = startDateTime.plusDays(i * 7L).withHour(0).withMinute(0).withSecond(0).withNano(0);
-                    LocalDateTime endDate = startDate.plusDays(6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
-                    if (now.isAfter(startDate) && now.isBefore(endDate)) {
-                        tableVo.setWeek("第" + (i + 1) + "周");
-                    }
-                    tableVo.setStartDate(startDate.toLocalDate());
-                    tableVo.setEndDate(endDate.toLocalDate());
+                // 查找当前日期所在的周
+                long weeksBetween = ChronoUnit.WEEKS.between(weekStart, now);
+                LocalDate calculatedWeekStart = weekStart.plusWeeks(weeksBetween);
+                LocalDate calculatedWeekEnd = calculatedWeekStart.plusDays(6);
+
+                // 验证是否在学期范围内
+                LocalDate nowDate = now.toLocalDate();
+
+                if (!nowDate.isBefore(weekStart) && !nowDate.isAfter(weekEnd)) {
+                    int currentWeek = (int) (weeksBetween + 1);
+                    tableVo.setWeek("第" + currentWeek + "周");
+                    tableVo.setStartDate(calculatedWeekStart);
+                    tableVo.setEndDate(calculatedWeekEnd);
+                } else {
+                    tableVo.setWeek("不在学期范围内");
+                    tableVo.setStartDate(weekStart);
+                    tableVo.setEndDate(weekEnd);
                 }
             } else {
-                LocalDateTime startDate = startDateTime.plusDays((dto.getWeek() - 1) * 7L).withHour(0).withMinute(0).withSecond(0).withNano(0);
-                LocalDateTime endDate = startDate.plusDays(6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
-                dto.setStartDate(startDate);
-                dto.setEndDate(endDate);
-                tableVo.setWeek("第" + dto.getWeek() + "周");
-                tableVo.setStartDate(startDate.toLocalDate());
-                tableVo.setEndDate(endDate.toLocalDate());
-            }
+                // 根据指定周数计算日期范围
+                int weekNumber = dto.getWeek();
+                if (weekNumber < 1 || weekNumber > totalWeeks) {
+                    throw new MyException("周数必须在1到" + totalWeeks + "之间");
+                }
+
+                LocalDateTime semesterStartDateTime = baseSemester.getTeachingStart().toInstant()
+                        .atZone(ZoneId.systemDefault())
+                        .toLocalDateTime();
+
+                LocalDateTime weekStartDateTime = semesterStartDateTime
+                        .plusWeeks(weekNumber - 1)
+                        .toLocalDate()
+                        .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))
+                        .atStartOfDay();
+
+                LocalDateTime weekEndDateTime = weekStartDateTime.plusDays(6)
+                        .with(LocalTime.MAX);
 
+                dto.setStartDate(weekStartDateTime);
+                dto.setEndDate(weekEndDateTime);
+                tableVo.setWeek("第" + weekNumber + "周");
+                tableVo.setStartDate(weekStartDateTime.toLocalDate());
+                tableVo.setEndDate(weekEndDateTime.toLocalDate());
+            }
         }
         if (!StrUtil.isEmpty(dto.getTeacherName())) {
-            List<XjrUser> userList = teacherbaseManagerService.list(
-                    new QueryWrapper<XjrUser>().lambda()
-                            .like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getName, dto.getTeacherName())
-            );
-            List<XjrUser> userList2 = teacherbaseManagerService.list(
-                    new QueryWrapper<XjrUser>().lambda()
-                            .like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getCode, dto.getTeacherName())
-            );
+            List<XjrUser> userList = teacherbaseManagerService.list(new QueryWrapper<XjrUser>().lambda().like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getName, dto.getTeacherName()));
+            List<XjrUser> userList2 = teacherbaseManagerService.list(new QueryWrapper<XjrUser>().lambda().like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getCode, dto.getTeacherName()));
             userList.addAll(userList2);
             if (!userList.isEmpty()) {
                 XjrUser xjrUser = userList.get(0);
@@ -264,9 +283,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             if (dto.getStudentId() == null && dto.getTeacherId() == null && dto.getClassId() == null) {
                 dto.setTeacherId(StpUtil.getLoginIdAsLong());
             } else {
-                List<BaseStudentSchoolRoll> schoolRolls = baseStudentSchoolRollService.list(
-                        new QueryWrapper<BaseStudentSchoolRoll>().lambda().eq(BaseStudentSchoolRoll::getUserId, dto.getStudentId())
-                );
+                List<BaseStudentSchoolRoll> schoolRolls = baseStudentSchoolRollService.list(new QueryWrapper<BaseStudentSchoolRoll>().lambda().eq(BaseStudentSchoolRoll::getUserId, dto.getStudentId()));
                 if (schoolRolls != null && !schoolRolls.isEmpty()) {
                     dto.setCourseType("class");
                     dto.setClassId(schoolRolls.get(0).getClassId());
@@ -354,13 +371,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
     @Transactional(rollbackFor = Exception.class)
     public Boolean adjustCourse(WfCourseAdjust courseAdjust) {
         //先查询课表数据,看是否能够查询到,如果能查到
-        List<CourseTable> list = this.list(
-                new MPJLambdaWrapper<CourseTable>()
-                        .select(CourseTable::getId)
-                        .select(CourseTable.class, x -> VoToColumnUtil.fieldsToColumns(CourseTable.class).contains(x.getProperty()))
-                        .innerJoin(CourseTableBak.class, CourseTableBak::getId, CourseTable::getId)
-                        .eq(CourseTableBak::getWfCourseAdjustId, courseAdjust.getId())
-        );
+        List<CourseTable> list = this.list(new MPJLambdaWrapper<CourseTable>().select(CourseTable::getId).select(CourseTable.class, x -> VoToColumnUtil.fieldsToColumns(CourseTable.class).contains(x.getProperty())).innerJoin(CourseTableBak.class, CourseTableBak::getId, CourseTable::getId).eq(CourseTableBak::getWfCourseAdjustId, courseAdjust.getId()));
         String[] courseIds = courseAdjust.getCourseId().split(",");
 
         ArrayList<String> courseIdList = new ArrayList<>(Arrays.asList(courseIds));
@@ -375,18 +386,9 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
         LocalDateTime now = LocalDateTime.now();
 
         if (list.isEmpty() || list.size() != courseCount) {
-            list = this.list(
-                    new MPJLambdaWrapper<CourseTable>()
-                            .select(CourseTable::getId)
-                            .select(CourseTable.class, x -> VoToColumnUtil.fieldsToColumns(CourseTable.class).contains(x.getProperty()))
-                            .innerJoin(CourseTableBak.class, CourseTableBak::getKeyInfo, CourseTable::getKeyInfo)
-                            .eq(CourseTableBak::getWfCourseAdjustId, courseAdjust.getId())
-            );
+            list = this.list(new MPJLambdaWrapper<CourseTable>().select(CourseTable::getId).select(CourseTable.class, x -> VoToColumnUtil.fieldsToColumns(CourseTable.class).contains(x.getProperty())).innerJoin(CourseTableBak.class, CourseTableBak::getKeyInfo, CourseTable::getKeyInfo).eq(CourseTableBak::getWfCourseAdjustId, courseAdjust.getId()));
             Map<String, CourseTable> courseMap = list.stream().collect(Collectors.toMap(CourseTable::getKeyInfo, x -> x));
-            List<CourseTableBak> bakList = courseTableBakMapper.selectList(
-                    new QueryWrapper<CourseTableBak>().lambda()
-                            .eq(CourseTableBak::getWfCourseAdjustId, courseAdjust.getId())
-            );
+            List<CourseTableBak> bakList = courseTableBakMapper.selectList(new QueryWrapper<CourseTableBak>().lambda().eq(CourseTableBak::getWfCourseAdjustId, courseAdjust.getId()));
             Map<Long, String> bakKeyInfoMap = bakList.stream().collect(Collectors.toMap(CourseTableBak::getId, CourseTableBak::getKeyInfo));
             Map<Long, CourseTableBak> bakCourseMap = bakList.stream().collect(Collectors.toMap(CourseTableBak::getId, x -> x));
 
@@ -519,7 +521,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             } else if (CourseAdjustTypeEnum.courseSubstitute.getCode().equals(courseAdjust.getAdjustType())) {
                 for (String courseId : courseIds) {
                     CourseTable courseTable = courseTableMapper.selectById(courseId);
-                    if(courseTable == null){
+                    if (courseTable == null) {
                         continue;
                     }
 
@@ -628,10 +630,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                                 continue;
                             }
                             if (courseDetailVo != null) {
-                                String courseInfo = courseDetailVo.getCourseName() + "\n" +
-                                        courseDetailVo.getTeacherName() + "\n" +
-                                        courseDetailVo.getClassName() + "\n" +
-                                        courseDetailVo.getClassroomName() + "\n";
+                                String courseInfo = courseDetailVo.getCourseName() + "\n" + courseDetailVo.getTeacherName() + "\n" + courseDetailVo.getClassName() + "\n" + courseDetailVo.getClassroomName() + "\n";
                                 switch (i) {
                                     case 1:
                                         scheduleWeekExportQueryVo.setMonday(courseInfo);
@@ -673,9 +672,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
         // 创建头部样式
         WriteCellStyle headWriteCellStyle = createHeadCellStyle();
         // 将数据写入Excel文件
-        try (ExcelWriter excelWriter = EasyExcel.write(outputStream, ScheduleWeekExportQueryVo.class)
-                .registerWriteHandler(new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle))
-                .build()) {
+        try (ExcelWriter excelWriter = EasyExcel.write(outputStream, ScheduleWeekExportQueryVo.class).registerWriteHandler(new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle)).build()) {
 
             writeSheetHead(courseTableVo, excelWriter);
 
@@ -695,10 +692,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
 
     private void writeSheetHead(CourseTableVo courseTableVo, ExcelWriter excelWriter) {
         List<List<String>> sheetHeadList = new ArrayList<>();
-        sheetHeadList.add(Collections.singletonList(courseTableVo.getSemesterName() + " "
-                + ((courseTableVo.getTeacherName() != null) ? courseTableVo.getTeacherName() : courseTableVo.getClassName()) + " "
-                + courseTableVo.getWeek() + " "
-                + "课程表"));
+        sheetHeadList.add(Collections.singletonList(courseTableVo.getSemesterName() + " " + ((courseTableVo.getTeacherName() != null) ? courseTableVo.getTeacherName() : courseTableVo.getClassName()) + " " + courseTableVo.getWeek() + " " + "课程表"));
 
         ExcelFillCellMergePrevColUtil sheetHeadColumn = new ExcelFillCellMergePrevColUtil();
         sheetHeadColumn.add(0, 0, 8);
@@ -1117,8 +1111,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 row.setHeightInPoints(48);
             }
             //合并
-            Map<Integer, List<Integer>> collect = data.getClassTimeList().stream()
-                    .collect(Collectors.groupingBy(ClassTime::getTimePeriod, Collectors.mapping(ClassTime::getNumber, Collectors.toList())));
+            Map<Integer, List<Integer>> collect = data.getClassTimeList().stream().collect(Collectors.groupingBy(ClassTime::getTimePeriod, Collectors.mapping(ClassTime::getNumber, Collectors.toList())));
             int firstRow = 2;
             for (Integer i : collect.keySet()) {
                 int lastRow = firstRow + collect.get(i).size() - 1;
@@ -1285,16 +1278,10 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
         dataDto.setIsCustom(1);
         CourseTableVo tableVo = this.getList(dataDto);
 
-        if("class".equals(dto.getCourseType())){//班级课表
+        if ("class".equals(dto.getCourseType())) {//班级课表
             //根据年级、专业部,查询需要导出的班级
-            List<BaseClass> classList = baseClassService.list(
-                    new QueryWrapper<BaseClass>().lambda()
-                            .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
-                            .eq(BaseClass::getIsGraduate, 1)
-                            .in(BaseClass::getGradeId, dto.getGradeIds())
-                            .in(BaseClass::getOrgId, dto.getDeptIds())
-            );
-            if(classList.isEmpty()){
+            List<BaseClass> classList = baseClassService.list(new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode()).eq(BaseClass::getIsGraduate, 1).in(BaseClass::getGradeId, dto.getGradeIds()).in(BaseClass::getOrgId, dto.getDeptIds()));
+            if (classList.isEmpty()) {
                 throw new MyException("未查询到班级,无法导出");
             }
 
@@ -1314,7 +1301,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             for (BaseClass baseClass : classList) {
                 CourseTableVo classData = new CourseTableVo();
                 classData.setClassTimeList(tableVo.getClassTimeList());
-                if(!classDataMap.containsKey(baseClass.getName())){
+                if (!classDataMap.containsKey(baseClass.getName())) {
                     continue;
                 }
                 classData.setCourseList(classDataMap.get(baseClass.getName()));
@@ -1331,22 +1318,17 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 createSecondTitle(workbook, sheet, bigHeadRow + 3);
                 //生成内容
                 exportQueryUtil.createContent(workbook, sheet, bigHeadRow + 4, classData, dto.getCourseType());
-                i ++;
+                i++;
             }
             workbook.write(bot);
-        }else if("teacher".equals(dto.getCourseType())){//教师课表
+        } else if ("teacher".equals(dto.getCourseType())) {//教师课表
             //根据学期和周次,查询当前所有有课表的教师id
             LocalDateTime startDateTime = LocalDateTime.ofInstant(baseSemester.getTeachingStart().toInstant(), ZoneId.systemDefault());
 
             LocalDate startDate = startDateTime.plusDays((dto.getWeek() - 1) * 7L).toLocalDate();
             LocalDate endDate = startDate.plusDays(6);
 
-            List<CourseTable> list = this.list(
-                    new QueryWrapper<CourseTable>().lambda()
-                            .eq(CourseTable::getBaseSemesterId, dto.getSemesterId())
-                            .ge(CourseTable::getScheduleDate, startDate)
-                            .le(CourseTable::getScheduleDate, endDate)
-            );
+            List<CourseTable> list = this.list(new QueryWrapper<CourseTable>().lambda().eq(CourseTable::getBaseSemesterId, dto.getSemesterId()).ge(CourseTable::getScheduleDate, startDate).le(CourseTable::getScheduleDate, endDate));
             Set<String> teacherIds = list.stream().map(CourseTable::getTeacherId).collect(Collectors.toSet());
             Set<Long> teacherIdList = new HashSet<>();
             for (String teacherId : teacherIds) {
@@ -1363,7 +1345,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             String bigHead = "课程表";
             int classTableRowCount = 16;//每个班的课表占用的总行数
 
-            for(int i = 0; i < userList.size(); i ++){
+            for (int i = 0; i < userList.size(); i++) {
                 User user = userList.get(i);
                 List<CourseDetailVo> courseList = tableVo.getCourseList().stream().filter(x -> x.getTeacherName().contains(user.getName())).collect(Collectors.toList());
 
@@ -1385,16 +1367,10 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 exportQueryUtil.createContent(workbook, sheet, bigHeadRow + 4, classData, dto.getCourseType());
             }
             workbook.write(bot);
-        }else if("classroom".equals(dto.getCourseType())){//教室课表
+        } else if ("classroom".equals(dto.getCourseType())) {//教室课表
             Map<String, List<CourseDetailVo>> classroomDataMap = tableVo.getCourseList().stream().filter(x -> x.getClassroomName() != null).collect(Collectors.groupingBy(CourseDetailVo::getClassroomName));
-            List<BaseClassroom> classroomList = classroomMapper.selectList(
-                    new QueryWrapper<BaseClassroom>().lambda()
-                            .eq(BaseClassroom::getDeleteMark, DeleteMark.NODELETE.getCode())
-            );
-            List<BaseOfficeBuild> buildList = officeBuildMapper.selectList(
-                    new QueryWrapper<BaseOfficeBuild>().lambda()
-                            .eq(BaseOfficeBuild::getDeleteMark, DeleteMark.NODELETE.getCode())
-            );
+            List<BaseClassroom> classroomList = classroomMapper.selectList(new QueryWrapper<BaseClassroom>().lambda().eq(BaseClassroom::getDeleteMark, DeleteMark.NODELETE.getCode()));
+            List<BaseOfficeBuild> buildList = officeBuildMapper.selectList(new QueryWrapper<BaseOfficeBuild>().lambda().eq(BaseOfficeBuild::getDeleteMark, DeleteMark.NODELETE.getCode()));
             Map<Long, String> buildMap = buildList.stream().collect(Collectors.toMap(BaseOfficeBuild::getId, BaseOfficeBuild::getName));
 
             Workbook workbook = new XSSFWorkbook();
@@ -1405,7 +1381,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             int i = 0;
             for (BaseClassroom baseClassroom : classroomList) {
                 String classroomName = buildMap.get(baseClassroom.getOfficeBuildId()) + baseClassroom.getName();
-                if(!classroomDataMap.containsKey(classroomName)){
+                if (!classroomDataMap.containsKey(classroomName)) {
                     continue;
                 }
 
@@ -1427,27 +1403,20 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 //生成内容
                 exportQueryUtil.createContent(workbook, sheet, bigHeadRow + 4, classData, dto.getCourseType());
 
-                i ++;
+                i++;
             }
             workbook.write(bot);
-        }else if("all".equals(dto.getCourseType())){//总课表
+        } else if ("all".equals(dto.getCourseType())) {//总课表
             //根据年级、专业部,查询需要导出的班级
-            List<BaseClass> classList = baseClassService.list(
-                    new QueryWrapper<BaseClass>().lambda()
-                            .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
-                            .eq(BaseClass::getIsGraduate, 1)
-                            .in(BaseClass::getGradeId, dto.getGradeIds())
-                            .in(BaseClass::getOrgId, dto.getDeptIds())
-                            .orderByAsc(BaseClass::getName)
-            );
-            if(classList.isEmpty()){
+            List<BaseClass> classList = baseClassService.list(new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode()).eq(BaseClass::getIsGraduate, 1).in(BaseClass::getGradeId, dto.getGradeIds()).in(BaseClass::getOrgId, dto.getDeptIds()).orderByAsc(BaseClass::getName));
+            if (classList.isEmpty()) {
                 throw new MyException("未查询到班级,无法导出");
             }
             Map<String, List<CourseDetailVo>> classDataMap = tableVo.getCourseList().stream().filter(x -> x.getClassName() != null).collect(Collectors.groupingBy(CourseDetailVo::getClassName));
             ArrayList<ArrayList<String>> dataList = new ArrayList<>();
             for (BaseClass baseClass : classList) {
                 List<CourseDetailVo> detailVoList = classDataMap.get(baseClass.getName());
-                if(detailVoList == null){
+                if (detailVoList == null) {
                     continue;
                 }
                 Map<Integer, List<CourseDetailVo>> weeksMap = detailVoList.stream().collect(Collectors.groupingBy(CourseDetailVo::getWeeks));
@@ -1464,7 +1433,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                 ArrayList<String> classData = new ArrayList<>();
                 classData.add(baseClass.getName());
                 for (Integer weeks : weekList) {
-                    if(!weeksMap.containsKey(weeks)){
+                    if (!weeksMap.containsKey(weeks)) {
                         for (ClassTime classTime : tableVo.getClassTimeList()) {
                             classData.add("");
                         }
@@ -1473,12 +1442,12 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     Map<String, CourseDetailVo> timeNumberMap = weeksMap.get(weeks).stream().filter(x -> x.getTimeNumber() != null).collect(Collectors.toMap(CourseDetailVo::getTimeNumber, x -> x));
                     for (ClassTime classTime : tableVo.getClassTimeList()) {
                         CourseDetailVo courseDetailVo = timeNumberMap.get(classTime.getNumber().toString());
-                        if(courseDetailVo == null){
+                        if (courseDetailVo == null) {
                             classData.add("");
                             continue;
                         }
                         String content = courseDetailVo.getCourseName() + "\r\n" + courseDetailVo.getTeacherName();
-                        if(courseDetailVo.getClassroomName() != null){
+                        if (courseDetailVo.getClassroomName() != null) {
                             content += "\r\n" + courseDetailVo.getClassroomName();
                         }
                         classData.add(content);
@@ -1545,7 +1514,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             LocalDateTime endDate = startDate.plusDays(6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
             if (now.isAfter(startDate) && now.isBefore(endDate)) {
                 CurrentWeekVo currentWeekVo = new CurrentWeekVo();
-                currentWeekVo.setWeek(i+ 1);
+                currentWeekVo.setWeek(i + 1);
                 currentWeekVo.setStartDate(startDate.toLocalDate());
                 currentWeekVo.setEndDate(endDate.toLocalDate());
                 return currentWeekVo;