查询用户护理记录的当月统计信息

master
382696293@qq.com 2 years ago
parent 739fa50013
commit c2e9c04a62

@ -1,9 +1,13 @@
package com.flossom.miniProgram.service.impl;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.flossom.common.core.domain.entity.*;
import com.flossom.common.core.domain.req.WxNursingLogReq;
@ -49,17 +53,20 @@ public class WxNursingLogServiceImpl implements IWxNursingLogService {
queryNursingLog.getParams().put("beginTime", now.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN));
queryNursingLog.getParams().put("endTime", now.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX));
List<WxNursingLog> wxNursingLogList = wxNursingLogMapper.selectWxNursingLogList(queryNursingLog);
if (wxNursingLogList != null) {
if (wxNursingLogList != null && wxNursingLogList.size() > 0) {
WxNursingStatisticsRet wxNursingStatisticsRet = new WxNursingStatisticsRet();
wxNursingStatisticsRet.setNursingNum(wxNursingLogList.size());
Map<LocalDate, Long> collect = wxNursingLogList.stream().collect(
Collectors.groupingBy(
log -> log.getCreateTime().toInstant()
.atZone(ZoneId.systemDefault()).toLocalDate(), Collectors.counting()
)
);
wxNursingStatisticsRet.setNursingNum(collect.size());
Integer totalNursingSecond = 0;
if (wxNursingLogList.size() > 0) {
for (WxNursingLog wxNursingLog : wxNursingLogList) {
if (wxNursingLog.getNursingTime() != null) {
totalNursingSecond += wxNursingLog.getNursingTime().toSecondOfDay();
}
for (WxNursingLog wxNursingLog : wxNursingLogList) {
if (wxNursingLog.getNursingTime() != null) {
totalNursingSecond += wxNursingLog.getNursingTime().toSecondOfDay();
}
}
wxNursingStatisticsRet.setNursingTime(LocalTime.ofSecondOfDay(totalNursingSecond));
return wxNursingStatisticsRet;

Loading…
Cancel
Save