diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/com/ComSchTreeService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/com/ComSchTreeService.java index 9e8e135..303175c 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/com/ComSchTreeService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/com/ComSchTreeService.java @@ -1152,7 +1152,7 @@ public class ComSchTreeService implements IComSchTreeService { // 高职学制长度(按学校专业最大学制,与 getHigherSchGradeClassTree 保持一致;无则默认3) Integer majorLeng = schDicMajorsRepository.findMaxSchsystemLengBySchId(schId).orElse(0); - if (majorLeng == null || majorLeng <= 0) { + if (majorLeng <= 0) { majorLeng = 3; } @@ -1169,7 +1169,14 @@ public class ComSchTreeService implements IComSchTreeService { .collect(Collectors.groupingBy(SchClass::getEnrollYear)); // 4. 确定年份范围 - Integer currentYear = baseYearTermService.getNowYearTerm().getYear(); + // getNowYearTerm 在"当前时间不在任何学年区间"时抛 DException,此处降级为返回空树,避免 500 + Integer currentYear; + try { + currentYear = baseYearTermService.getNowYearTerm().getYear(); + } catch (DException e) { + root.setChildren(Collections.emptyList()); + return root; + } Integer minYear = classByYear.keySet().stream().min(Integer::compareTo).orElse(null); if (minYear == null) { root.setChildren(Collections.emptyList());