cvt算法

This commit is contained in:
hzj
2025-03-03 16:07:35 +08:00
parent d04900f299
commit 18a7ba9ceb
15 changed files with 256 additions and 47 deletions

View File

@@ -7,7 +7,7 @@ import com.njcn.dataProcess.api.DataVFeignClient;
import com.njcn.dataProcess.constant.InfluxDBTableConstant;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.po.influx.DataVCvt;
import com.njcn.dataProcess.pojo.dto.DataVCvtDTO;
import com.njcn.dataProcess.pojo.dto.DataVCvtDto;
import com.njcn.dataProcess.util.TimeUtils;
import com.njcn.device.pq.api.CvtRelationFeignClient;
import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO;
@@ -51,27 +51,23 @@ public class DataVCvtServiceImpl implements IDataVCvtService {
lineCountEvaluateParam.setLineId(calculatedParam.getIdList());
lineCountEvaluateParam.setEndTime(calculatedParam.getDataDate()+ InfluxDBTableConstant.END_TIME);
lineCountEvaluateParam.setStartTime(calculatedParam.getDataDate()+ InfluxDBTableConstant.START_TIME);
List<DataVCvt> data = dataVCvtFeignClient.getRawData(lineCountEvaluateParam).getData();
Map<String, List<DataVCvt>> collect = data.stream().collect(Collectors.groupingBy(DataVCvt::getLineId));
List<DataVCvtDTO> result = new ArrayList<>();
List<DataVCvtDto> data = dataVCvtFeignClient.getRawData(lineCountEvaluateParam).getData();
Map<String, List<DataVCvtDto>> collect = data.stream().collect(Collectors.groupingBy(DataVCvtDto::getLineId));
List<DataVCvtDto> result = new ArrayList<>();
collect.forEach((k,v)->{
CvtHarmonicCorrectionFactorsDTO cvtHarmonicCorrectionFactorsDTO = cvtRelationFeignClient.queryByLineId(k).getData();
if(Objects.nonNull(cvtHarmonicCorrectionFactorsDTO)&&
StringUtils.isNotEmpty(cvtHarmonicCorrectionFactorsDTO.getId())){
v = cvtChange(v,cvtHarmonicCorrectionFactorsDTO);
}
List<DataVCvtDTO> dataVCvtDTOList = v.stream().map(temp -> {
DataVCvtDTO dataVCvtDTO = new DataVCvtDTO();
BeanUtils.copyProperties(temp, dataVCvtDTO);
return dataVCvtDTO;
}).collect(Collectors.toList());
result.addAll(dataVCvtDTOList);
result.addAll(v);
});
dataVFeignClient.batchInsertionCvtDTO(result);
}
private List<DataVCvt> cvtChange(List<DataVCvt> v, CvtHarmonicCorrectionFactorsDTO cvtHarmonicCorrectionFactorsDTO) {
private List<DataVCvtDto> cvtChange(List<DataVCvtDto> v, CvtHarmonicCorrectionFactorsDTO cvtHarmonicCorrectionFactorsDTO) {
v.stream().forEach(temp->{
//目前知道的只有v2到v50乘以系数
// temp.setLineId();