1.污染值算法迁移

2.增加暂态信息补招
This commit is contained in:
wr
2025-07-25 17:27:18 +08:00
parent 6d5d2a339e
commit 7a0b0cc943
28 changed files with 499 additions and 53 deletions

View File

@@ -40,4 +40,7 @@ public interface DataHarmRateVFeignClient {
@PostMapping("/addInfluxDbList")
HttpResult<String> addInfluxDbList(@RequestBody List<DataHarmDto> list);
//按时间分组获取原始数据
@PostMapping("/getGroupByTimeHarmRateV")
HttpResult<List<DataHarmDto>> getGroupByTimeHarmRateV(@RequestBody LineCountEvaluateParam lineParam);
}

View File

@@ -1,18 +1,12 @@
package com.njcn.dataProcess.api;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.dataProcess.api.fallback.DataIFeignClientFallbackFactory;
import com.njcn.dataProcess.dto.DataIDTO;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
import com.njcn.dataProcess.pojo.dto.DataIDto;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -44,4 +38,7 @@ public interface DataIFeignClient {
@PostMapping("/addInfluxDbList")
HttpResult<String> addInfluxDbList(@RequestBody List<DataIDto> dataIList);
@PostMapping("/getGroupByTimeDataI")
HttpResult<List<DataIDto>> getGroupByTimeDataI(@RequestBody LineCountEvaluateParam lineParam);
}

View File

@@ -63,4 +63,9 @@ public interface DataVFeignClient {
//获取原始数据
@PostMapping("/getDataV")
HttpResult<List<DataVDto>> getDataV(@RequestBody LineCountEvaluateParam lineParam);
//按时间分组获取原始数据
@PostMapping("/getGroupByTimeDataV")
HttpResult<List<DataVDto>> getGroupByTimeDataV(@RequestBody LineCountEvaluateParam lineParam);
}

View File

