|
|
|
@ -124,7 +124,7 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
Date dateTime = DateUtil.offsetDay(begin, i);
|
|
|
|
|
//按时间分组
|
|
|
|
|
List<TaskReport> collect = map.get(key).stream().filter(c -> DateTimeUtil.betweenByDay(dateTime, c.getCreateTime())).collect(Collectors.toList());
|
|
|
|
|
dateMap.put("createTime", DateTimeUtil.getTimeType(dateTime, condition.getType()));
|
|
|
|
|
dateMap.put("createTime", DateUtil.format(dateTime, "yyyy-MM-dd"));
|
|
|
|
|
double usrRate = 0.0;
|
|
|
|
|
if (collect.size() > 0) {
|
|
|
|
|
//只会有一条数据
|
|
|
|
@ -154,7 +154,7 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
taskReports.parallelStream().collect(Collectors.groupingBy(TaskReport::getTaskId, Collectors.toList())).forEach(
|
|
|
|
|
(id, transfer) -> {
|
|
|
|
|
transfer.stream().reduce((a, b) -> new TaskReport(a.getId(), null, a.getTaskId(), a.getTaskName(), a.getTotalNum(),
|
|
|
|
|
a.getUsrNum() + b.getUsrNum(), a.getTurnOnNum() + b.getTurnOnNum(), a.getTurnOnRate() + b.getTurnOnRate(), a.getBreatheTotalDuration() + b.getBreatheTotalDuration(), a.getBreatheAverageDuration() + b.getBreatheAverageDuration(),
|
|
|
|
|
a.getUsrNum() + b.getUsrNum(), a.getTurnOnNum() + b.getTurnOnNum(), NumberUtil.div(a.getTurnOnNum() + b.getTurnOnNum(), a.getUsrNum() + b.getUsrNum(), 2), a.getBreatheTotalDuration() + b.getBreatheTotalDuration(), a.getBreatheAverageDuration() + b.getBreatheAverageDuration(),
|
|
|
|
|
a.getLabel(), a.getCompanyId()
|
|
|
|
|
)).ifPresent(list::add);
|
|
|
|
|
}
|
|
|
|
@ -249,8 +249,8 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
String beginTime = s.getBeginTime();
|
|
|
|
|
String endTime = s.getEndTime();
|
|
|
|
|
if (StrUtil.isBlank(beginTime) || StrUtil.isBlank(endTime)) {
|
|
|
|
|
beginTime = DateTimeUtil.getBeginTimeByDay(DateUtil.today());
|
|
|
|
|
endTime = DateTimeUtil.getEndTimeByDay(DateUtil.today());
|
|
|
|
|
beginTime = DateUtil.today();
|
|
|
|
|
endTime = DateUtil.today();
|
|
|
|
|
}
|
|
|
|
|
List<Long> ids = s.getIds();
|
|
|
|
|
if (ids == null || ids.size() == 0) {
|
|
|
|
@ -267,7 +267,7 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
UserReport userReport = map.get(info.getOrganizeId());
|
|
|
|
|
userReport.setUsrNum(userReport.getUsrNum() + info.getUsrNum());
|
|
|
|
|
userReport.setTurnOnNum(userReport.getTurnOnNum() + info.getTurnOnNum());
|
|
|
|
|
userReport.setTurnOnRate(userReport.getTurnOnRate() + info.getTurnOnRate());
|
|
|
|
|
userReport.setTurnOnRate(NumberUtil.div(userReport.getTurnOnNum() + info.getTurnOnNum(), userReport.getUsrNum() + info.getUsrNum(), 2));
|
|
|
|
|
userReport.setBreatheTotalDuration(userReport.getBreatheTotalDuration() + info.getBreatheTotalDuration());
|
|
|
|
|
userReport.setBreatheAverageDuration(userReport.getBreatheAverageDuration() + info.getBreatheAverageDuration());
|
|
|
|
|
map.put(info.getOrganizeId(), userReport);
|
|
|
|
@ -285,8 +285,8 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
String beginTime = s.getBeginTime();
|
|
|
|
|
String endTime = s.getEndTime();
|
|
|
|
|
if (StrUtil.isBlank(beginTime) || StrUtil.isBlank(endTime)) {
|
|
|
|
|
beginTime = DateTimeUtil.getBeginTimeByDay(DateUtil.today());
|
|
|
|
|
endTime = DateTimeUtil.getEndTimeByDay(DateUtil.today());
|
|
|
|
|
beginTime = DateUtil.today();
|
|
|
|
|
endTime = DateUtil.today();
|
|
|
|
|
}
|
|
|
|
|
List<Long> ids = s.getIds();
|
|
|
|
|
if (s.getIds() == null || s.getIds().size() == 0) {
|
|
|
|
@ -303,7 +303,7 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
UserReport userReport = map.get(info.getMemberId());
|
|
|
|
|
userReport.setUsrNum(userReport.getUsrNum() + info.getUsrNum());
|
|
|
|
|
userReport.setTurnOnNum(userReport.getTurnOnNum() + info.getTurnOnNum());
|
|
|
|
|
userReport.setTurnOnRate(userReport.getTurnOnRate() + info.getTurnOnRate());
|
|
|
|
|
userReport.setTurnOnRate(NumberUtil.div(userReport.getTurnOnNum() + info.getTurnOnNum(), userReport.getUsrNum() + info.getUsrNum(), 2));
|
|
|
|
|
userReport.setBreatheTotalDuration(userReport.getBreatheTotalDuration() + info.getBreatheTotalDuration());
|
|
|
|
|
userReport.setBreatheAverageDuration(userReport.getBreatheAverageDuration() + info.getBreatheAverageDuration());
|
|
|
|
|
map.put(info.getMemberId(), userReport);
|
|
|
|
@ -327,11 +327,11 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
String begin;
|
|
|
|
|
String end;
|
|
|
|
|
if (StrUtil.isBlank(beginTime) || StrUtil.isBlank(endTime)) {
|
|
|
|
|
begin = DateUtil.beginOfDay(DateUtil.yesterday()).toString();
|
|
|
|
|
end = DateUtil.endOfDay(DateUtil.yesterday()).toString();
|
|
|
|
|
begin = DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd");
|
|
|
|
|
end = DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd");
|
|
|
|
|
} else {
|
|
|
|
|
begin = DateTimeUtil.getBeginTimeByDay(beginTime);
|
|
|
|
|
end = DateTimeUtil.getEndTimeByDay(endTime);
|
|
|
|
|
begin = DateUtil.format(DateUtil.parse(beginTime), "yyyy-MM-dd");
|
|
|
|
|
end = DateUtil.format(DateUtil.parse(endTime), "yyyy-MM-dd");
|
|
|
|
|
}
|
|
|
|
|
if (memberId == null) {
|
|
|
|
|
log.error("成员id为空");
|
|
|
|
@ -345,7 +345,7 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
UserReport userReport = map.get(info.getMemberId());
|
|
|
|
|
userReport.setUsrNum(userReport.getUsrNum() + info.getUsrNum());
|
|
|
|
|
userReport.setTurnOnNum(userReport.getTurnOnNum() + info.getTurnOnNum());
|
|
|
|
|
userReport.setTurnOnRate(userReport.getTurnOnRate() + info.getTurnOnRate());
|
|
|
|
|
userReport.setTurnOnRate(NumberUtil.div(userReport.getTurnOnNum() + info.getTurnOnNum(), userReport.getUsrNum() + info.getUsrNum(), 2));
|
|
|
|
|
userReport.setBreatheTotalDuration(userReport.getBreatheTotalDuration() + info.getBreatheTotalDuration());
|
|
|
|
|
userReport.setBreatheAverageDuration(userReport.getBreatheAverageDuration() + info.getBreatheAverageDuration());
|
|
|
|
|
map.put(info.getMemberId(), userReport);
|
|
|
|
@ -368,11 +368,11 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
String begin;
|
|
|
|
|
String end;
|
|
|
|
|
if (StrUtil.isBlank(beginTime) || StrUtil.isBlank(endTime)) {
|
|
|
|
|
begin = DateTimeUtil.getBeginTimeByDay(DateUtil.today());
|
|
|
|
|
end = DateTimeUtil.getEndTimeByDay(DateUtil.today());
|
|
|
|
|
begin = DateUtil.today();
|
|
|
|
|
end = DateUtil.today();
|
|
|
|
|
} else {
|
|
|
|
|
begin = DateTimeUtil.getBeginTimeByDay(beginTime);
|
|
|
|
|
end = DateTimeUtil.getEndTimeByDay(endTime);
|
|
|
|
|
begin = DateUtil.format(DateUtil.parse(beginTime), "yyyy-MM-dd");
|
|
|
|
|
end = DateUtil.format(DateUtil.parse(endTime), "yyyy-MM-dd");
|
|
|
|
|
}
|
|
|
|
|
List<UserReport> userReports = userReportRepository.queryAllByTimeAndId(begin, end, memberId);
|
|
|
|
|
List<MemberInfoVO> listResult = new ArrayList<>();
|
|
|
|
@ -401,12 +401,13 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
String endTime = s.getEndTime();
|
|
|
|
|
Integer type;
|
|
|
|
|
if (StrUtil.isBlank(beginTime) && StrUtil.isBlank(endTime)) {
|
|
|
|
|
endTime = DateUtil.today();
|
|
|
|
|
beginTime = DateUtil.format(DateUtil.offsetDay(DateUtil.date(), -6), "yyyy-MM-dd");
|
|
|
|
|
type = 2;
|
|
|
|
|
s.setBeginTime(beginTime);
|
|
|
|
|
s.setEndTime(endTime);
|
|
|
|
|
s.setBeginTime(DateUtil.today());
|
|
|
|
|
s.setEndTime(DateUtil.today());
|
|
|
|
|
s.setType(type);
|
|
|
|
|
} else {
|
|
|
|
|
s.setBeginTime(DateUtil.format(DateUtil.parse(beginTime), "yyyy-MM-dd"));
|
|
|
|
|
s.setEndTime(DateUtil.format(DateUtil.parse(endTime), "yyyy-MM-dd"));
|
|
|
|
|
}
|
|
|
|
|
return s;
|
|
|
|
|
}
|
|
|
|
@ -449,16 +450,12 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
*/
|
|
|
|
|
private List<TaskReport> getTaskReport(String beginTime, String endTime, Integer type, List<Long> ids) {
|
|
|
|
|
List<TaskReport> taskReports = new ArrayList<>();
|
|
|
|
|
String begin;
|
|
|
|
|
String end;
|
|
|
|
|
if (CollUtil.isEmpty(ids)) {
|
|
|
|
|
return taskReports;
|
|
|
|
|
}
|
|
|
|
|
switch (type) {
|
|
|
|
|
case 2:
|
|
|
|
|
begin = DateTimeUtil.getBeginTimeByDay(beginTime);
|
|
|
|
|
end = DateTimeUtil.getEndTimeByDay(endTime);
|
|
|
|
|
taskReports = taskReportRepository.queryAllByTimeAndTaskIds(begin, end, ids);
|
|
|
|
|
taskReports = taskReportRepository.queryAllByTimeAndTaskIds(beginTime, endTime, ids);
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
int monthEnd = DateUtil.parse(endTime).month();
|
|
|
|
@ -467,8 +464,8 @@ public class QueryReportServiceImpl implements QueryReportService {
|
|
|
|
|
log.error("---------接受参数类型为月。时间范围超出2个月 ");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
begin = DateTimeUtil.getBeginTimeByMonth(beginTime);
|
|
|
|
|
end = DateTimeUtil.getEndTimeByMonth(endTime);
|
|
|
|
|
String begin = DateUtil.format(DateUtil.parse(beginTime), "yyyy-MM");
|
|
|
|
|
String end = DateUtil.format(DateUtil.parse(endTime), "yyyy-MM");
|
|
|
|
|
taskReports = taskReportRepository.queryAllByTimeAndTaskIds(begin, end, ids);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|