Merge remote-tracking branch 'origin/master'

This commit is contained in:
wr
2025-04-23 11:19:47 +08:00
3 changed files with 34 additions and 20 deletions

View File

@@ -1,12 +1,14 @@
package com.njcn.algorithm.serviceimpl.line; package com.njcn.algorithm.serviceimpl.line;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.njcn.algorithm.pojo.bo.CalculatedParam; import com.njcn.algorithm.pojo.bo.CalculatedParam;
import com.njcn.algorithm.service.line.IPollutionService; import com.njcn.algorithm.service.line.IPollutionService;
import com.njcn.algorithm.utils.MemorySizeUtil;
import com.njcn.dataProcess.api.*; import com.njcn.dataProcess.api.*;
import com.njcn.dataProcess.enums.DataCleanEnum; import com.njcn.dataProcess.enums.DataCleanEnum;
import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.param.LineCountEvaluateParam;
@@ -25,6 +27,8 @@ import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -45,6 +49,9 @@ import java.util.stream.Stream;
@RequiredArgsConstructor @RequiredArgsConstructor
public class PollutionServiceImpl implements IPollutionService { public class PollutionServiceImpl implements IPollutionService {
@Value("${line.num}")
private Integer NUM = 100;
@Resource @Resource
private PqDataVerifyFeignClient pqDataVerifyFeignClient; private PqDataVerifyFeignClient pqDataVerifyFeignClient;
@Resource @Resource
@@ -66,7 +73,7 @@ public class PollutionServiceImpl implements IPollutionService {
@Override @Override
public void handleDay(CalculatedParam<String> calculatedParam) { public void handleDay(CalculatedParam<String> calculatedParam) {
System.out.println("当前执行污区监测点算法++++++++++++++++++++++++++++++++++"); System.out.println("当前执行污区监测点算法++++++++++++++++++++++++++++++++++");
List<DataPollutionD> pollutionList;
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData(); List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData();
Map<String, DictData> dictData = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity())); Map<String, DictData> dictData = dictDataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity()));
LocalDate local = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate()); LocalDate local = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
@@ -77,11 +84,14 @@ public class PollutionServiceImpl implements IPollutionService {
Map<String, Overlimit> limitMap = overlimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity())); Map<String, Overlimit> limitMap = overlimitList.stream().collect(Collectors.toMap(Overlimit::getId, Function.identity()));
LineCountEvaluateParam lineCountEvaluateParam = new LineCountEvaluateParam(); LineCountEvaluateParam lineCountEvaluateParam = new LineCountEvaluateParam();
lineCountEvaluateParam.setLineId(idList);
lineCountEvaluateParam.setStartTime(beginDay); lineCountEvaluateParam.setStartTime(beginDay);
lineCountEvaluateParam.setEndTime(endDay); lineCountEvaluateParam.setEndTime(endDay);
getAbnormalData(lineCountEvaluateParam); getAbnormalData(lineCountEvaluateParam);
//指标数据获取 //指标数据获取
List<List<String>> pendingIds = ListUtils.partition(idList,NUM);
pendingIds.forEach(list->{
lineCountEvaluateParam.setLineId(list);
Map<String, DataPollutionD> harmonicVoltageList = getHarmonicVoltage(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> harmonicVoltageList = getHarmonicVoltage(lineCountEvaluateParam, limitMap);
Map<String, DataPollutionD> harmonicCurrentList = getHarmonicCurrent(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> harmonicCurrentList = getHarmonicCurrent(lineCountEvaluateParam, limitMap);
Map<String, DataPollutionD> frequencyDeviationList = getFrequencyDeviation(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> frequencyDeviationList = getFrequencyDeviation(lineCountEvaluateParam, limitMap);
@@ -91,14 +101,16 @@ public class PollutionServiceImpl implements IPollutionService {
Map<String, DataPollutionD> interHarmonicVoltageList = getInterharmonicVoltage(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> interHarmonicVoltageList = getInterharmonicVoltage(lineCountEvaluateParam, limitMap);
Map<String, DataPollutionD> voltageFlickerList = getVoltageFlicker(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> voltageFlickerList = getVoltageFlicker(lineCountEvaluateParam, limitMap);
List<DataPollutionD> pollutionList = processPollutionList(local, idList, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList,
pollutionList = processPollutionList(local, idList, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList,
threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList); threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList);
//TODO 插入数据库 //TODO 插入数据库
if (CollUtil.isNotEmpty(pollutionList)) { if (CollUtil.isNotEmpty(pollutionList)) {
dataPollutionFeignClient.batchInsertion(pollutionList); dataPollutionFeignClient.batchInsertion(pollutionList);
} }
});
} }
@Override @Override
@@ -408,6 +420,7 @@ public class PollutionServiceImpl implements IPollutionService {
*/ */
private Map<String, DataPollutionD> getHarmonicVoltage(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) { private Map<String, DataPollutionD> getHarmonicVoltage(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
List<DataPollutionD> list = new ArrayList<>(); List<DataPollutionD> list = new ArrayList<>();
lineCountEvaluateParam.setColumnName("");
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList())); lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList())); lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList()));
Map<String, DataPollutionD> threePhase = getThreePhaseData(lineCountEvaluateParam, limitMap); Map<String, DataPollutionD> threePhase = getThreePhaseData(lineCountEvaluateParam, limitMap);
@@ -508,6 +521,7 @@ public class PollutionServiceImpl implements IPollutionService {
*/ */
private Map<String, DataPollutionD> getHarmonicCurrent(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) { private Map<String, DataPollutionD> getHarmonicCurrent(LineCountEvaluateParam lineCountEvaluateParam, Map<String, Overlimit> limitMap) {
Map<String, DataPollutionD> map = new HashMap(); Map<String, DataPollutionD> map = new HashMap();
lineCountEvaluateParam.setColumnName("");
lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList())); lineCountEvaluateParam.setValueType(Stream.of("CP95").collect(Collectors.toList()));
lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList())); lineCountEvaluateParam.setPhasicType(Stream.of("A", "B", "C").collect(Collectors.toList()));
List<DataIDto> list = dataIFeignClient.getDataI(lineCountEvaluateParam).getData(); List<DataIDto> list = dataIFeignClient.getDataI(lineCountEvaluateParam).getData();

View File

@@ -107,7 +107,7 @@ public class DataVFeignClientFallbackFactory implements FallbackFactory<DataVFei
@Override @Override
public HttpResult<List<DataVDto>> getDataV(@RequestBody LineCountEvaluateParam lineParam) { public HttpResult<List<DataVDto>> getDataV(@RequestBody LineCountEvaluateParam lineParam) {
log.error("{}异常,降级处理,异常为:{}","cvt数据插入DataV",cause.toString()); log.error("{}异常,降级处理,异常为:{}","查询数据DataV",cause.toString());
throw new BusinessException(finalExceptionEnum); throw new BusinessException(finalExceptionEnum);
} }
}; };

View File

@@ -157,9 +157,9 @@ public class DataVController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getDataV") @PostMapping("/getDataV")
@ApiOperation("获取原始数据") @ApiOperation("获取原始数据")
public HttpResult<List<DataVDto>> getDataV(LineCountEvaluateParam lineParam) { public HttpResult<List<DataVDto>> getDataV(@RequestBody LineCountEvaluateParam lineParam) {
String methodDescribe = getMethodDescribe("getMeasurementCount"); String methodDescribe = getMethodDescribe("getDataV");
List<DataVDto> dataV = dataVQuery.getDataV(lineParam); List<DataVDto> dataV = dataVInsert.getDataV(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataV, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, dataV, methodDescribe);
} }