|
|
@@ -538,7 +538,7 @@ public class PunchInManagerImpl implements IPunchInManager {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Cacheable(cacheNames = CacheNameConstant.TASK_STAT, key = "T(com.punchsettle.server.utiis.UserUtils).getCurrentUserId()+'_'+#query.taskId+'_'+#query.statTime", condition = "#query.taskId != null && #query.statTime != null && !#query.statTime.isBlank()")
|
|
|
+// @Cacheable(cacheNames = CacheNameConstant.TASK_STAT, key = "T(com.punchsettle.server.utiis.UserUtils).getCurrentUserId()+'_'+#query.taskId+'_'+#query.statTime", condition = "#query.taskId != null && #query.statTime != null && !#query.statTime.isBlank()")
|
|
|
public PiTaskStatVO queryStat(PiTaskStatQuery query) {
|
|
|
// 当前用户ID
|
|
|
Long currentUserId = UserUtils.getCurrentUserId();
|
|
|
@@ -577,12 +577,14 @@ public class PunchInManagerImpl implements IPunchInManager {
|
|
|
// 打卡任务ID-打卡任务对象关联
|
|
|
Map<Long, PiTask> piTaskMap = piTasks.stream().collect(Collectors.toMap(PiTask::getId, Function.identity(), (key1, key2) -> key1));
|
|
|
|
|
|
- String statTime = null;
|
|
|
+ // 统计范围的第一天
|
|
|
+ String statFirstTimeStr = null;
|
|
|
if (StatPeriodEnum.MONTH.equals(query.getStatPeriod())) {
|
|
|
String[] split = query.getStatTime().split("-");
|
|
|
- statTime = String.format("%s-%s-01", split[0], split[1]);
|
|
|
+ statFirstTimeStr = String.format("%s-%s-01", split[0], split[1]);
|
|
|
}
|
|
|
- List<LocalDate> dateRangeInMonth = DateUtils.getDateRangeInMonth(LocalDate.parse(statTime));
|
|
|
+ LocalDate statFirstTime = LocalDate.parse(statFirstTimeStr);
|
|
|
+ List<LocalDate> dateRangeInMonth = DateUtils.getDateRange(statFirstTime, LocalDate.now());
|
|
|
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM-dd");
|
|
|
String[] categories = dateRangeInMonth.stream().map(v -> dateTimeFormatter.format(v)).toArray(String[]::new);
|
|
|
Integer[] lineSeriesData = piTaskHistories.stream().map(PiTaskHistory::getCountTrack).toArray(Integer[]::new);
|