算法调整

This commit is contained in:
xy
2026-01-07 18:52:03 +08:00
parent 91ff704f0a
commit dbf0027c65
3 changed files with 18 additions and 7 deletions

View File

@@ -15,6 +15,7 @@ public interface IDataLimitRateAsync {
* @param overLimitMap
* @param size
* @param i
* @param type 系统类型
* @Author: wr
* @Date: 2025/12/17 12:16
*/
@@ -23,5 +24,6 @@ public interface IDataLimitRateAsync {
List<String> phase,
Map<String, Overlimit> overLimitMap,
int size,
int i);
int i,
int type);
}

View File

@@ -111,7 +111,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
for (int i = 0; i < pendingIds.size(); i++) {
logger.info(calculatedParam.getDataDate()+" 总分区数据:" + pendingIds.size() + "=====》当前第"+(i + 1)+"小分区");
List<String> list = pendingIds.get(i);
dataLimitRateAsync.lineDataRate(calculatedParam.getDataDate(), list, phase, overLimitMap, pendingIds.size(), (i + 1));
dataLimitRateAsync.lineDataRate(calculatedParam.getDataDate(), list, phase, overLimitMap, pendingIds.size(), (i + 1), lineParam.getType());
}
System.gc();
}

View File

@@ -64,12 +64,14 @@ public class IDataLimitRateAsyncImpl implements IDataLimitRateAsync {
List<String> phase,
Map<String, Overlimit> overLimitMap,
int size,
int i) {
int i,
int type) {
List<DataLimitDetailDto> result = new ArrayList<>();
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
lineParam.setStartTime(TimeUtils.getBeginOfDay(dataDate));
lineParam.setEndTime(TimeUtils.getEndOfDay(dataDate));
lineParam.setLineId(list);
lineParam.setType(type);
//获取电压数据
List<DataVDto> dataVAllTime = dataVFeignClient.getRawData(lineParam).getData();
//闪变数据
@@ -94,10 +96,17 @@ public class IDataLimitRateAsyncImpl implements IDataLimitRateAsync {
* 闪变总计算次数(用data_plt中phasic_type=A,value_type=avg,quality_flag=0来参与统计)
*/
//fixme 冀北现场 闪变原始表没有 value_type 这个参数
Map<String, List<DataPltDto>> pltAllTime = dataPltAllTime.stream()
.filter(x -> PhaseType.PHASE_A.equals(x.getPhasicType()))
// .filter(x -> InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(x.getValueType()))
.collect(Collectors.groupingBy(DataPltDto::getLineId));
Map<String, List<DataPltDto>> pltAllTime;
if (type == 2) {
pltAllTime = dataPltAllTime.stream()
.filter(x -> PhaseType.PHASE_A.equals(x.getPhasicType()))
.filter(x -> InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(x.getValueType()))
.collect(Collectors.groupingBy(DataPltDto::getLineId));
} else {
pltAllTime = dataPltAllTime.stream()
.filter(x -> PhaseType.PHASE_A.equals(x.getPhasicType()))
.collect(Collectors.groupingBy(DataPltDto::getLineId));
}
/**
*功能描述:获取influxDB -> data_harmrate_v ->