代码冲突补充1
This commit is contained in:
@@ -11,7 +11,6 @@ import com.njcn.dataProcess.annotation.QueryBean;
|
|||||||
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
|
||||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
||||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
||||||
import com.njcn.dataProcess.service.IDataHarmRateV;
|
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
package com.njcn.dataProcess.service;
|
|
||||||
|
|
||||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
|
||||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xy
|
|
||||||
*/
|
|
||||||
public interface IDataHarmRateV {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取原始数据
|
|
||||||
* @param lineParam
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam);
|
|
||||||
}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
package com.njcn.dataProcess.service.impl.influxdb;
|
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.njcn.common.utils.HarmonicTimesUtil;
|
|
||||||
import com.njcn.dataProcess.dao.imapper.DataHarmRateVMapper;
|
|
||||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
|
||||||
import com.njcn.dataProcess.po.influx.DataHarmrateV;
|
|
||||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
|
||||||
import com.njcn.dataProcess.service.IDataHarmRateV;
|
|
||||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
|
||||||
import com.njcn.influx.query.InfluxQueryWrapper;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.beans.BeanUtils;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xy
|
|
||||||
*/
|
|
||||||
@Service("InfluxdbDataHarmRateVImpl")
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV {
|
|
||||||
|
|
||||||
private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
|
|
||||||
|
|
||||||
private final DataHarmRateVMapper dataHarmRateVMapper;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam) {
|
|
||||||
List<DataHarmDto> result = new ArrayList<>();
|
|
||||||
List<DataHarmrateV> list = getMinuteDataI(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(), lineParam.getAbnormalTime());
|
|
||||||
list.forEach(item->{
|
|
||||||
DataHarmDto dto = new DataHarmDto();
|
|
||||||
BeanUtils.copyProperties(item,dto);
|
|
||||||
dto.setMinTime(DATE_TIME_FORMATTER.format(item.getTime()));
|
|
||||||
result.add(dto);
|
|
||||||
});
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 按监测点集合、时间条件获取dataI分钟数据
|
|
||||||
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理
|
|
||||||
* 需要进行剔除异常数据时,这里会有三种情况判断
|
|
||||||
* 1.无异常数据,则直接返回集合;
|
|
||||||
* 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据;
|
|
||||||
* 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常
|
|
||||||
*/
|
|
||||||
public List<DataHarmrateV> getMinuteDataI(List<String> lineList, String startTime, String endTime, Map<String,List<String>> timeMap) {
|
|
||||||
List<DataHarmrateV> result = new ArrayList<>();
|
|
||||||
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmrateV.class);
|
|
||||||
influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.V, "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1));
|
|
||||||
influxQueryWrapper.regular(DataHarmrateV::getLineId, lineList)
|
|
||||||
.select(DataHarmrateV::getLineId)
|
|
||||||
.select(DataHarmrateV::getPhasicType)
|
|
||||||
.select(DataHarmrateV::getValueType)
|
|
||||||
.select(DataHarmrateV::getQualityFlag)
|
|
||||||
.between(DataHarmrateV::getTime, startTime, endTime)
|
|
||||||
.eq(DataHarmrateV::getQualityFlag,"0");
|
|
||||||
List<DataHarmrateV> list = dataHarmRateVMapper.selectByQueryWrapper(influxQueryWrapper);
|
|
||||||
Map<String,List<DataHarmrateV>> lineMap = list.stream().collect(Collectors.groupingBy(DataHarmrateV::getLineId));
|
|
||||||
//有异常数据
|
|
||||||
if (CollectionUtil.isNotEmpty(timeMap)) {
|
|
||||||
lineMap.forEach((k,v)->{
|
|
||||||
List<String> timeList = timeMap.get(k);
|
|
||||||
//有异常数据,当前监测点自身的异常数据
|
|
||||||
if (CollectionUtil.isNotEmpty(timeList)) {
|
|
||||||
List<DataHarmrateV> filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList());
|
|
||||||
//1.过滤掉异常数据后还有正常数据,则用正常数据计算
|
|
||||||
if (CollectionUtil.isNotEmpty(filterList)) {
|
|
||||||
result.addAll(filterList);
|
|
||||||
}
|
|
||||||
//2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的
|
|
||||||
else {
|
|
||||||
v.parallelStream().forEach(item -> item.setQualityFlag("1"));
|
|
||||||
result.addAll(v);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//没有异常数据,则使用原数据
|
|
||||||
else {
|
|
||||||
result.addAll(v);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
//没有异常数据,则使用原数据
|
|
||||||
else {
|
|
||||||
result.addAll(list);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.njcn.dataProcess.service.impl.relation;
|
|
||||||
|
|
||||||
import com.njcn.dataProcess.dao.relation.mapper.DataIRelationMapper;
|
|
||||||
import com.njcn.dataProcess.param.LineCountEvaluateParam;
|
|
||||||
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
|
|
||||||
import com.njcn.dataProcess.service.IDataHarmRateV;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author xy
|
|
||||||
*/
|
|
||||||
@Service("RelationDataHarmRateVImpl")
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class RelationDataHarmRateVImpl implements IDataHarmRateV {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private DataIRelationMapper dataIRelationMapper;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<DataHarmDto> getRawData(LineCountEvaluateParam lineParam) {
|
|
||||||
return Collections.emptyList();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user