|
@@ -53,6 +53,7 @@ import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.*;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.time.temporal.IsoFields;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
@@ -6009,7 +6010,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Map<Integer, List<DailySummaryOfClassesForTheCurrentSemesterDto>> getDailySummaryOfClassesForTheCurrentSemester(Integer coopId) {
|
|
|
+ public Map<String, List<DailySummaryOfClassesForTheCurrentSemesterDto>> getDailySummaryOfClassesForTheCurrentSemester(Integer coopId) {
|
|
|
//获取合作单位关联的所有乐团列表
|
|
|
List<String> musicGroupIds = musicGroupDao.findNormalByCooperationId(coopId);
|
|
|
//获取当前学期
|
|
@@ -6022,13 +6023,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}else {
|
|
|
summary = courseScheduleDao.getDailySummaryOfClassesForTheCurrentSemester(musicGroupIds, startTerm, endTerm);
|
|
|
}
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DateUtil.ISO_EXPANDED_DATE_FORMAT);
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
LocalDate startDate = LocalDate.parse(startTerm, formatter);
|
|
|
LocalDate endDate = LocalDate.parse(endTerm, formatter);
|
|
|
- Map<Integer, List<DailySummaryOfClassesForTheCurrentSemesterDto>> result = new HashMap<>();
|
|
|
+ Map<String, List<DailySummaryOfClassesForTheCurrentSemesterDto>> result = new LinkedHashMap<>(30);
|
|
|
LocalDate currentWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
|
|
|
+ StringBuffer sb;
|
|
|
while (!currentWeekStart.isAfter(endDate)) {
|
|
|
- int currentWeekNumber = currentWeekStart.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR);
|
|
|
+ int currentWeekNumber = (int) ChronoUnit.WEEKS.between(startDate, currentWeekStart);
|
|
|
+ sb = new StringBuffer("第").append(toChineseNumber(currentWeekNumber)).append("周");
|
|
|
LocalDate currentWeekEnd = currentWeekStart.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
|
|
|
List<DailySummaryOfClassesForTheCurrentSemesterDto> currentWeekDates = new ArrayList<>();
|
|
|
for (DailySummaryOfClassesForTheCurrentSemesterDto dto : summary) {
|
|
@@ -6036,12 +6039,23 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
currentWeekDates.add(dto);
|
|
|
}
|
|
|
}
|
|
|
- result.put(currentWeekNumber, currentWeekDates);
|
|
|
+ result.put(sb.toString(), currentWeekDates);
|
|
|
currentWeekStart = currentWeekEnd.plusDays(1);
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ private static String toChineseNumber(int n) {
|
|
|
+ String[] chineseNumbers = {"一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八",
|
|
|
+ "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十", "三十一", "三十二", "三十三", "三十四",
|
|
|
+ "三十五", "三十六", "三十七", "三十八", "三十九", "四十", "四十一", "四十二", "四十三", "四十四", "四十五", "四十六", "四十七", "四十八", "四十九", "五十"};
|
|
|
+ if (n <= 50) {
|
|
|
+ return chineseNumbers[n];
|
|
|
+ } else {
|
|
|
+ return Integer.toString(n);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<ClassesForDayDto> getListClassesForDay(Integer coopId,String classDate) {
|
|
|
//获取合作单位关联的所有乐团列表
|