调整时间条件处理

master
wujingtao 3 years ago
parent 543c273ec2
commit 1bd6cd8075

@ -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:

@ -10,49 +10,6 @@ import java.util.Date;
* @date 2022/01/13
*/
public class DateTimeUtil {
/**
*
*
* @param beginTime
* @return
*/
public static String getBeginTimeByDay(String beginTime) {
return DateUtil.format(DateUtil.beginOfDay(DateUtil.parse(beginTime)), "yyyy-MM-dd HH:mm:dd");
}
public static String getEndTimeByDay(String endTime) {
return DateUtil.format(DateUtil.endOfDay(DateUtil.parse(endTime)), "yyyy-MM-dd HH:mm:dd");
}
public static String getBeginTimeByMonth(String beginTime) {
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(beginTime)), "yyyy-MM-dd HH:mm:dd");
}
public static String getEndTimeByMonth(String endTime) {
return DateUtil.format(DateUtil.endOfMonth(DateUtil.parse(endTime)), "yyyy-MM-dd HH:mm:dd");
}
public static String getBeginTimeByHour(String beginTime) {
return DateUtil.format(DateUtil.beginOfHour(DateUtil.parse(beginTime)), "yyyy-MM-dd HH:mm:dd");
}
public static String getEndTimeByHour(String endTime) {
return DateUtil.format(DateUtil.endOfHour(DateUtil.parse(endTime)), "yyyy-MM-dd HH:mm:dd");
}
public static String getTimeType(Date dateTime, Integer timeType) {
if (timeType == 2) {
return DateUtil.format(dateTime, "yyyy-MM-dd");
} else if (timeType == 3) {
return DateUtil.format(dateTime, "yyyy-MM");
} else {
return DateUtil.format(dateTime, "yyyy-MM-dd HH");
}
}
/**
*
*
@ -87,28 +44,4 @@ public class DateTimeUtil {
}
return false;
}
/**
*
*
* @return
*/
public static Boolean betweenByHour(Date begin, Date end) {
if (betweenByDay(begin, end)) {
int hour1 = DateUtil.hour(begin, true);
int hour2 = DateUtil.hour(end, true);
if (hour1 == hour2) {
return true;
}
}
return false;
}
public static void main(String[] args) {
Date begin = DateUtil.beginOfDay(DateUtil.parse("2022-01-06 12:04:59"));
Date end = DateUtil.endOfDay(DateUtil.parse("2022-1-5"));
long between = DateUtil.between(begin, end, DateUnit.DAY);
System.out.println(between);
}
}

Loading…
Cancel
Save