|
|
@ -124,9 +124,9 @@ public class TaskCalendarGenerator { |
|
|
/** |
|
|
/** |
|
|
* 获取指定年月日的完整日历,包含已生成的任务和未来生成的任务 |
|
|
* 获取指定年月日的完整日历,包含已生成的任务和未来生成的任务 |
|
|
* |
|
|
* |
|
|
* @param year 年 |
|
|
|
|
|
|
|
|
* @param year 年 |
|
|
* @param month 月 |
|
|
* @param month 月 |
|
|
* @param day 日 |
|
|
|
|
|
|
|
|
* @param day 日 |
|
|
* @return |
|
|
* @return |
|
|
*/ |
|
|
*/ |
|
|
public List<DailyTaskStatsDTO> getFullCalendar(int year, int month, int day) { |
|
|
public List<DailyTaskStatsDTO> getFullCalendar(int year, int month, int day) { |
|
|
@ -300,12 +300,14 @@ public class TaskCalendarGenerator { |
|
|
LocalDateTime intervalEndTime = task.getIntervalEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); |
|
|
LocalDateTime intervalEndTime = task.getIntervalEndTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); |
|
|
LocalTime executeTime = LocalTime.parse(task.getIntervalExecuteTime()); |
|
|
LocalTime executeTime = LocalTime.parse(task.getIntervalExecuteTime()); |
|
|
|
|
|
|
|
|
LocalDateTime startLdt = beginTime.isBefore(intervalStartTime) ? intervalStartTime : beginTime; |
|
|
|
|
|
|
|
|
LocalDateTime startLdt = intervalStartTime; |
|
|
LocalDateTime endLdt = endTime.isAfter(intervalEndTime) ? intervalEndTime : endTime; |
|
|
LocalDateTime endLdt = endTime.isAfter(intervalEndTime) ? intervalEndTime : endTime; |
|
|
|
|
|
|
|
|
startLdt = LocalDateTime.of(startLdt.toLocalDate(), executeTime); |
|
|
startLdt = LocalDateTime.of(startLdt.toLocalDate(), executeTime); |
|
|
for (LocalDateTime date = startLdt; date.isBefore(endLdt); date = date.plusHours(intervalNumber)) { |
|
|
for (LocalDateTime date = startLdt; date.isBefore(endLdt); date = date.plusHours(intervalNumber)) { |
|
|
// 判断是否为目标星期 |
|
|
|
|
|
|
|
|
if (date.isBefore(beginTime)) { |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
DailyTaskStatsDTO dto = DailyTaskStatsDTO.builder() |
|
|
DailyTaskStatsDTO dto = DailyTaskStatsDTO.builder() |
|
|
.name(task.getTaskName()) |
|
|
.name(task.getTaskName()) |
|
|
.taskState(TaskStateEnum.PENDING.getCode()) |
|
|
.taskState(TaskStateEnum.PENDING.getCode()) |
|
|
|