1.增加配网用户侧算法适配
2.新增河北用户侧数据完整性接口 3.新增河北用户侧越限详情接口
This commit is contained in:
@@ -0,0 +1,195 @@
|
||||
package com.njcn.harmonic.pojo.vo;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
|
||||
@Data
|
||||
public class MonitorLimitRateVO {
|
||||
/**
|
||||
* 监测点ID合格率的变电站/装置/母线/线路序号
|
||||
*/
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
* 数据类型,’A’表示A相,’B’表示B相,’C’表示C相,’’M’表示ABC三项总和,T’表示总
|
||||
*/
|
||||
private String phasicType;
|
||||
|
||||
|
||||
private String name;
|
||||
|
||||
private String orgName;
|
||||
|
||||
private String operationName;
|
||||
|
||||
private Integer ifSensitiveUser;
|
||||
|
||||
private String userType;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 总计算次数
|
||||
*/
|
||||
private Integer allTime;
|
||||
|
||||
/**
|
||||
* 闪变越限次数
|
||||
*/
|
||||
private BigDecimal flickerOvertime;
|
||||
|
||||
/**
|
||||
* 闪变总计算次数
|
||||
*/
|
||||
private BigDecimal flickerAllTime;
|
||||
|
||||
/**
|
||||
* 频率偏差越限次数
|
||||
*/
|
||||
private BigDecimal freqDevOvertime;
|
||||
|
||||
/**
|
||||
* 电压偏差越限次数
|
||||
*/
|
||||
private BigDecimal voltageDevOvertime;
|
||||
|
||||
/**
|
||||
* 三相电压不平衡度越限次数
|
||||
*/
|
||||
private BigDecimal ubalanceOvertime;
|
||||
|
||||
/**
|
||||
* 电压谐波畸变率越限次数
|
||||
*/
|
||||
private BigDecimal uaberranceOvertime;
|
||||
|
||||
/**
|
||||
* 负序电流限值次数
|
||||
*/
|
||||
private BigDecimal iNegOvertime;
|
||||
|
||||
/**
|
||||
* 2次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm2Overtime;
|
||||
|
||||
/**
|
||||
* 3次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm3Overtime;
|
||||
|
||||
/**
|
||||
* 4次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm4Overtime;
|
||||
|
||||
/**
|
||||
* 5次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm5Overtime;
|
||||
|
||||
/**
|
||||
* 6次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm6Overtime;
|
||||
|
||||
/**
|
||||
* 7次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm7Overtime;
|
||||
|
||||
/**
|
||||
* 8次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm8Overtime;
|
||||
|
||||
/**
|
||||
* 9次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm9Overtime;
|
||||
|
||||
/**
|
||||
* 10次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm10Overtime;
|
||||
|
||||
/**
|
||||
* 11次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm11Overtime;
|
||||
|
||||
/**
|
||||
* 12次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm12Overtime;
|
||||
|
||||
/**
|
||||
* 13次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm13Overtime;
|
||||
|
||||
/**
|
||||
* 14次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm14Overtime;
|
||||
|
||||
/**
|
||||
* 15次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm15Overtime;
|
||||
|
||||
/**
|
||||
* 16次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm16Overtime;
|
||||
|
||||
/**
|
||||
* 17次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm17Overtime;
|
||||
|
||||
/**
|
||||
* 18次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm18Overtime;
|
||||
|
||||
/**
|
||||
* 19次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm19Overtime;
|
||||
|
||||
/**
|
||||
* 20次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm20Overtime;
|
||||
|
||||
/**
|
||||
* 21次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm21Overtime;
|
||||
|
||||
/**
|
||||
* 22次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm22Overtime;
|
||||
|
||||
/**
|
||||
* 23次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm23Overtime;
|
||||
|
||||
/**
|
||||
* 24次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm24Overtime;
|
||||
|
||||
/**
|
||||
* 25次电压谐波含有率越限次数
|
||||
*/
|
||||
private BigDecimal uharm25Overtime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.njcn.harmonic.controller.distribution;
|
||||
|
||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||
import io.swagger.annotations.Api;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 配网用户侧指标越限
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pwLimit")
|
||||
@Slf4j
|
||||
@Api(tags = "配网用户侧指标越限")
|
||||
@RequiredArgsConstructor
|
||||
public class PwUserLimitController {
|
||||
private final RStatLimitService rStatLimitService;
|
||||
}
|
||||
@@ -1,13 +1,16 @@
|
||||
package com.njcn.harmonic.controller.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -16,6 +19,7 @@ import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
@@ -78,4 +82,14 @@ public class RStatLimitController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@PostMapping("/pwMonitorLimitData")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("获取配网指标超标详情")
|
||||
public HttpResult<Page<MonitorLimitRateVO>> pwMonitorLimitData(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam){
|
||||
String methodDescribe = getMethodDescribe("pwMonitorLimitData");
|
||||
Page<MonitorLimitRateVO> page = rStatLimitService.pwMonitorLimitData(pwUserMonitorParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package com.njcn.harmonic.service.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatLimitRateDVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
@@ -46,4 +50,8 @@ public interface RStatLimitService {
|
||||
List<GridDiagramVO.RunData> getGridDiagramRunData(DeviceInfoParam.BusinessParam param);
|
||||
|
||||
List<RStatLimitRateDPO> getOverData(String lineId, String startTime, String endTime, Integer type);
|
||||
|
||||
|
||||
Page<MonitorLimitRateVO> pwMonitorLimitData(PwUserMonitorParam pwUserMonitorParam);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.harmonic.service.majornetwork.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.func.Func;
|
||||
@@ -8,10 +9,14 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.api.LineIntegrityClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
@@ -26,13 +31,20 @@ import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpVThd;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||
import com.njcn.prepare.harmonic.api.line.LimitrateFeignClient;
|
||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.function.Function;
|
||||
@@ -55,6 +67,8 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
private final IRStatLimitTargetDService targetDService;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
private final LimitrateFeignClient limitrateFeignClient;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -399,7 +413,151 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
return rStatLimitRateDMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetDPO> limitTargetList, GridDiagramVO.LineData lineData) {
|
||||
@Override
|
||||
public Page<MonitorLimitRateVO> pwMonitorLimitData(PwUserMonitorParam pwUserMonitorParam) {
|
||||
Page<MonitorLimitRateVO> pageResult = new Page<>(PageFactory.getPageNum(pwUserMonitorParam),PageFactory.getPageSize(pwUserMonitorParam));
|
||||
List<PwUserMonitorDataVO> pwUserMonitorDataVOList = distributionMonitorClient.getPwUserIds(pwUserMonitorParam).getData();
|
||||
if(CollUtil.isEmpty(pwUserMonitorDataVOList)){
|
||||
return pageResult;
|
||||
}
|
||||
List<String> ids = pwUserMonitorDataVOList.stream().map(PwUserMonitorDataVO::getId).collect(Collectors.toList());
|
||||
|
||||
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for(int i = 2;i<26;i++){
|
||||
if(i == 25){
|
||||
stringBuilder.append("sum(uharm_").append(i).append("_overtime) as uharm_").append(i).append("_overtime ");
|
||||
}else {
|
||||
stringBuilder.append("sum(uharm_").append(i).append("_overtime) as uharm_").append(i).append("_overtime").append(",");
|
||||
}
|
||||
}
|
||||
queryWrapper.select("my_index lineId ,sum(all_time) all_time,sum(flicker_all_time) flicker_all_time,sum(freq_dev_overtime) freq_dev_overtime,sum(voltage_dev_overtime) voltage_dev_overtime,sum(ubalance_overtime) ubalance_overtime,sum(flicker_overtime) flicker_overtime,sum(uaberrance_overtime) uaberrance_overtime",stringBuilder.toString())
|
||||
.in("my_index",ids).between("time_id",pwUserMonitorParam.getSearchBeginTime(),pwUserMonitorParam.getSearchEndTime()).eq("phasic_type","T").groupBy("my_index");
|
||||
|
||||
if(StrUtil.isNotBlank(pwUserMonitorParam.getOrderBy())){
|
||||
String sortBy = strToSql(pwUserMonitorParam.getSortBy());
|
||||
if(pwUserMonitorParam.getOrderBy().equals("asc")){
|
||||
queryWrapper.orderBy(true,true,sortBy);
|
||||
}else {
|
||||
queryWrapper.orderBy(true,false,sortBy);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Page<RStatLimitRateDPO> temPage = rStatLimitRateDMapper.selectPage(new Page<>(PageFactory.getPageNum(pwUserMonitorParam),PageFactory.getPageSize(pwUserMonitorParam)),queryWrapper);
|
||||
pageResult.setTotal(temPage.getTotal());
|
||||
if(CollUtil.isNotEmpty(temPage.getRecords())){
|
||||
Map<String,PwUserMonitorDataVO> map = pwUserMonitorDataVOList.stream().collect(Collectors.toMap(PwUserMonitorDataVO::getId,Function.identity()));
|
||||
List<MonitorLimitRateVO> resultList = new ArrayList<>();
|
||||
for(RStatLimitRateDPO item : temPage.getRecords()){
|
||||
MonitorLimitRateVO monitorLimitRateVO = new MonitorLimitRateVO();
|
||||
PwUserMonitorDataVO pwUserMonitorDataVO = map.get(item.getLineId());
|
||||
BeanUtil.copyProperties(pwUserMonitorDataVO,monitorLimitRateVO);
|
||||
if(item.getAllTime() == 0){
|
||||
monitorLimitRateVO.setFlickerOvertime(BigDecimal.valueOf(3.14159));
|
||||
monitorLimitRateVO.setFreqDevOvertime(BigDecimal.valueOf(3.14159));
|
||||
monitorLimitRateVO.setUaberranceOvertime(BigDecimal.valueOf(3.14159));
|
||||
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf(3.14159));
|
||||
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf(3.14159));
|
||||
}else {
|
||||
monitorLimitRateVO.setFlickerOvertime(BigDecimal.valueOf((double) item.getFlickerOvertime()/item.getFlickerAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setFreqDevOvertime(BigDecimal.valueOf((double) item.getFreqDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setUaberranceOvertime(BigDecimal.valueOf((double) item.getUaberranceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf((double) item.getUbalanceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf((double) item.getVoltageDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
}
|
||||
setUharmOvertimeRatios(item,monitorLimitRateVO);
|
||||
resultList.add(monitorLimitRateVO);
|
||||
}
|
||||
pageResult.setRecords(resultList);
|
||||
}
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
|
||||
public String strToSql(String originalString){
|
||||
StringBuilder modifiedStringBuilder = new StringBuilder();
|
||||
|
||||
// 标记是否需要在下一个字符前添加下划线
|
||||
boolean needUnderscore = false;
|
||||
|
||||
for (int i = 0; i < originalString.length(); i++) {
|
||||
char currentChar = originalString.charAt(i);
|
||||
|
||||
// 检查当前字符是否为大写字母
|
||||
if (Character.isUpperCase(currentChar)) {
|
||||
// 如果不是字符串的第一个字符,或者即使是第一个字符但也需要下划线(实际上第一个大写不需要)
|
||||
// 但由于逻辑简化,我们只在需要时设置needUnderscore
|
||||
needUnderscore = true;
|
||||
} else if (Character.isDigit(currentChar)) {
|
||||
// 如果当前字符是数字
|
||||
// 检查下一个字符(如果存在)是否也是数字
|
||||
if (i + 1 < originalString.length() && Character.isDigit(originalString.charAt(i + 1))) {
|
||||
// 当前字符和下一个字符都是数字,但我们只在数字序列的开头添加下划线
|
||||
// 如果这不是字符串的开头,并且之前没有添加过下划线(即不是在前一个数字后)
|
||||
if (i > 0 && !Character.isDigit(originalString.charAt(i - 1))) {
|
||||
needUnderscore = true;
|
||||
}
|
||||
// 对于数字序列的其余部分,我们不需要再设置needUnderscore为true
|
||||
} else {
|
||||
// 当前字符是单个数字,且不是字符串的开头,则可能需要下划线
|
||||
if (i > 0 && !Character.isDigit(originalString.charAt(i - 1))) {
|
||||
needUnderscore = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 重置needUnderscore,因为当前字符既不是大写也不是数字
|
||||
// 但注意,如果当前字符后面紧跟大写或数字序列,needUnderscore会在后续迭代中被设置
|
||||
needUnderscore = false;
|
||||
}
|
||||
|
||||
// 如果需要下划线且不是字符串的开头,则添加下划线
|
||||
if (needUnderscore && i > 0) {
|
||||
modifiedStringBuilder.append('_');
|
||||
needUnderscore = false; // 重置标记,因为我们已经添加了下划线
|
||||
}
|
||||
|
||||
// 将当前字符添加到StringBuilder中
|
||||
modifiedStringBuilder.append(currentChar);
|
||||
}
|
||||
|
||||
return modifiedStringBuilder.toString();
|
||||
}
|
||||
|
||||
//赋值2到25次谐波
|
||||
public void setUharmOvertimeRatios(final RStatLimitRateDPO item, final MonitorLimitRateVO monitorLimitRateVO) {
|
||||
// 使用一个循环来避免重复代码
|
||||
for (int i = 2; i <= 25; i++) {
|
||||
// 使用反射来动态调用方法(如果方法名遵循getUharmXOvertime()模式)
|
||||
String methodName = "getUharm" + i + "Overtime";
|
||||
String setterName = "setUharm" + i + "Overtime";
|
||||
|
||||
// 假设这些方法都存在且返回long或int类型
|
||||
long uharmOvertime = 0;
|
||||
try {
|
||||
Method method = item.getClass().getMethod(methodName);
|
||||
uharmOvertime = (int) method.invoke(item);
|
||||
|
||||
long allTime = item.getAllTime();
|
||||
if (allTime == 0) {
|
||||
// 防止除以0的错误
|
||||
monitorLimitRateVO.getClass().getMethod(setterName, BigDecimal.class)
|
||||
.invoke(monitorLimitRateVO, BigDecimal.valueOf(3.14159));
|
||||
} else {
|
||||
BigDecimal ratio = BigDecimal.valueOf((double) uharmOvertime / allTime*100)
|
||||
.setScale(2, RoundingMode.HALF_UP);
|
||||
monitorLimitRateVO.getClass().getMethod(setterName, BigDecimal.class)
|
||||
.invoke(monitorLimitRateVO, ratio);
|
||||
}
|
||||
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
|
||||
// 处理异常,例如记录日志或抛出运行时异常
|
||||
throw new RuntimeException("Error setting UharmOvertime ratio", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetDPO> limitTargetList, GridDiagramVO.LineData lineData) {
|
||||
//监测完整率
|
||||
List<RStatIntegrityD> integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(integrityDS)) {
|
||||
|
||||
Reference in New Issue
Block a user