@@ -80,6 +80,12 @@ public class DataHarmRateVFeignClientFallbackFactory implements FallbackFactory<
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<DataHarmDto>> getGroupByTimeHarmRateV(LineCountEvaluateParam lineParam) {
log.error("{}异常,降级处理,异常为:{}","dataHarmRateV按时间分组获取原始数据",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -76,6 +76,12 @@ public class DataIFeignClientFallbackFactory implements FallbackFactory<DataIFei
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<DataIDto>> getGroupByTimeDataI(LineCountEvaluateParam lineParam) {
log.error("{}异常,降级处理,异常为:{}","dataI按时间分组获取原始数据",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -110,6 +110,12 @@ public class DataVFeignClientFallbackFactory implements FallbackFactory<DataVFei
log.error("{}异常,降级处理,异常为:{}","查询数据DataV",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<DataVDto>> getGroupByTimeDataV(LineCountEvaluateParam lineParam) {
log.error("{}异常,降级处理,异常为:{}","DataV按时间分组获取原始数据",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -10,10 +10,7 @@ import com.njcn.dataProcess.annotation.InsertBean;
import com.njcn.dataProcess.annotation.QueryBean;
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto;
import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto;
import com.njcn.dataProcess.pojo.dto.*;
import com.njcn.dataProcess.service.IDataHarmRateV;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
@@ -111,4 +108,12 @@ public class DataHarmRateVController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGroupByTimeHarmRateV")
@ApiOperation("按时间分组获取原始数据")
public HttpResult<List<DataHarmDto>> getGroupByTimeHarmRateV(@RequestBody LineCountEvaluateParam lineParam) {
String methodDescribe = getMethodDescribe("getGroupByTimeHarmRateV");
List<DataHarmDto> dataV = dataHarmRateVQuery.getGroupByTimeHarmRateV(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataV, methodDescribe);
}
}

View File

@@ -11,6 +11,7 @@ import com.njcn.dataProcess.annotation.QueryBean;
import com.njcn.dataProcess.dto.DataIDTO;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
import com.njcn.dataProcess.pojo.dto.DataIDto;
import com.njcn.dataProcess.service.IDataI;
import com.njcn.web.controller.BaseController;
@@ -101,4 +102,12 @@ public class DataIController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataIDtoList, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGroupByTimeDataI")
@ApiOperation("按时间分组获取原始数据")
public HttpResult<List<DataIDto>> getGroupByTimeDataI(@RequestBody LineCountEvaluateParam lineParam) {
String methodDescribe = getMethodDescribe("getGroupByTimeDataI");
List<DataIDto> dataV = dataIQuery.getGroupByTimeDataI(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataV, methodDescribe);
}
}

View File

@@ -63,7 +63,6 @@ public class DataVController extends BaseController {
@ApiOperation("批量插入")
public HttpResult<String> batchInsertion(@RequestBody List<DataVDTO> dataVDTOList) {
String methodDescribe = getMethodDescribe("batchInsertion");
dataVInsert.batchInsertion(dataVDTOList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@@ -73,7 +72,6 @@ public class DataVController extends BaseController {
@ApiOperation("批量插入cvtDto")
public HttpResult<String> batchInsertionCvtDTO(@RequestBody List<DataVCvtDto> cvtDTOList) {
String methodDescribe = getMethodDescribe("batchInsertion");
dataVInsert.batchInsertionCvtDTO(cvtDTOList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@@ -83,7 +81,6 @@ public class DataVController extends BaseController {
@ApiOperation("获取监测点数据时间点(补招使用)")
public HttpResult<List<LocalDateTime>> monitoringTime(@RequestParam("lineId") String lineId,@RequestParam("localData") String localData) {
String methodDescribe = getMethodDescribe("monitoringTime");
List<LocalDateTime> localDateTimeList = dataVQuery.monitoringTime(lineId,localData);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, localDateTimeList, methodDescribe);
}
@@ -160,6 +157,18 @@ public class DataVController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataV, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGroupByTimeDataV")
@ApiOperation("按时间分组获取原始数据")
public HttpResult<List<DataVDto>> getGroupByTimeDataV(@RequestBody LineCountEvaluateParam lineParam) {
String methodDescribe = getMethodDescribe("getGroupByTimeDataV");
List<DataVDto> dataV = dataVQuery.getGroupByTimeDataV(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataV, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@GetMapping("/memoryTest")
@ApiOperation("n内存测试")

View File

@@ -42,4 +42,5 @@ IDataHarmRateV extends IMppService<RStatDataHarmRateVD> {
void addInfluxDbList(List<DataHarmDto> dataVList);
List<DataHarmDto> getGroupByTimeHarmRateV(LineCountEvaluateParam lineParam);
}

View File

@@ -49,4 +49,10 @@ public interface IDataI extends IMppService<RStatDataID> {
*/
List<DataIDto> getDataI(LineCountEvaluateParam lineParam);
/**
* 分组获取电流信息
* @param lineParam
* @return
*/
List<DataIDto> getGroupByTimeDataI(LineCountEvaluateParam lineParam);
}

View File

@@ -79,4 +79,6 @@ public interface IDataV extends IMppService<RStatDataVD> {
* @Date: 2025/3/20 13:42
*/
List<DataVDto> getDataV(LineCountEvaluateParam lineParam);
List<DataVDto> getGroupByTimeDataV(LineCountEvaluateParam lineParam);
}

View File

@@ -4,14 +4,17 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.common.utils.HarmonicTimesUtil;
import com.njcn.dataProcess.constant.InfluxDBTableConstant;
import com.njcn.dataProcess.dao.imapper.DataHarmRateVMapper;
import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateVRelationMapper;
import com.njcn.dataProcess.dto.DataHarmrateVDTO;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.po.influx.DataHarmrateV;
import com.njcn.dataProcess.po.influx.DataV;
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto;
import com.njcn.dataProcess.pojo.dto.DataVDto;
import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD;
import com.njcn.dataProcess.service.IDataHarmRateV;
import com.njcn.dataProcess.util.TimeUtils;
@@ -206,6 +209,25 @@ public class InfluxdbDataHarmRateVImpl extends MppServiceImpl<RStatDataHarmRateV
dataHarmRateVMapper.insertBatch(result);
}
@Override
public List<DataHarmDto> getGroupByTimeHarmRateV(LineCountEvaluateParam lineParam) {
InfluxQueryWrapper harmRateVQueryWrapper = new InfluxQueryWrapper(DataHarmrateV.class);
harmRateVQueryWrapper.maxSamePrefixAndSuffix(InfluxDbSqlConstant.V, "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1));
harmRateVQueryWrapper.regular(DataV::getLineId, lineParam.getLineId())
.eq(DataHarmrateV::getValueType, InfluxDbSqlConstant.CP95)
.ne(DataHarmrateV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
.groupBy("time(" + lineParam.getValueType().get(0) + "m)")
.between(DataHarmrateV::getTime, lineParam.getStartTime(), lineParam.getEndTime());
List<DataHarmrateV> list = dataHarmRateVMapper.selectByQueryWrapper(harmRateVQueryWrapper);
List<DataHarmDto> result = new ArrayList<>();
list.forEach(item -> {
DataHarmDto dto = new DataHarmDto();
BeanUtils.copyProperties(item, dto);
result.add(dto);
});
return result;
}
/**
* 按监测点集合、时间条件获取分钟数据
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理

View File

@@ -4,13 +4,16 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.common.utils.HarmonicTimesUtil;
import com.njcn.dataProcess.constant.InfluxDBTableConstant;
import com.njcn.dataProcess.dao.imapper.DataIMapper;
import com.njcn.dataProcess.dao.relation.mapper.RStatDataIRelationMapper;
import com.njcn.dataProcess.dto.DataIDTO;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.po.influx.DataHarmrateV;
import com.njcn.dataProcess.po.influx.DataI;
import com.njcn.dataProcess.po.influx.DataV;
import com.njcn.dataProcess.pojo.dto.CommonMinuteDto;
import com.njcn.dataProcess.pojo.dto.DataHarmDto;
import com.njcn.dataProcess.pojo.dto.DataIDto;
import com.njcn.dataProcess.pojo.po.RStatDataID;
import com.njcn.dataProcess.service.IDataI;
@@ -201,6 +204,25 @@ public class InfluxdbDataIImpl extends MppServiceImpl<RStatDataIRelationMapper,
return Collections.emptyList();
}
@Override
public List<DataIDto> getGroupByTimeDataI(LineCountEvaluateParam lineParam) {
InfluxQueryWrapper harmRateVQueryWrapper = new InfluxQueryWrapper(DataHarmrateV.class);
harmRateVQueryWrapper.maxSamePrefixAndSuffix(InfluxDbSqlConstant.I, "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1));
harmRateVQueryWrapper.regular(DataV::getLineId, lineParam.getLineId())
.eq(DataHarmrateV::getValueType, InfluxDbSqlConstant.CP95)
.ne(DataHarmrateV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
.groupBy("time(" + lineParam.getValueType().get(0) + "m)")
.between(DataHarmrateV::getTime, lineParam.getStartTime(), lineParam.getEndTime());
List<DataI> list = dataIMapper.selectByQueryWrapper(harmRateVQueryWrapper);
List<DataIDto> result = new ArrayList<>();
list.forEach(item -> {
DataIDto dto = new DataIDto();
BeanUtils.copyProperties(item, dto);
result.add(dto);
});
return result;
}
/**
* 按监测点集合、时间条件获取dataI分钟数据
* timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理

View File

@@ -382,6 +382,25 @@ public class InfluxdbDataVImpl extends MppServiceImpl<RStatDataVRelationMapper,
return Collections.emptyList();
}
@Override
public List<DataVDto> getGroupByTimeDataV(LineCountEvaluateParam lineParam) {
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper.regular(DataV::getLineId, lineParam.getLineId())
.eq(DataV::getValueType, InfluxDbSqlConstant.CP95)
.ne(DataV::getPhasicType, InfluxDBTableConstant.PHASE_TYPE_T)
.max(DataV::getVThd)
.groupBy("time(" + lineParam.getValueType().get(0) + "m)")
.between(DataV::getTime, lineParam.getStartTime(), lineParam.getEndTime());
List<DataV> list = dataVMapper.selectByQueryWrapper(influxQueryWrapper);
List<DataVDto> result = new ArrayList<>();
list.forEach(item -> {
DataVDto dto = new DataVDto();
BeanUtils.copyProperties(item, dto);
result.add(dto);
});
return result;
}
/**
* 按监测点集合、时间条件获取dataV分钟数据
* timeMap参数来判断是否进行数据出来 timeMap为空则不进行数据处理

View File

@@ -128,6 +128,11 @@ public class RelationDataHarmRateVImpl extends MppServiceImpl<RStatDataHarmRateV
}
@Override
public List<DataHarmDto> getGroupByTimeHarmRateV(LineCountEvaluateParam lineParam) {
return Collections.emptyList();
}
private List<DataHarmDto> quality(List<DataHarmDto> list, LineCountEvaluateParam lineParam) {
List<DataHarmDto> result = new ArrayList<>();
Map<String, List<DataHarmDto>> lineMap = list.stream().collect(Collectors.groupingBy(DataHarmDto::getLineId));

View File

@@ -130,6 +130,11 @@ public class RelationDataIImpl extends MppServiceImpl<RStatDataIRelationMapper,
return quality(result, lineParam);
}
@Override
public List<DataIDto> getGroupByTimeDataI(LineCountEvaluateParam lineParam) {
return Collections.emptyList();
}
private List<DataIDto> quality(List<DataIDto> list, LineCountEvaluateParam lineParam) {
List<DataIDto> result = new ArrayList<>();
Map<String, List<DataIDto>> lineMap = list.stream().collect(Collectors.groupingBy(DataIDto::getLineId));

View File

@@ -162,6 +162,11 @@ public class RelationDataVImpl extends MppServiceImpl<RStatDataVRelationMapper,
return quality(info, lineParam);
}
@Override
public List<DataVDto> getGroupByTimeDataV(LineCountEvaluateParam lineParam) {
return Collections.emptyList();
}
private List<DataVDto> quality(List<DataVDto> list, LineCountEvaluateParam lineParam) {
List<DataVDto> result = new ArrayList<>();
Map<String, List<DataVDto>> lineMap = list.stream().collect(Collectors.groupingBy(DataVDto::getLineId));