解决在线率补招数据问题

This commit is contained in:
wr
2025-04-01 11:05:47 +08:00
parent 85e817a0ac
commit bd0cabbd7f
3 changed files with 35 additions and 14 deletions

View File

@@ -222,19 +222,25 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
if (CollUtil.isNotEmpty(result)) { if (CollUtil.isNotEmpty(result)) {
//存储数据 //存储数据
List<DataLimitRateDto> dataLimitRate = result.stream().map(DataLimitDetailDto::getDataLimitRate).filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList()); List<DataLimitRateDto> dataLimitRate = result.stream().map(DataLimitDetailDto::getDataLimitRate).filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList());
dataLimitRateFeignClient.batchInsertion(dataLimitRate); if(CollUtil.isNotEmpty(dataLimitRate)){
dataLimitRateFeignClient.batchInsertion(dataLimitRate);
}
} }
if (CollUtil.isNotEmpty(result)) { if (CollUtil.isNotEmpty(result)) {
//存储数据 //存储数据
List<DataLimitRateDetailDto> detail = result.stream().map(DataLimitDetailDto::getDataLimitRateDetail).filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList()); List<DataLimitRateDetailDto> detail = result.stream().map(DataLimitDetailDto::getDataLimitRateDetail).filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList());
dataLimitRateDetailFeignClient.batchInsertion(detail); if(CollUtil.isNotEmpty(detail)){
dataLimitRateDetailFeignClient.batchInsertion(detail);
}
} }
} }
@Override @Override
public void limitTargetHandler(CalculatedParam calculatedParam) { public void limitTargetHandler(CalculatedParam calculatedParam) {
log.info(LocalDateTime.now() + "r_stat_limit_target_d开始执行=======》"); logger.info(LocalDateTime.now() + "r_stat_limit_target_d开始执行=======》");
List<DataLimitTargetDto> list = new ArrayList<>(); List<DataLimitTargetDto> list = new ArrayList<>();
List<DataLimitRateDto> limitRateData = new ArrayList<>(); List<DataLimitRateDto> limitRateData = new ArrayList<>();
//远程接口获取分钟数据 //远程接口获取分钟数据
@@ -1063,7 +1069,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService {
if (CollUtil.isNotEmpty(info)) { if (CollUtil.isNotEmpty(info)) {
return JSON.toJSONString(info); return JSON.toJSONString(info);
} }
return ""; return null;
} }
private void addAbnormalData(List<AbnormalData> list, String phasicType, String valueType, String time, Double value, float overLimitValue) { private void addAbnormalData(List<AbnormalData> list, String phasicType, String valueType, String time, Double value, float overLimitValue) {

View File

@@ -3,6 +3,7 @@ package com.njcn.algorithm.serviceimpl.line;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
@@ -49,6 +50,7 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
private Integer NUM = 100; private Integer NUM = 100;
private final Integer online = 1; private final Integer online = 1;
private final Integer offline = 0;
@Resource @Resource
private PqsCommunicateFeignClient communicateFeignClient; private PqsCommunicateFeignClient communicateFeignClient;
@Resource @Resource
@@ -219,8 +221,12 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
} else { } else {
List<PqsCommunicateDto> communicateDataOld = communicateFeignClient.getRawDataEnd(lineParam).getData(); List<PqsCommunicateDto> communicateDataOld = communicateFeignClient.getRawDataEnd(lineParam).getData();
if (communicateDataOld.size() > 0) { if (communicateDataOld.size() > 0) {
if (online.equals(communicateDataOld.get(0).getType())) { DateTime parse = DateUtil.parse(communicateDataOld.get(0).getTime());
minute = InfluxDBPublicParam.DAY_MINUTE; long differ = DateUtil.between(date, parse, DateUnit.MINUTE);
if (offline.equals(communicateDataOld.get(0).getType())) {
minute = (int) differ;
}else{
minute = (int) (InfluxDBPublicParam.DAY_MINUTE-differ);
} }
} }
} }

View File

@@ -27,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.function.BinaryOperator; import java.util.function.BinaryOperator;
@@ -44,14 +45,22 @@ import java.util.stream.Stream;
@RequiredArgsConstructor @RequiredArgsConstructor
public class PollutionServiceImpl implements IPollutionService { public class PollutionServiceImpl implements IPollutionService {
private final PqDataVerifyFeignClient pqDataVerifyFeignClient; @Resource
private final DicDataFeignClient dicDataFeignClient; private PqDataVerifyFeignClient pqDataVerifyFeignClient;
private final CommTerminalGeneralClient commTerminalGeneralClient; @Resource
private final DataVFeignClient dataVFeignClient; private DicDataFeignClient dicDataFeignClient;
private final DataHarmRateVFeignClient dataHarmRateVFeignClient; @Resource
private final DataPltFeignClient dataPltFeignClient; private CommTerminalGeneralClient commTerminalGeneralClient;
private final DataIFeignClient dataIFeignClient; @Resource
private final DataPollutionFeignClient dataPollutionFeignClient; private DataVFeignClient dataVFeignClient;
@Resource
private DataHarmRateVFeignClient dataHarmRateVFeignClient;
@Resource
private DataPltFeignClient dataPltFeignClient;
@Resource
private DataIFeignClient dataIFeignClient;
@Resource
private DataPollutionFeignClient dataPollutionFeignClient;
@Override @Override