|
|
@@ -218,8 +218,19 @@ public class StatManagerImpl implements IStatManager {
|
|
|
piTaskHistoryQuery.setPunchInDateFrom(startDate.toString());
|
|
|
piTaskHistoryQuery.setPunchInDateTo(endDate.toString());
|
|
|
List<PiTaskHistory> piTaskHistoryList = piTaskHistoryService.queryByCondition(piTaskHistoryQuery);
|
|
|
+ // 打卡日期 - 打卡任务列表
|
|
|
Map<String, List<PiTaskHistory>> piTaskHistoryMap = piTaskHistoryList.stream().collect(Collectors.groupingBy(v -> v.getPunchInDate().substring(5)));
|
|
|
|
|
|
+ // 任务结算数据
|
|
|
+ SettleTaskRelaHistoryQuery settleTaskRelaHistoryQuery = new SettleTaskRelaHistoryQuery();
|
|
|
+ settleTaskRelaHistoryQuery.setSettleDateFrom(startDate.toString());
|
|
|
+ settleTaskRelaHistoryQuery.setSettleDateTo(endDate.toString());
|
|
|
+ settleTaskRelaHistoryQuery.setUserIds(Arrays.asList(currentUserId));
|
|
|
+ settleTaskRelaHistoryQuery.setSettleResults(Arrays.asList(SettleResultEnum.SETTLED));
|
|
|
+ List<SettleTaskRelaHistory> settleTaskRelaHistories = settleTaskRelaHistoryService.queryByCondition(settleTaskRelaHistoryQuery);
|
|
|
+ // 打卡日期 - 结算信息列表 关联
|
|
|
+ Map<String, List<SettleTaskRelaHistory>> settleTaskRelaHistoryMap = settleTaskRelaHistories.stream().collect(Collectors.groupingBy(v -> v.getSettleDate().substring(5)));
|
|
|
+
|
|
|
// 总任务数
|
|
|
List<Integer> totalTaskCountList = new ArrayList<>(lineCategories.length);
|
|
|
// 打卡任务数
|
|
|
@@ -227,16 +238,19 @@ public class StatManagerImpl implements IStatManager {
|
|
|
// 完成打卡任务数
|
|
|
List<Integer> doneTaskCountList = new ArrayList<>(lineCategories.length);
|
|
|
for (String lineCategory : lineCategories) {
|
|
|
+ // 获取结算数据
|
|
|
+ List<SettleTaskRelaHistory> tempSettleTaskRelaHistories = settleTaskRelaHistoryMap.get(lineCategory);
|
|
|
+ // 总任数
|
|
|
+ totalTaskCountList.add(Optional.ofNullable(tempSettleTaskRelaHistories).orElse(List.of()).size());
|
|
|
+
|
|
|
+ // 获取打卡记录
|
|
|
List<PiTaskHistory> piTaskHistories = piTaskHistoryMap.get(lineCategory);
|
|
|
if (CollectionUtils.isEmpty(piTaskHistories)) {
|
|
|
- totalTaskCountList.add(0);
|
|
|
punchInTaskCountList.add(0);
|
|
|
doneTaskCountList.add(0);
|
|
|
continue;
|
|
|
}
|
|
|
- // 总任数
|
|
|
- totalTaskCountList.add(piTaskHistories.size());
|
|
|
- // TODO 这里要单独弄一个统计表,不然无法计算
|
|
|
+ // 打卡任务数
|
|
|
punchInTaskCountList.add(piTaskHistories.size());
|
|
|
// 任务完成数
|
|
|
doneTaskCountList.add(piTaskHistories.stream().filter(piTaskHistory -> piTaskHistory.getPunchInResult().equals(PunchInResultEnum.DONE)).collect(Collectors.toList()).size());
|
|
|
@@ -455,7 +469,7 @@ public class StatManagerImpl implements IStatManager {
|
|
|
// 结算数据
|
|
|
SettleUserHistory settleUserHistory = settleUserHistoryMap.get(userId);
|
|
|
// 兑换列表
|
|
|
- List<RewardExchangeHistory> rewardExchangeHistoryList = rewardExchangeHistoryMap.get(userId);
|
|
|
+ List<RewardExchangeHistory> rewardExchangeHistoryList = Optional.ofNullable(rewardExchangeHistoryMap.get(userId)).orElse(List.of());
|
|
|
// 消耗总积分
|
|
|
int consumePoints = rewardExchangeHistoryList.stream()
|
|
|
.mapToInt(rewardExchangeHistory -> Optional.ofNullable(rewardExchangeHistory.getExchangeTotalPoints()).orElse(0))
|