1.调整稳态电能质量水平评估返回默认信息

This commit is contained in:
wr
2025-05-12 16:10:51 +08:00
parent 1e3af78bb5
commit e6d75386aa
4 changed files with 330 additions and 351 deletions

View File

@@ -8,14 +8,6 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pq.pojo.param.DevRunEvaluateParam; import com.njcn.device.pq.pojo.param.DevRunEvaluateParam;
import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.vo.DeviceRunEvaluateVO; import com.njcn.device.pq.pojo.vo.DeviceRunEvaluateVO;
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.pq.pojo.dto.DevComFlagDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.vo.TerminalEvaluateAreaVO; import com.njcn.device.pq.pojo.vo.TerminalEvaluateAreaVO;
import com.njcn.device.pq.service.DeviceRunEvaluateService; import com.njcn.device.pq.service.DeviceRunEvaluateService;
import com.njcn.web.controller.BaseController; import com.njcn.web.controller.BaseController;
@@ -28,10 +20,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
import java.util.List; import java.util.List;
@@ -60,7 +48,7 @@ public class DeviceRunEvaluateController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/getRunEvaluateDetail") @PostMapping("/getRunEvaluateDetail")
@ApiOperation("终端运行评价") @ApiOperation("异常终端详情")
public HttpResult<List<DeviceRunEvaluateVO>> getRunEvaluateDetail(@RequestBody @Validated DevRunEvaluateParam param) { public HttpResult<List<DeviceRunEvaluateVO>> getRunEvaluateDetail(@RequestBody @Validated DevRunEvaluateParam param) {
String methodDescribe = getMethodDescribe("getRunEvaluateDetail"); String methodDescribe = getMethodDescribe("getRunEvaluateDetail");
List<DeviceRunEvaluateVO> runEvaluate = deviceRunEvaluateService.getRunEvaluateDetail(param); List<DeviceRunEvaluateVO> runEvaluate = deviceRunEvaluateService.getRunEvaluateDetail(param);
@@ -78,7 +66,6 @@ public class DeviceRunEvaluateController extends BaseController {
} }
@OperateInfo(info = LogEnum.SYSTEM_COMMON) @OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/lastWeekTrend") @PostMapping("/lastWeekTrend")
@ApiOperation("最近一周终端评价趋势") @ApiOperation("最近一周终端评价趋势")

View File

@@ -32,9 +32,7 @@ import com.njcn.harmonic.api.RStatLimitRateDClient;
import com.njcn.harmonic.pojo.param.RStatLimitQueryParam; import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.supervision.api.UserLedgerFeignClient; import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.vo.user.NewUserReportVO; import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
import com.njcn.supervision.pojo.vo.user.UserLedgerVO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -134,29 +132,11 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
List<RStatLimitRateDPO> limitRateDPOS = limitRateList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList()); List<RStatLimitRateDPO> limitRateDPOS = limitRateList.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(limitRateDPOS)) { if (CollUtil.isNotEmpty(limitRateDPOS)) {
double overTime = limitRateDPOS.stream().mapToDouble(x -> (x.getUaberranceOvertime() + double overTime = limitRateDPOS.stream().mapToDouble(x -> (x.getUaberranceOvertime() +
x.getUharm2Overtime() + x.getUharm2Overtime() + x.getUharm3Overtime() + x.getUharm4Overtime() + x.getUharm5Overtime() +
x.getUharm3Overtime() + x.getUharm6Overtime() + x.getUharm7Overtime() + x.getUharm8Overtime() + x.getUharm9Overtime() +
x.getUharm4Overtime() + x.getUharm10Overtime() + x.getUharm11Overtime() + x.getUharm12Overtime() + x.getUharm13Overtime() + x.getUharm14Overtime() +
x.getUharm5Overtime() + x.getUharm15Overtime() + x.getUharm16Overtime() + x.getUharm17Overtime() + x.getUharm18Overtime() + x.getUharm19Overtime() +
x.getUharm6Overtime() + x.getUharm20Overtime() + x.getUharm21Overtime() + x.getUharm22Overtime() + x.getUharm23Overtime() + x.getUharm24Overtime() +
x.getUharm7Overtime() +
x.getUharm8Overtime() +
x.getUharm9Overtime() +
x.getUharm10Overtime() +
x.getUharm11Overtime() +
x.getUharm12Overtime() +
x.getUharm13Overtime() +
x.getUharm14Overtime() +
x.getUharm15Overtime() +
x.getUharm16Overtime() +
x.getUharm17Overtime() +
x.getUharm18Overtime() +
x.getUharm19Overtime() +
x.getUharm20Overtime() +
x.getUharm21Overtime() +
x.getUharm22Overtime() +
x.getUharm23Overtime() +
x.getUharm24Overtime() +
x.getUharm25Overtime())).sum(); x.getUharm25Overtime())).sum();
double allTime = limitRateDPOS.stream().mapToDouble(x -> x.getAllTime() * 25.0).sum(); double allTime = limitRateDPOS.stream().mapToDouble(x -> x.getAllTime() * 25.0).sum();
if (allTime == 0) { if (allTime == 0) {
@@ -225,8 +205,6 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
} }
@Override @Override
public List<TerminalEvaluateAreaVO> areaTerminalStatistic(DeviceInfoParam.BusinessParam businessParam) { public List<TerminalEvaluateAreaVO> areaTerminalStatistic(DeviceInfoParam.BusinessParam businessParam) {
List<TerminalEvaluateAreaVO> result = new ArrayList<>(); List<TerminalEvaluateAreaVO> result = new ArrayList<>();
@@ -480,7 +458,4 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
} }
} }
} }

