diff --git a/common/core/src/main/java/com/thing/common/core/enumeration/AttributeTypeEnum.java b/common/core/src/main/java/com/thing/common/core/enumeration/AttributeTypeEnum.java index 5730468..a23ec18 100644 --- a/common/core/src/main/java/com/thing/common/core/enumeration/AttributeTypeEnum.java +++ b/common/core/src/main/java/com/thing/common/core/enumeration/AttributeTypeEnum.java @@ -230,4 +230,14 @@ public enum AttributeTypeEnum { } return attrCode; } + + + public List getTimeRangeAny(LocalDateTime localDateTime, LocalDateTime localDateTime1) { + + LocalDateTime beginTimeOfMin = LocalDateTime.of(localDateTime.toLocalDate(), LocalTime.MIN); + LocalDateTime endTimeOfMin = LocalDateTime.of(localDateTime1.toLocalDate(), LocalTime.MAX); + return Stream.iterate(beginTimeOfMin, d -> d.plusMinutes(15)) + .limit((ChronoUnit.MINUTES.between(beginTimeOfMin, endTimeOfMin) + 1) / 15) + .collect(Collectors.toList()); + } } diff --git a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageServiceImpl.java b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageServiceImpl.java index b5d3699..594b843 100644 --- a/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageServiceImpl.java +++ b/modules/report-analysis/src/main/java/com/thing/carbon/energyrepory/service/impl/EnergyUsageServiceImpl.java @@ -313,10 +313,10 @@ public class EnergyUsageServiceImpl implements EnergyUsageService { // 超过十天的任意时间的数据特殊处理: // 1. 小于10天数据量极小,全量查询无压力; // 2. 以三四天的数据量分多次查询反而会有更多IO消耗,直观感觉至少要五天才不亏,这里选择10天 - if (request.isAnyTime() && moreThanTenDays(timeRange)) { - return handleAnyTimeReport( - thing, sourceList, codeInfoMap, energyDictMap, varietyMap, timeRange); - } +// if (request.isAnyTime() && moreThanTenDays(timeRange)) { +// return handleAnyTimeReport( +// thing, sourceList, codeInfoMap, energyDictMap, varietyMap, timeRange); +// } // 查询tskv List tsKvMapList = findTsKv(sourceList, timeRange, null); @@ -371,6 +371,8 @@ public class EnergyUsageServiceImpl implements EnergyUsageService { begin = begin.plusDays(1); } return dateTimeList; + } else if(request.isAnyTime()){ + return attrTypeEnum.getTimeRangeAny(DateTimeUtils.parseDateTime(request.getBeginTime()),DateTimeUtils.parseDateTime(request.getEndTime())); } else { return attrTypeEnum.getTimeRange(DateTimeUtils.parseDateTime(request.getBeginTime())); }