# Conflicts:
#	algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataOnlineRateServiceImpl.java
This commit is contained in:
hzj
2026-07-22 16:16:45 +08:00
3 changed files with 12 additions and 16 deletions

View File

@@ -9,7 +9,6 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import com.njcn.algorithm.pojo.bo.CalculatedParam;
import com.njcn.algorithm.service.line.IDataOnlineRateService;
import com.njcn.algorithm.utils.MemorySizeUtil;
import com.njcn.dataProcess.api.DataIntegrityFeignClient;
import com.njcn.dataProcess.api.DataOnlineRateFeignClient;
import com.njcn.dataProcess.api.DataVFeignClient;
@@ -49,8 +48,8 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
private static final Logger logger = LoggerFactory.getLogger(IDataOnlineRateServiceImpl.class);
@Value("${line.num:10}")
private Integer NUM;
@Value("${line.num}")
private Integer NUM = 100;
private final Integer online = 1;
private final Integer offline = 0;
@@ -70,8 +69,7 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
@Override
public void dataOnlineRate(CalculatedParam calculatedParam) {
MemorySizeUtil.getNowMemory();
logger.info("{},{}onlineRate表转r_stat_onlinerate_d算法开始=====》", LocalDateTime.now(),calculatedParam.getDataDate());
logger.info("{},onlineRate表转r_stat_onlinerate_d算法开始=====》", LocalDateTime.now());
LineCountEvaluateParam lineParam = new LineCountEvaluateParam();
lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate()));
lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate()));
@@ -87,7 +85,7 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
Map<String, List<LineDevGetDTO>> LineDevGetMap = devList.stream()
.filter(x -> devIdList.contains(x.getDevId()))
.collect(Collectors.groupingBy(LineDevGetDTO::getDevId));
if (ObjectUtil.isNotNull(calculatedParam.getType())&&calculatedParam.getType() == 1) {
if (ObjectUtil.isNotNull(calculatedParam.getType()) && calculatedParam.getType() == 1) {
LineDevGetMap.forEach((key, value) -> {
DataOnlineRateDto.Detail onlineRateDpo = new DataOnlineRateDto.Detail();
List<String> collect = value.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
@@ -132,9 +130,9 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
List<String> lineIds = value.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
lineParam.setLineId(lineIds);
List<DataIntegrityDto> integrityDS = dataIntegrityFeignClient.getRawData(lineParam).getData();
Double max=0.0;
if(CollUtil.isNotEmpty(integrityDS)){
List<Double> info=new ArrayList<>();
Double max = 0.0;
if (CollUtil.isNotEmpty(integrityDS)) {
List<Double> info = new ArrayList<>();
for (DataIntegrityDto integrityD : integrityDS) {
double realTime = integrityD.getRealTime();
double dueTime = integrityD.getDueTime();
@@ -146,7 +144,7 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
}
max = info.stream().max(Comparator.naturalOrder()).orElse(0.0);
}
int v = (int)Math.ceil(InfluxDBPublicParam.DAY_MINUTE * max);
int v = (int) Math.ceil(InfluxDBPublicParam.DAY_MINUTE * max);
onlineRateDpo.setOnlineMin(v);
onlineRateDpo.setOfflineMin(InfluxDBPublicParam.DAY_MINUTE - v);
list.add(onlineRateDpo);
@@ -249,7 +247,7 @@ public class IDataOnlineRateServiceImpl implements IDataOnlineRateService {
long differ = DateUtil.between(date, newDate, DateUnit.MINUTE);
if (online.equals(type)) {
minute = InfluxDBPublicParam.DAY_MINUTE - (int) differ;
}else{
} else {
minute = (int) differ;
}
} else {