View File

@@ -450,7 +450,6 @@ public class GridServiceImpl implements IGridService {
} }
/** /**
*
* @param limitRateDPO 对象 * @param limitRateDPO 对象
* @param startNum 循环开始 * @param startNum 循环开始
* @param endNum 循环结束 * @param endNum 循环结束
@@ -477,8 +476,6 @@ public class GridServiceImpl implements IGridService {
} }
@Override @Override
public List<EvaluationLevelVo.EvaluationDetail> getEvaluationDetail(AssessParam param) { public List<EvaluationLevelVo.EvaluationDetail> getEvaluationDetail(AssessParam param) {
List<EvaluationLevelVo.EvaluationDetail> result = new ArrayList<>(); List<EvaluationLevelVo.EvaluationDetail> result = new ArrayList<>();
@@ -492,41 +489,61 @@ public class GridServiceImpl implements IGridService {
.flatMap(List::stream) .flatMap(List::stream)
.distinct() .distinct()
.collect(Collectors.toList()); .collect(Collectors.toList());
List<RStatLimitTargetVO> overLimitList = new ArrayList<>();
if (CollUtil.isNotEmpty(lineList)) { if (CollUtil.isNotEmpty(lineList)) {
//获取监测点越限集合 //获取监测点越限集合
List<RStatLimitTargetVO> overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList, overLimitList .addAll(rStatLimitTargetDMapper.getSumTargetDetails(lineList,
param.getStartTime(), param.getStartTime(),
param.getEndTime()); param.getEndTime())) ;
}
//获取部门 //获取部门
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData(); List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData();
deptList.forEach(item -> { deptList.forEach(item -> {
if (lineMap.containsKey(item.getId())) {
EvaluationLevelVo.EvaluationDetail detail = new EvaluationLevelVo.EvaluationDetail(); EvaluationLevelVo.EvaluationDetail detail = new EvaluationLevelVo.EvaluationDetail();
detail.setDeptId(item.getId()); detail.setDeptId(item.getId());
detail.setDeptName(item.getName()); detail.setDeptName(item.getName());
EvaluationLevelVo.TargetDetail detail1 = new EvaluationLevelVo.TargetDetail();
detail1.setTargetName(DicDataEnum.FREQUENCY_DEV.getName());
detail1.setOverDay(0);
detail1.setOverNum(0);
EvaluationLevelVo.TargetDetail detail2 = new EvaluationLevelVo.TargetDetail();
detail2.setTargetName(DicDataEnum.VOLTAGE_DEV.getName());
detail2.setOverDay(0);
detail2.setOverNum(0);
EvaluationLevelVo.TargetDetail detail3 = new EvaluationLevelVo.TargetDetail();
detail3.setTargetName(DicDataEnum.THD_V.getName());
detail3.setOverDay(0);
detail3.setOverNum(0);
EvaluationLevelVo.TargetDetail detail4 = new EvaluationLevelVo.TargetDetail();
detail4.setTargetName(DicDataEnum.FLICKER.getName());
detail4.setOverDay(0);
detail4.setOverNum(0);
EvaluationLevelVo.TargetDetail detail5 = new EvaluationLevelVo.TargetDetail();
detail5.setTargetName(DicDataEnum.phase_Voltage.getName());
detail5.setOverDay(0);
detail5.setOverNum(0);
EvaluationLevelVo.TargetDetail detail6 = new EvaluationLevelVo.TargetDetail();
detail6.setTargetName(DicDataEnum.NEG_CURRENT.getName());
detail6.setOverDay(0);
detail6.setOverNum(0);
EvaluationLevelVo.TargetDetail detail7 = new EvaluationLevelVo.TargetDetail();
detail7.setTargetName(DicDataEnum.HARMONIC_CURRENT.getName());
detail7.setOverDay(0);
detail7.setOverNum(0);
EvaluationLevelVo.TargetDetail detail8 = new EvaluationLevelVo.TargetDetail();
detail8.setTargetName(DicDataEnum.HARMONIC_VOLTAGE.getName());
detail8.setOverDay(0);
detail8.setOverNum(0);
EvaluationLevelVo.TargetDetail detail9 = new EvaluationLevelVo.TargetDetail();
detail9.setTargetName(DicDataEnum.INTERHARMONIC_VOLTAGE.getName());
detail9.setOverDay(0);
detail9.setOverNum(0);
if (lineMap.containsKey(item.getId())) {
if (CollUtil.isNotEmpty(lineMap.get(item.getId()))) { if (CollUtil.isNotEmpty(lineMap.get(item.getId()))) {
List<String> ll = lineMap.get(item.getId()); List<String> ll = lineMap.get(item.getId());
detail.setOnlineNum(ll.size()); detail.setOnlineNum(ll.size());
//筛选当前部门下监测点的超标数据 //筛选当前部门下监测点的超标数据
List<RStatLimitTargetVO> list2 = overLimitList.stream().filter(it -> ll.contains(it.getLineId())).collect(Collectors.toList()); List<RStatLimitTargetVO> list2 = overLimitList.stream().filter(it -> ll.contains(it.getLineId())).collect(Collectors.toList());
EvaluationLevelVo.TargetDetail detail1 = new EvaluationLevelVo.TargetDetail();
detail1.setTargetName(DicDataEnum.FREQUENCY_DEV.getName());
EvaluationLevelVo.TargetDetail detail2 = new EvaluationLevelVo.TargetDetail();
detail2.setTargetName(DicDataEnum.VOLTAGE_DEV.getName());
EvaluationLevelVo.TargetDetail detail3 = new EvaluationLevelVo.TargetDetail();
detail3.setTargetName(DicDataEnum.THD_V.getName());
EvaluationLevelVo.TargetDetail detail4 = new EvaluationLevelVo.TargetDetail();
detail4.setTargetName(DicDataEnum.FLICKER.getName());
EvaluationLevelVo.TargetDetail detail5 = new EvaluationLevelVo.TargetDetail();
detail5.setTargetName(DicDataEnum.phase_Voltage.getName());
EvaluationLevelVo.TargetDetail detail6 = new EvaluationLevelVo.TargetDetail();
detail6.setTargetName(DicDataEnum.NEG_CURRENT.getName());
EvaluationLevelVo.TargetDetail detail7 = new EvaluationLevelVo.TargetDetail();
detail7.setTargetName(DicDataEnum.HARMONIC_CURRENT.getName());
EvaluationLevelVo.TargetDetail detail8 = new EvaluationLevelVo.TargetDetail();
detail8.setTargetName(DicDataEnum.HARMONIC_VOLTAGE.getName());
EvaluationLevelVo.TargetDetail detail9 = new EvaluationLevelVo.TargetDetail();
detail9.setTargetName(DicDataEnum.INTERHARMONIC_VOLTAGE.getName());
if (CollUtil.isNotEmpty(list2)) { if (CollUtil.isNotEmpty(list2)) {
//筛选出9项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度、负序电流、谐波电流、间谐波电压、谐波电压)超标监测点 //筛选出9项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度、负序电流、谐波电流、间谐波电压、谐波电压)超标监测点
long allNum = list2.stream().filter(o -> o.getAllOvertime() > 0 || o.getFlickerAllTime() > 0).count(); long allNum = list2.stream().filter(o -> o.getAllOvertime() > 0 || o.getFlickerAllTime() > 0).count();
@@ -583,13 +600,12 @@ public class GridServiceImpl implements IGridService {
detail9.setOverNum((int) num9); detail9.setOverNum((int) num9);
detail9.setOverDay(day9); detail9.setOverDay(day9);
} }
}
}
List<EvaluationLevelVo.TargetDetail> details = Arrays.asList(detail1, detail2, detail3, detail4, detail5, detail6, detail7, detail8, detail9); List<EvaluationLevelVo.TargetDetail> details = Arrays.asList(detail1, detail2, detail3, detail4, detail5, detail6, detail7, detail8, detail9);
detail.setList(details); detail.setList(details);
}
result.add(detail); result.add(detail);
}
}); });
}
return result; return result;
} }
@@ -991,6 +1007,7 @@ public class GridServiceImpl implements IGridService {
/** /**
* 过滤监测点 * 过滤监测点
*
* @param list * @param list
* @param type * @param type
* @return * @return