|
|
@@ -6,10 +6,10 @@ import com.global.base.log.LogLevelFlag;
|
|
|
import com.global.base.log.LogPrintMgr;
|
|
|
import com.shkpr.service.aimodelpower.commproperties.CollectProperties;
|
|
|
import com.shkpr.service.aimodelpower.constants.LogFlagBusiType;
|
|
|
-import com.shkpr.service.aimodelpower.dbdao.services.intef.ShizilaishuiHistoryService;
|
|
|
+import com.shkpr.service.aimodelpower.dbdao.services.intef.CollectHistoryService;
|
|
|
import com.shkpr.service.aimodelpower.dbdao.services.intef.WaterVolumeCollectionConfigService;
|
|
|
import com.shkpr.service.aimodelpower.dbdao.services.intef.WaterVolumeCollectionRecordService;
|
|
|
-import com.shkpr.service.aimodelpower.dto.ShizilaishuiHistory;
|
|
|
+import com.shkpr.service.aimodelpower.dto.CollectHistory;
|
|
|
import com.shkpr.service.aimodelpower.dto.WaterVolumeCollectionConfig;
|
|
|
import com.shkpr.service.aimodelpower.dto.WaterVolumeCollectionRecord;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
@@ -66,19 +66,19 @@ public class WaterVolumeCollector {
|
|
|
final
|
|
|
WaterVolumeCollectionConfigService waterVolumeCollectionConfigService;
|
|
|
final
|
|
|
- ShizilaishuiHistoryService shizilaishuiHistoryService;
|
|
|
+ CollectHistoryService collectHistoryService;
|
|
|
final
|
|
|
WaterVolumeCollectionRecordService waterVolumeCollectionRecordService;
|
|
|
|
|
|
|
|
|
public WaterVolumeCollector(CollectProperties collectProperties, @Qualifier("taskExecutor") ThreadPoolTaskExecutor taskScheduler
|
|
|
, ObjectMapper objectMapper, WaterVolumeCollectionConfigService waterVolumeCollectionConfigService
|
|
|
- , ShizilaishuiHistoryService shizilaishuiHistoryService, WaterVolumeCollectionRecordService waterVolumeCollectionRecordService) {
|
|
|
+ , CollectHistoryService collectHistoryService, WaterVolumeCollectionRecordService waterVolumeCollectionRecordService) {
|
|
|
this.collectProperties = collectProperties;
|
|
|
this.taskScheduler = taskScheduler;
|
|
|
this.objectMapper = objectMapper;
|
|
|
this.waterVolumeCollectionConfigService = waterVolumeCollectionConfigService;
|
|
|
- this.shizilaishuiHistoryService = shizilaishuiHistoryService;
|
|
|
+ this.collectHistoryService = collectHistoryService;
|
|
|
this.waterVolumeCollectionRecordService = waterVolumeCollectionRecordService;
|
|
|
}
|
|
|
|
|
|
@@ -108,7 +108,7 @@ public class WaterVolumeCollector {
|
|
|
List<String> outTags = outTagsMap.get(collectTag.getName());
|
|
|
|
|
|
//查询总数,排除总数小于2的数据
|
|
|
- Long count = shizilaishuiHistoryService.findCount(startTime, endTime, selfTags);
|
|
|
+ Long count = collectHistoryService.findCount(startTime, endTime, selfTags);
|
|
|
if (CollectionUtils.isEmpty(selfTags) || count < 2) return;
|
|
|
|
|
|
LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
|
|
|
@@ -116,22 +116,22 @@ public class WaterVolumeCollector {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
|
|
|
//读取数据
|
|
|
- List<ShizilaishuiHistory> shizilaishuiHistories = shizilaishuiHistoryService.findDifference(
|
|
|
+ List<CollectHistory> collectHistories = collectHistoryService.findDifference(
|
|
|
startTime, endTime, 1, HOUR_UNIT, selfTags, inTags, outTags);
|
|
|
|
|
|
//最新值
|
|
|
Double last = null;
|
|
|
//遍历原始数据,构建采集数据
|
|
|
List<WaterVolumeCollectionRecord> dates = new ArrayList<>();
|
|
|
- for (ShizilaishuiHistory shizilaishuiHistory : shizilaishuiHistories) {
|
|
|
+ for (CollectHistory collectHistory : collectHistories) {
|
|
|
//构建数据,时间步长到下一个整点
|
|
|
WaterVolumeCollectionRecord data = new WaterVolumeCollectionRecord(
|
|
|
- collectTag.getName(), LocalDateTime.parse(shizilaishuiHistory.getTime(), dateTimeFormatter)
|
|
|
+ collectTag.getName(), LocalDateTime.parse(collectHistory.getTime(), dateTimeFormatter)
|
|
|
.truncatedTo(ChronoUnit.HOURS).plusHours(1)
|
|
|
.format(dateTimeFormatter), VALUE_TAG, "");
|
|
|
|
|
|
//取值
|
|
|
- Double value = shizilaishuiHistory.getVal();
|
|
|
+ Double value = collectHistory.getVal();
|
|
|
//数据异常值判断,使用上一条数据
|
|
|
if (value == null || (value > collectProperties.getMaxWater() || value < collectProperties.getMinWater())) {
|
|
|
//上一次空值处理
|
|
|
@@ -142,7 +142,7 @@ public class WaterVolumeCollector {
|
|
|
value = last;
|
|
|
}
|
|
|
//正常数据缓存上一条
|
|
|
- else last = shizilaishuiHistory.getVal();
|
|
|
+ else last = collectHistory.getVal();
|
|
|
|
|
|
//设置数据值
|
|
|
data.setValue(BigDecimal.valueOf(value).toPlainString());
|
|
|
@@ -195,7 +195,7 @@ public class WaterVolumeCollector {
|
|
|
List<String> outTags = outTagsMap.get(collectTag.getName());
|
|
|
|
|
|
//查询总数,排除总数小于2的数据
|
|
|
- Long count = shizilaishuiHistoryService.findCount(startTime, endTime, selfTags);
|
|
|
+ Long count = collectHistoryService.findCount(startTime, endTime, selfTags);
|
|
|
if (CollectionUtils.isEmpty(selfTags) || count < 2) return;
|
|
|
|
|
|
LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
|
|
|
@@ -203,16 +203,16 @@ public class WaterVolumeCollector {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
|
|
|
//读取数据
|
|
|
- List<ShizilaishuiHistory> shizilaishuiHistories = shizilaishuiHistoryService.findDifference(
|
|
|
+ List<CollectHistory> collectHistories = collectHistoryService.findDifference(
|
|
|
startTime, endTime, 15, MINUTE_UNIT, selfTags, inTags, outTags);
|
|
|
|
|
|
//最新值
|
|
|
Double last = null;
|
|
|
//遍历原始数据,构建采集数据
|
|
|
List<WaterVolumeCollectionRecord> dates = new ArrayList<>();
|
|
|
- for (ShizilaishuiHistory shizilaishuiHistory : shizilaishuiHistories) {
|
|
|
+ for (CollectHistory collectHistory : collectHistories) {
|
|
|
//解析时间
|
|
|
- LocalDateTime time = LocalDateTime.parse(shizilaishuiHistory.getTime(), dateTimeFormatter);
|
|
|
+ LocalDateTime time = LocalDateTime.parse(collectHistory.getTime(), dateTimeFormatter);
|
|
|
//分钟
|
|
|
final int minute = time.getMinute();
|
|
|
//构建数据,时间步长到下一个15分钟
|
|
|
@@ -222,7 +222,7 @@ public class WaterVolumeCollector {
|
|
|
VALUE_TAG, "");
|
|
|
|
|
|
//取值
|
|
|
- Double value = shizilaishuiHistory.getVal();
|
|
|
+ Double value = collectHistory.getVal();
|
|
|
//数据异常值判断,使用上一条数据
|
|
|
if (value == null || (value > collectProperties.getMaxWater() || value < collectProperties.getMinWater())) {
|
|
|
//上一次空值处理
|
|
|
@@ -233,7 +233,7 @@ public class WaterVolumeCollector {
|
|
|
value = last;
|
|
|
}
|
|
|
//正常数据缓存上一条
|
|
|
- else last = shizilaishuiHistory.getVal();
|
|
|
+ else last = collectHistory.getVal();
|
|
|
|
|
|
//设置数据和值
|
|
|
data.setValue(BigDecimal.valueOf(value).toPlainString());
|
|
|
@@ -290,7 +290,7 @@ public class WaterVolumeCollector {
|
|
|
}
|
|
|
|
|
|
//查询总数,排除总数小于2的数据
|
|
|
- Long count = shizilaishuiHistoryService.findCount(startTime, endTime, tags);
|
|
|
+ Long count = collectHistoryService.findCount(startTime, endTime, tags);
|
|
|
if (CollectionUtils.isEmpty(tags) || count < 2) return;
|
|
|
|
|
|
LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
|
|
|
@@ -298,21 +298,21 @@ public class WaterVolumeCollector {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
|
|
|
//读取数据
|
|
|
- List<ShizilaishuiHistory> shizilaishuiHistories = shizilaishuiHistoryService.findDifference(
|
|
|
+ List<CollectHistory> collectHistories = collectHistoryService.findDifference(
|
|
|
startTime, endTime, 1, HOUR_UNIT, tags, null, null);
|
|
|
|
|
|
//最新值
|
|
|
Double last = null;
|
|
|
//遍历原始数据,构建采集数据
|
|
|
List<WaterVolumeCollectionRecord> dates = new ArrayList<>();
|
|
|
- for (ShizilaishuiHistory shizilaishuiHistory : shizilaishuiHistories) {
|
|
|
+ for (CollectHistory collectHistory : collectHistories) {
|
|
|
//构建数据,时间取截止时间
|
|
|
WaterVolumeCollectionRecord data = new WaterVolumeCollectionRecord(
|
|
|
- config.getKey(), LocalDateTime.parse(shizilaishuiHistory.getTime(), dateTimeFormatter)
|
|
|
+ config.getKey(), LocalDateTime.parse(collectHistory.getTime(), dateTimeFormatter)
|
|
|
.plusHours(1).format(dateTimeFormatter), VALUE_TAG, configStr);
|
|
|
|
|
|
//取值
|
|
|
- Double value = shizilaishuiHistory.getVal();
|
|
|
+ Double value = collectHistory.getVal();
|
|
|
//数据异常值判断,使用上一条数据
|
|
|
if (value == null || (value > collectProperties.getMaxWater() || value < collectProperties.getMinWater())) {
|
|
|
//上一次空值处理
|
|
|
@@ -323,7 +323,7 @@ public class WaterVolumeCollector {
|
|
|
value = last;
|
|
|
}
|
|
|
//正常数据缓存上一条
|
|
|
- else last = shizilaishuiHistory.getVal();
|
|
|
+ else last = collectHistory.getVal();
|
|
|
|
|
|
//设置数据值
|
|
|
data.setValue(BigDecimal.valueOf(value).toPlainString());
|
|
|
@@ -384,7 +384,7 @@ public class WaterVolumeCollector {
|
|
|
}
|
|
|
|
|
|
//查询总数,排除总数小于2的数据
|
|
|
- Long count = shizilaishuiHistoryService.findCount(startTime, endTime, tags);
|
|
|
+ Long count = collectHistoryService.findCount(startTime, endTime, tags);
|
|
|
if (CollectionUtils.isEmpty(tags) || count < 2) return;
|
|
|
|
|
|
LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
|
|
|
@@ -392,16 +392,16 @@ public class WaterVolumeCollector {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
|
|
|
//读取数据
|
|
|
- List<ShizilaishuiHistory> shizilaishuiHistories = shizilaishuiHistoryService.findDifference(
|
|
|
+ List<CollectHistory> collectHistories = collectHistoryService.findDifference(
|
|
|
startTime, endTime, 15, MINUTE_UNIT, tags, null, null);
|
|
|
|
|
|
//最新值
|
|
|
Double last = null;
|
|
|
//遍历原始数据,构建采集数据
|
|
|
List<WaterVolumeCollectionRecord> dates = new ArrayList<>();
|
|
|
- for (ShizilaishuiHistory shizilaishuiHistory : shizilaishuiHistories) {
|
|
|
+ for (CollectHistory collectHistory : collectHistories) {
|
|
|
//解析时间
|
|
|
- LocalDateTime time = LocalDateTime.parse(shizilaishuiHistory.getTime(), dateTimeFormatter);
|
|
|
+ LocalDateTime time = LocalDateTime.parse(collectHistory.getTime(), dateTimeFormatter);
|
|
|
//分钟
|
|
|
final int minute = time.getMinute();
|
|
|
//构建数据,时间步长到下一个15分钟
|
|
|
@@ -411,7 +411,7 @@ public class WaterVolumeCollector {
|
|
|
VALUE_TAG, configStr);
|
|
|
|
|
|
//取值
|
|
|
- Double value = shizilaishuiHistory.getVal();
|
|
|
+ Double value = collectHistory.getVal();
|
|
|
//数据异常值判断,使用上一条数据
|
|
|
if (value == null || (value > collectProperties.getMaxWater() || value < collectProperties.getMinWater())) {
|
|
|
//上一次空值处理
|
|
|
@@ -422,7 +422,7 @@ public class WaterVolumeCollector {
|
|
|
value = last;
|
|
|
}
|
|
|
//正常数据缓存上一条
|
|
|
- else last = shizilaishuiHistory.getVal();
|
|
|
+ else last = collectHistory.getVal();
|
|
|
|
|
|
//设置数据值
|
|
|
data.setValue(BigDecimal.valueOf(value).toPlainString());
|
|
|
@@ -473,7 +473,7 @@ public class WaterVolumeCollector {
|
|
|
.map(WaterVolumeCollectionConfig::getCollcationTag).collect(Collectors.toList());
|
|
|
|
|
|
//查询总数,排除总数小于等于0的数据
|
|
|
- Long count = shizilaishuiHistoryService.findCount(startTime, endTime, tags);
|
|
|
+ Long count = collectHistoryService.findCount(startTime, endTime, tags);
|
|
|
if (CollectionUtils.isEmpty(tags) || count <= 0) return;
|
|
|
|
|
|
LogPrintMgr.getInstance().printLogMsg(LogLevelFlag.LOG_INFO, mBizType, mStrClassName
|
|
|
@@ -481,20 +481,20 @@ public class WaterVolumeCollector {
|
|
|
long begin = System.currentTimeMillis();
|
|
|
|
|
|
//读取数据
|
|
|
- List<ShizilaishuiHistory> shizilaishuiHistories = shizilaishuiHistoryService.findAl(startTime, endTime, tags);
|
|
|
+ List<CollectHistory> collectHistories = collectHistoryService.findAl(startTime, endTime, tags);
|
|
|
|
|
|
//遍历原始数据,构建采集数据
|
|
|
- List<WaterVolumeCollectionRecord> dates = shizilaishuiHistories.stream().map(shizilaishuiHistory -> {
|
|
|
+ List<WaterVolumeCollectionRecord> dates = collectHistories.stream().map(collectHistory -> {
|
|
|
WaterVolumeCollectionRecord data = new WaterVolumeCollectionRecord();
|
|
|
- data.setTime(String.valueOf(LocalDateTime.parse(shizilaishuiHistory.getTime(), dateTimeFormatter)
|
|
|
+ data.setTime(String.valueOf(LocalDateTime.parse(collectHistory.getTime(), dateTimeFormatter)
|
|
|
.atZone(ZoneId.systemDefault())
|
|
|
.toInstant().toEpochMilli()));
|
|
|
- data.setUpdateTime(String.valueOf(LocalDateTime.parse(shizilaishuiHistory.getUpdateTime(), dateTimeFormatter)
|
|
|
+ data.setUpdateTime(String.valueOf(LocalDateTime.parse(collectHistory.getUpdateTime(), dateTimeFormatter)
|
|
|
.atZone(ZoneId.systemDefault())
|
|
|
.toInstant().toEpochMilli()));
|
|
|
- data.setOrgName(shizilaishuiHistory.getName());
|
|
|
- data.setCollectionTag(shizilaishuiHistory.getTagCode());
|
|
|
- data.setValue(BigDecimal.valueOf(shizilaishuiHistory.getVal()).toPlainString());
|
|
|
+ data.setOrgName(collectHistory.getName());
|
|
|
+ data.setCollectionTag(collectHistory.getTagCode());
|
|
|
+ data.setValue(BigDecimal.valueOf(collectHistory.getVal()).toPlainString());
|
|
|
return data;
|
|
|
}).collect(Collectors.toList());
|
|
|
|