From 2fcf1c68abdc469cb3fd2e959ae31152cdf91679 Mon Sep 17 00:00:00 2001 From: aikai Date: Sun, 28 Apr 2024 11:19:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=8E=B7=E5=8F=96=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/worklog/LogStatisticsServiceImpl.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogStatisticsServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogStatisticsServiceImpl.java index 89750f8b..53f65310 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogStatisticsServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/worklog/LogStatisticsServiceImpl.java @@ -172,14 +172,17 @@ public class LogStatisticsServiceImpl implements LogStatisticsService { LogRuleDO logRuleDO = logRuleService.getLogRuleByFormId(dto.getFormId()); // 判断开始时间是否当天 / 是否本周 boolean flag = false; - Date begin = DateUtil.parse(dto.getBeginTime(), "yyyy-MM-dd").toJdkDate(); List logStatisticsDOS = new ArrayList<>(); - if (logRuleDO.getType() == 1) { - flag = DateUtil.isSameDay(begin, new Date()); - } else if (logRuleDO.getType() == 2) { - flag = DateUtil.isSameWeek(begin, new Date(), true); + List dateList = new ArrayList<>(); + if (dto.getBeginTime() != null && dto.getEndTime() != null) { + Date begin = DateUtil.parse(dto.getBeginTime(), "yyyy-MM-dd").toJdkDate(); + if (logRuleDO.getType() == 1) { + flag = DateUtil.isSameDay(begin, new Date()); + } else if (logRuleDO.getType() == 2) { + flag = DateUtil.isSameWeek(begin, new Date(), true); + } + dateList = DateUtils.betweenDayStrList(dto.getBeginTime(), dto.getEndTime()); } - List dateList = DateUtils.betweenDayStrList(dto.getBeginTime(), dto.getEndTime()); // 这里将区间转换为具体的日期 因为mysql BETWEEN 会导致索引失效 if (flag) { logStatisticsDOS = logStatisticsMapper.getCurrentStatistics(dto.getFormId(), dateList);