1.台账审核和变电站查询。2.配网,稳态指标和暂态指标相关代码

This commit is contained in:
wurui
2023-02-22 15:10:58 +08:00
parent c7c992df3b
commit 6ddcc366e8
20 changed files with 331 additions and 83 deletions

View File

@@ -1,4 +1,4 @@
package com.njcn.device.pms.controller.majornetwork;
package com.njcn.device.pms.controller.ledgerManger;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -42,18 +42,15 @@ import java.util.Objects;
public class MonitorAuditController extends BaseController {
private final IMonitorAuditService monitorAuditService;
/**
* 分页获取台账审核
* @author wr
* @date 2023-02-20
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getAllMonitorAuditList")
@ApiOperation("分页获取台账审核")
@ApiImplicitParam(name = "baseParam",required = true)
@ApiImplicitParam(name = "baseParam", required = true)
public HttpResult<Page<MonitorAudit>> getAllMonitorAuditList(@RequestBody MonitorAuditParam baseParam) {
String methodDescribe = getMethodDescribe("getAllMonitorAuditList");
Page<MonitorAudit> monitor= monitorAuditService.getAllMonitorAuditList(baseParam);
Page<MonitorAudit> monitor = monitorAuditService.getAllMonitorAuditList(baseParam);
if (Objects.isNull(monitor)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
} else {
@@ -61,14 +58,14 @@ public class MonitorAuditController extends BaseController {
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/updateStatus")
@ApiOperation("修改台账审核数据状态")
@ApiImplicitParam(name = "monitorParam", value = "修改台账审核数据状态", required = true)
public HttpResult<Boolean> updateStatus(@RequestBody @Validated MonitorStatus.Status monitorParam) {
String methodDescribe = getMethodDescribe("updateStatus");
boolean result = monitorAuditService.updateStatus(monitorParam);
if(result){
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);

View File

@@ -1,4 +1,4 @@
package com.njcn.device.pms.controller.majornetwork;
package com.njcn.device.pms.controller.ledgerManger;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
@@ -36,9 +36,7 @@ public class PmsSummaryStatisticsController extends BaseController {
private final PmsSummaryStatisticsService pmsSummaryStatisticsService;
/**
* 主网台账统计
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getMainnetPoint")
@ApiOperation("主网台账统计")

View File

@@ -1,4 +1,4 @@
package com.njcn.device.pms.controller.majornetwork;
package com.njcn.device.pms.controller.ledgerManger;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -43,18 +43,15 @@ import java.util.Objects;
public class TransformerController extends BaseController {
private final ITransformerService transformerService;
/**
* 分页获取台账审核
* @author wr
* @date 2023-02-20
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getAllTransformerList")
@ApiOperation("分页获取变压器台账")
@ApiImplicitParam(name = "baseParam",required = true)
@ApiImplicitParam(name = "baseParam", required = true)
public HttpResult<Page<Transformer>> getAllTransformerList(@RequestBody MonitorAuditParam baseParam) {
String methodDescribe = getMethodDescribe("getAllTransformerList");
Page<Transformer> monitor= transformerService.getAllTransformerList(baseParam);
Page<Transformer> monitor = transformerService.getAllTransformerList(baseParam);
if (Objects.isNull(monitor)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
} else {
@@ -62,14 +59,14 @@ public class TransformerController extends BaseController {
}
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/updateStatus")
@ApiOperation("修改变压器台账数据状态")
@ApiImplicitParam(name = "monitorParam", value = "修改台账审核数据状态", required = true)
public HttpResult<Boolean> updateStatus(@RequestBody @Validated MonitorStatus.Status monitorParam) {
String methodDescribe = getMethodDescribe("updateStatus");
boolean result = transformerService.updateStatus(monitorParam);
if(result){
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);

View File

@@ -9,7 +9,7 @@ import com.njcn.web.pojo.param.BaseParam;
/**
* <p>
* 台账审核 服务类
* 台账审核服务类
* </p>
*
* @author wr
@@ -19,16 +19,19 @@ public interface IMonitorAuditService extends IService<MonitorAudit> {
/**
* 分页获取台账审核
*
* @param baseParam
* @return
*/
Page<MonitorAudit> getAllMonitorAuditList(MonitorAuditParam baseParam);
/**
*
* @param monitorParam
* @return
*/
/***
*
* @author wr
* @date 2023-02-22 14:58
* @param monitorParam
* @return boolean
*/
boolean updateStatus(MonitorStatus.Status monitorParam);
}

View File

@@ -20,6 +20,7 @@ public interface ITransformerService extends IService<Transformer> {
/**
* 分页获取变压器台账
*
* @param baseParam
* @return
*/
@@ -27,6 +28,7 @@ public interface ITransformerService extends IService<Transformer> {
/**
* 修改变压器台账数据状态
*
* @param monitorParam
* @return
*/

View File

@@ -15,6 +15,7 @@ public interface PmsSummaryStatisticsService {
/**
* 主网台账统计 (区域和监测点,分别同时存在数据结构)
*
* @param param
* @return
*/
@@ -23,12 +24,15 @@ public interface PmsSummaryStatisticsService {
/**
* 主网台账统计(区域和监测点同时存在数据结构)
*
* @param param
* @return
*/
List<PmsSummaryStatisticsVO> getMainnetPoint(PmsSummaryStatisticsParam param);
/**
* 配网台账统计
*
* @param param
* @return
*/

View File

@@ -30,21 +30,21 @@ public class MonitorAuditServiceImpl extends ServiceImpl<MonitorAuditMapper, Mon
public Page<MonitorAudit> getAllMonitorAuditList(MonitorAuditParam baseParam) {
LambdaQueryWrapper<MonitorAudit> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper
.like(StrUtil.isNotBlank(baseParam.getSubmitName()),MonitorAudit::getAuditName,baseParam.getSubmitName())
.eq(StrUtil.isNotBlank(baseParam.getDataType()),MonitorAudit::getDataType,baseParam.getDataType())
.eq(baseParam.getStatus()!=0,MonitorAudit::getStatus,baseParam.getStatus())
.ne(baseParam.getStatus()==0,MonitorAudit::getStatus,baseParam.getStatus())
.like(StrUtil.isNotBlank(baseParam.getSubmitName()), MonitorAudit::getAuditName, baseParam.getSubmitName())
.eq(StrUtil.isNotBlank(baseParam.getDataType()), MonitorAudit::getDataType, baseParam.getDataType())
.eq(baseParam.getStatus() != 0, MonitorAudit::getStatus, baseParam.getStatus())
.ne(baseParam.getStatus() == 0, MonitorAudit::getStatus, baseParam.getStatus())
.ge(StringUtils.isNotBlank(baseParam.getSearchBeginTime()), MonitorAudit::getCreateTime, baseParam.getSearchBeginTime())
.le(StringUtils.isNotBlank(baseParam.getSearchEndTime()), MonitorAudit::getCreateTime, baseParam.getSearchEndTime())
;
return this.page(new Page<>(baseParam.getPageNum(),baseParam.getPageSize()),lambdaQueryWrapper);
return this.page(new Page<>(baseParam.getPageNum(), baseParam.getPageSize()), lambdaQueryWrapper);
}
@Override
public boolean updateStatus(MonitorStatus.Status monitorParam) {
LambdaUpdateWrapper<MonitorAudit> update=new LambdaUpdateWrapper<>();
update.set(MonitorAudit::getStatus,monitorParam.getStatus())
.in(MonitorAudit::getId,monitorParam.getId());
LambdaUpdateWrapper<MonitorAudit> update = new LambdaUpdateWrapper<>();
update.set(MonitorAudit::getStatus, monitorParam.getStatus())
.in(MonitorAudit::getId, monitorParam.getId());
return this.update(update);
}
}

View File

@@ -32,11 +32,11 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
private final DeptFeignClient deptFeignClient;
private final MonitorMapper monitorMapper;
private final IPwMonitorService iPwMonitorService;
private final IPwMonitorService iPwMonitorService;
@Override
public List<PmsSummaryStatisticsVO.SummaryVO> getSeparate(PmsSummaryStatisticsParam param) {
List<PmsSummaryStatisticsVO.SummaryVO> vos=new ArrayList<>();
List<PmsSummaryStatisticsVO.SummaryVO> vos = new ArrayList<>();
//获取当前部门下的子部门
List<DeptDTO> data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData();
@@ -45,11 +45,11 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
//获得部门下面的数据集合
List<Monitor> monitors = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
.in(CollectionUtil.isNotEmpty(deptIds),Monitor::getOrgId, deptIds)
.in(CollectionUtil.isNotEmpty(param.getMonitorTags()),Monitor::getMonitorTag, param.getMonitorTags())
.in(CollectionUtil.isNotEmpty(deptIds), Monitor::getOrgId, deptIds)
.in(CollectionUtil.isNotEmpty(param.getMonitorTags()), Monitor::getMonitorTag, param.getMonitorTags())
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode())
);
if(param.getType().equals(0)){
if (param.getType().equals(0)) {
//根据部门进行分组统计当前部门下有多少监测点
Map<String, List<Monitor>> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
//根据部门统计终端数量(数据去重)
@@ -57,14 +57,14 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new));
Map<String, Long> monitorsTerminalCount = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getOrgId, Collectors.counting()));
deptMap.forEach((key,value)->{
PmsSummaryStatisticsVO.SummaryVO vo=new PmsSummaryStatisticsVO.SummaryVO();
if(monitorsMonitorCount.containsKey(key)){
deptMap.forEach((key, value) -> {
PmsSummaryStatisticsVO.SummaryVO vo = new PmsSummaryStatisticsVO.SummaryVO();
if (monitorsMonitorCount.containsKey(key)) {
vo.setName(value);
vo.setMonitorCount(monitorsMonitorCount.get(key).size());
vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key)));
}else{
} else {
vo.setName(value);
//监测点数量
vo.setMonitorCount(0);
@@ -73,7 +73,7 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
}
vos.add(vo);
});
}else{
} else {
//根据干扰源类型进行分组统计当前部门下有多少监测点
Map<String, List<Monitor>> monitorsMonitorCount = monitors.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag));
//根据部门统计终端数量
@@ -84,15 +84,15 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
Map<String, Long> monitorsNum = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting()));
PmsSummaryStatisticsVO.SummaryVO vo;
for (String monitorTag : param.getMonitorTags()) {
vo=new PmsSummaryStatisticsVO.SummaryVO();
if(monitorsNum.containsKey(monitorTag)){
vo = new PmsSummaryStatisticsVO.SummaryVO();
if (monitorsNum.containsKey(monitorTag)) {
vo.setName(monitorTag);
//监测点数量
vo.setMonitorCount(monitorsMonitorCount.get(monitorTag).size());
//设备数量
vo.setTerminalCount(Math.toIntExact(monitorsNum.get(monitorTag)));
}else{
} else {
vo.setName(monitorTag);
//监测点数量
vo.setMonitorCount(0);
@@ -107,7 +107,7 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
@Override
public List<PmsSummaryStatisticsVO> getMainnetPoint(PmsSummaryStatisticsParam param) {
List<PmsSummaryStatisticsVO> vos=new ArrayList<>();
List<PmsSummaryStatisticsVO> vos = new ArrayList<>();
//获取当前部门下的子部门
List<DeptDTO> data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData();
@@ -130,14 +130,14 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new));
Map<String, Long> monitorsTerminalCount = monitorsCount.stream().collect(Collectors.groupingBy(Monitor::getOrgId, Collectors.counting()));
deptMap.forEach((key,value)->{
PmsSummaryStatisticsVO vo=new PmsSummaryStatisticsVO();
if(monitorsMonitorCount.containsKey(key)){
deptMap.forEach((key, value) -> {
PmsSummaryStatisticsVO vo = new PmsSummaryStatisticsVO();
if (monitorsMonitorCount.containsKey(key)) {
vo.setName(value);
vo.setMonitorCount(monitorsMonitorCount.get(key).size());
vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key)));
//子集
List<PmsSummaryStatisticsVO.SummaryVO> voNodes=new ArrayList<>();
List<PmsSummaryStatisticsVO.SummaryVO> voNodes = new ArrayList<>();
PmsSummaryStatisticsVO.SummaryVO voNode;
//根据干扰源类型分组统计(监测点数量)
Map<String, Long> monitorsNum = monitorsMonitorCount.get(key).stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting()));
@@ -147,17 +147,17 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
new TreeSet<>(Comparator.comparing(o -> o.getOrgId() + ";" + o.getTerminalId()))), ArrayList::new));
//根据部门统计有多少干扰源(设备数量)
Map<String, Long> monitorsNum2 = monitorsCounts.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting()));
Map<String, Long> monitorsNum2 = monitorsCounts.stream().collect(Collectors.groupingBy(Monitor::getMonitorTag, Collectors.counting()));
for (String monitorTag : param.getMonitorTags()) {
voNode=new PmsSummaryStatisticsVO.SummaryVO();
if(monitorsNum.containsKey(monitorTag)){
voNode = new PmsSummaryStatisticsVO.SummaryVO();
if (monitorsNum.containsKey(monitorTag)) {
voNode.setName(monitorTag);
//监测点数量
voNode.setMonitorCount(Math.toIntExact(monitorsNum.get(monitorTag)));
//设备数量
voNode.setTerminalCount(Math.toIntExact(monitorsNum2.get(monitorTag)));
}else{
} else {
voNode.setName(monitorTag);
//监测点数量
voNode.setMonitorCount(0);
@@ -167,14 +167,14 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
voNodes.add(voNode);
}
vo.setStatisticsVOList(voNodes);
}else{
} else {
vo.setName(value);
vo.setMonitorCount(0);
vo.setTerminalCount(0);
List<PmsSummaryStatisticsVO.SummaryVO> voNodes=new ArrayList<>();
List<PmsSummaryStatisticsVO.SummaryVO> voNodes = new ArrayList<>();
PmsSummaryStatisticsVO.SummaryVO voNode;
for (String monitorTag : param.getMonitorTags()) {
voNode=new PmsSummaryStatisticsVO.SummaryVO();
voNode = new PmsSummaryStatisticsVO.SummaryVO();
voNode.setName(monitorTag);
//监测点数量
voNode.setMonitorCount(0);
@@ -192,13 +192,13 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
@Override
public List<PmsSummaryStatisticsVO.SummaryVO> getDistributionPoint(PmsSummaryStatisticsParam.PwSummaryStatisticsParam param) {
List<PmsSummaryStatisticsVO.SummaryVO> vos=new ArrayList<>();
List<PmsSummaryStatisticsVO.SummaryVO> vos = new ArrayList<>();
PwPmsMonitorParam pwParam=new PwPmsMonitorParam();
PwPmsMonitorParam pwParam = new PwPmsMonitorParam();
pwParam.setOrgId(param.getOrgId());
List<PwPmsMonitorDTO> pwSubsetMonitorList = iPwMonitorService.getPwSubsetMonitorList(pwParam);
//获取配网监测点,统计配网有多少监测点
Map<String, List<PwPmsMonitorDTO>> pwMonitor= pwSubsetMonitorList.stream().collect(Collectors.groupingBy(PwPmsMonitorDTO::getOrgId));
Map<String, List<PwPmsMonitorDTO>> pwMonitor = pwSubsetMonitorList.stream().collect(Collectors.groupingBy(PwPmsMonitorDTO::getOrgId));
//获取当前部门下的子部门
List<DeptDTO> data = deptFeignClient.getDepSonDetailByDeptId(param.getOrgId()).getData();
@@ -213,14 +213,14 @@ public class PmsSummaryStatisticsServiceImpl implements PmsSummaryStatisticsServ
.collect(Collectors.groupingBy(PwPmsMonitorDTO::getOrgId, Collectors.counting()));
deptMap.forEach((key,value)->{
PmsSummaryStatisticsVO.SummaryVO vo=new PmsSummaryStatisticsVO.SummaryVO();
if(pwMonitor.containsKey(key)){
deptMap.forEach((key, value) -> {
PmsSummaryStatisticsVO.SummaryVO vo = new PmsSummaryStatisticsVO.SummaryVO();
if (pwMonitor.containsKey(key)) {
vo.setName(value);
vo.setMonitorCount(pwMonitor.get(key).size());
vo.setTerminalCount(Math.toIntExact(monitorsTerminalCount.get(key)));
}else{
} else {
vo.setName(value);
//监测点数量
vo.setMonitorCount(0);

View File

@@ -32,18 +32,18 @@ public class TransformerServiceImpl extends ServiceImpl<TransformerMapper, Trans
public Page<Transformer> getAllTransformerList(MonitorAuditParam baseParam) {
LambdaQueryWrapper<Transformer> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper
.like(StrUtil.isNotBlank(baseParam.getSubmitName()),Transformer::getName,baseParam.getSubmitName())
.eq(baseParam.getStatus()!=null,Transformer::getType,baseParam.getStatus())
.like(StrUtil.isNotBlank(baseParam.getSubmitName()), Transformer::getName, baseParam.getSubmitName())
.eq(baseParam.getStatus() != null, Transformer::getType, baseParam.getStatus())
.eq(Transformer::getStatus, DataStateEnum.ENABLE.getCode())
;
return this.page(new Page<>(baseParam.getPageNum(),baseParam.getPageSize()),lambdaQueryWrapper);
return this.page(new Page<>(baseParam.getPageNum(), baseParam.getPageSize()), lambdaQueryWrapper);
}
@Override
public boolean updateStatus(MonitorStatus.Status monitorParam) {
LambdaUpdateWrapper<Transformer> update=new LambdaUpdateWrapper<>();
update.set(Transformer::getStatus,monitorParam.getStatus())
.in(Transformer::getId,monitorParam.getId());
LambdaUpdateWrapper<Transformer> update = new LambdaUpdateWrapper<>();
update.set(Transformer::getStatus, monitorParam.getStatus())
.in(Transformer::getId, monitorParam.getId());
return this.update(update);
}
}

View File

@@ -6,8 +6,10 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.vo.EventDistributionStatisticsTableVO;
import com.njcn.event.pojo.vo.EventFeatureAmplitudeCurveVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import com.njcn.event.pojo.vo.SimpleVO;
import com.njcn.event.service.distribution.PwEventCategoryDetailsService;
import com.njcn.web.controller.BaseController;
@@ -99,4 +101,20 @@ public class PwEventCategoryDetailsController extends BaseController {
EventFeatureAmplitudeCurveVO vo = pwEventCategoryDetailsService.getPwEventFeatureAmplitudeCurve(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
}
/**
* 获取变电站暂态指标分类统计表
*
* @param param 前端传入参数
* @return 变电站暂态指标分类统计表
*/
@PostMapping("/getPwRStatSubstation")
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@ApiOperation("获取变电站暂态指标分类统计表")
@ApiImplicitParam(name = "param", value = "条件参数", required = true)
public HttpResult<List<RStatSubstationVO>> getRStatSubstation(@RequestBody UniversalFrontEndParam param) {
String methodDescribe = getMethodDescribe("getRStatSubstation");
List<RStatSubstationVO> list = pwEventCategoryDetailsService.getRStatSubstation(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -3,21 +3,33 @@ package com.njcn.event.service.distribution.Impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.api.StatationStatClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.device.pms.pojo.po.StatationStat;
import com.njcn.event.mapper.distribution.PwEventCategoryDetailsMapper;
import com.njcn.event.mapper.majornetwork.RStatSubstationMapper;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.po.EventDistributionStatisticsPO;
import com.njcn.event.pojo.po.EventDurationLineChartPO;
import com.njcn.event.pojo.po.EventFeatureAmplitudeLineChartPO;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.EventDistributionStatisticsTableVO;
import com.njcn.event.pojo.vo.EventFeatureAmplitudeCurveVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import com.njcn.event.pojo.vo.SimpleVO;
import com.njcn.event.service.distribution.PwEventCategoryDetailsService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
@@ -27,6 +39,8 @@ import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -41,8 +55,10 @@ import java.util.stream.Collectors;
public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetailsService {
private final PwMonitorClient pwMonitorClient;
private final PwEventCategoryDetailsMapper pwEventCategoryDetailsMapper;
private final RStatSubstationMapper rStatSubstationMapper;
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
private final StatationStatClient statationStatClient;
/**
* 获取配网暂态事件分布统计
@@ -338,6 +354,67 @@ public class PwEventCategoryDetailsServiceImpl implements PwEventCategoryDetails
return EventFeatureAmplitudeCurveVO.buildVO(rmpEventDetailList.size(), curveDataList);
}
@Override
public List<RStatSubstationVO> getRStatSubstation(UniversalFrontEndParam param) {
//远程调用监测点信息接口
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
pms.setDeptIndex(param.getId());
pms.setStatisticalType(new SimpleDTO());
//获取配网台账信息(根据台账信息获取,变电站的集合包括所有的子集变电站)
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPwPmsDeviceInfoWithOrgId(pms).getData();
List<String> ids = new ArrayList<>();
data.stream().forEach(e -> ids.addAll(e.getPowerrIdList()));
// 查询变电站信息
PmsStatationStatInfoParam pmsStatationStatInfoParam = new PmsStatationStatInfoParam();
pmsStatationStatInfoParam.setPowerIds(ids);
if (!StringUtils.isEmpty(param.getSubName())) {
pmsStatationStatInfoParam.setPowerName(param.getSubName());
}
List<StatationStat> powerInfo = statationStatClient.getPowerInfo(pmsStatationStatInfoParam).getData();
if (CollUtil.isEmpty(powerInfo)) {
return Collections.emptyList();
}
// 取出变电站id
List<String> powerIds = powerInfo.stream().map(StatationStat::getPowerId).collect(Collectors.toList());
//创建返回集合
List<RStatSubstationVO> result = new ArrayList<>();
// 类型1年 2季度 3月份 4日
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年变电站暂态指标分类统计表
result = rStatSubstationMapper.getYearInfo(powerIds, param.getStartTime(), param.getEndTime());
break;
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季变电站暂态指标分类统计表
result = rStatSubstationMapper.getQuarterInfo(powerIds, param.getStartTime(), param.getEndTime());
break;
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月变电站暂态指标分类统计表
result = rStatSubstationMapper.getMonthInfo(powerIds, param.getStartTime(), param.getEndTime());
break;
default:
break;
}
if (CollUtil.isEmpty(result)) {
return Collections.emptyList();
}
// 将变电站信息根据变电站id转换成map集合(当出现重复数据,用第二条)
Map<String, StatationStat> powerMap = powerInfo.stream().collect(
Collectors.toMap(StatationStat::getPowerId, Function.identity(), (key1, key2) -> key2));
// 属性赋值(获取部门名称,变电站名称)
return result.stream().peek(vo -> {
String substationId = vo.getSubstationId();
vo.setDeptId(powerMap.get(substationId).getOrgId());
vo.setSubstationName(powerMap.get(substationId).getPowerName());
vo.setDeptName(powerMap.get(substationId).getOrgName());
}).collect(Collectors.toList());
}
/**
* 获取单位id
*

View File

@@ -1,8 +1,10 @@
package com.njcn.event.service.distribution;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.event.pojo.param.UniversalFrontEndParam;
import com.njcn.event.pojo.vo.EventDistributionStatisticsTableVO;
import com.njcn.event.pojo.vo.EventFeatureAmplitudeCurveVO;
import com.njcn.event.pojo.vo.RStatSubstationVO;
import com.njcn.event.pojo.vo.SimpleVO;
import java.util.List;
@@ -52,4 +54,12 @@ public interface PwEventCategoryDetailsService {
* @date 2022/10/31
*/
EventFeatureAmplitudeCurveVO getPwEventFeatureAmplitudeCurve(StatisticsBizBaseParam param);
/**
* 获取变电站暂态指标分类统计表
*
* @param param 前端传入参数
* @return 变电站暂态指标分类统计表
*/
List<RStatSubstationVO> getRStatSubstation(UniversalFrontEndParam param);
}

View File

@@ -66,4 +66,13 @@ public class RMpBenchmarkLevelM implements Serializable {
*/
private Double flickerSd;
/**
* 暂降次数水平均值
*/
private Double eventAvg;
/**
* 暂降次数水平标准差
*/
private Double eventSd;
}

View File

@@ -67,4 +67,13 @@ public class RMpBenchmarkLevelQ implements Serializable {
*/
private Double flickerSd;
/**
* 暂降次数水平均值
*/
private Double eventAvg;
/**
* 暂降次数水平标准差
*/
private Double eventSd;
}

View File

@@ -66,4 +66,14 @@ public class RMpBenchmarkLevelY implements Serializable {
*/
private Double flickerSd;
/**
* 暂降次数水平均值
*/
private Double eventAvg;
/**
* 暂降次数水平标准差
*/
private Double eventSd;
}

View File

@@ -68,4 +68,10 @@ public class RMpBenchmarkLevelVO implements Serializable {
@ApiModelProperty(name = "flickerSd", value = "长时间闪变水平标准差")
private Double flickerSd;
@ApiModelProperty(name = "eventAvg", value = "暂降次数水平均值")
private Double eventAvg;
@ApiModelProperty(name = "eventSd", value = "暂降次数水平标准差")
private Double eventSd;
}

View File

@@ -131,5 +131,21 @@ public class PwRStatOrgController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe);
}
/**
* 变电站稳态指标超标分类统计表
*
* @param param
* @return
*/
@PostMapping("/getPwRStatSubstationOrg")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("变电站稳态指标超标分类统计表")
public HttpResult<List<RSubstationIcon2VO.RSubstationInfoVO>> getRStatSubstationOrg(@RequestBody StatSubstationBizBaseParam param
) {
String methodDescribe = getMethodDescribe("getRStatSubstationOrg");
List<RSubstationIcon2VO.RSubstationInfoVO> rStatOrg = pwRStatOrgService.getRStatSubstation(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe);
}
}

View File

@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.param.RStatOrgParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatOrgQ;
import com.njcn.harmonic.pojo.vo.PwRStatOrgVO;
import com.njcn.harmonic.pojo.vo.RMpPartHarmonicDetailVO;
import com.njcn.harmonic.pojo.vo.RStatOrgVO;
import com.njcn.harmonic.pojo.vo.RStatSubstationOrg2VO;
import com.njcn.harmonic.pojo.vo.*;
import java.util.List;
@@ -60,4 +57,13 @@ public interface PwRStatOrgService extends IService<RStatOrgQ> {
* @return
*/
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param);
/**
* 变电站稳态指标超标分类统计表
*
* @param param
* @return
*/
List<RSubstationIcon2VO.RSubstationInfoVO> getRStatSubstation(StatSubstationBizBaseParam param);
}

View File

@@ -1,11 +1,19 @@
package com.njcn.harmonic.service.distribution.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.dto.SimpleDTO;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.harmonic.mapper.distribution.PwRStatOrgMapper;
import com.njcn.harmonic.mapper.majornetwork.*;
@@ -55,7 +63,11 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
private final RMpPassRateMMapper rMpPassRateMMapper;
private final RMpSurplusHarmonicDetailMMapper rMpSurplusHarmonicDetailMMapper;
private final DeptFeignClient deptFeignClient;
private final RStatSubstationMMapper rStatSubstationMMapper;
private final RStatSubstationQMapper rStatSubstationQMapper;
private final RStatSubstationYMapper rStatSubstationYMapper;
private final MonitorClient monitorClient;
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
@Override
public List<RStatOrgVO.PwRStatOrgVO> getRStatHarmonicAll(StatSubstationBizBaseParam param) {
@@ -436,4 +448,77 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
}
return Lists.newArrayList();
}
@Override
public List<RSubstationIcon2VO.RSubstationInfoVO> getRStatSubstation(StatSubstationBizBaseParam param) {
//远程调用监测点信息接口
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
pms.setDeptIndex(param.getId());
pms.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPwPmsDeviceInfoWithOrgId(pms).getData();
//生成变电站id集合
List<String> pAddIds = new ArrayList<>();
data.stream().forEach(e -> pAddIds.addAll(e.getPowerrIdList()));
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
//根据监测点id获取变电站信息
PmsMonitorParam dto = new PmsMonitorParam();
List<String> mAddIds = new ArrayList<>();
data.stream().forEach(e -> mAddIds.addAll(e.getMonitorIdList()));
dto.setMonitorIds(mAddIds);
//变电站id
dto.setPowerrIds(param.getIds());
//根据变电站分组
List<PmsMonitorDTO> pmsMonitorDTOS = monitorClient.getMonitorInfoListByCond(dto).getData();
//用于临时存储TestValue的getPowerrId(解决去重失效问题)
List<String> infoIds = new ArrayList<>();
Map<String, PmsMonitorDTO> pmsMonitorDTOMap = pmsMonitorDTOS.stream().filter(
v -> {
if (infoIds.contains(v.getPowerrId())) {
return false;
} else {
infoIds.add(v.getPowerrId());
return true;
}
}).collect(Collectors.toMap(PmsMonitorDTO::getPowerrId, Function.identity()));
if (CollUtil.isNotEmpty(pmsMonitorDTOS)) {
//获取最新过滤的变电站id
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getPowerrId).collect(Collectors.toList());
//根据id进行筛选
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(ids);
String string = param.getType().toString();
switch (string) {
//查询变电站稳态指标平均超标天数-年数据
case BizParamConstant.STAT_BIZ_YEAR:
rSubstationIconVO = rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam);
break;
//查询变电站稳态指标平均超标天数-季数据
case BizParamConstant.STAT_BIZ_QUARTER:
rSubstationIconVO = rStatSubstationQMapper.getStatSubstationIcon2Q(baseParam);
break;
//查询变电站稳态指标平均超标天数-月数据
case BizParamConstant.STAT_BIZ_MONTH:
rSubstationIconVO = rStatSubstationMMapper.getStatSubstationIcon2M(baseParam);
break;
default:
break;
}
List<RSubstationIcon2VO.RSubstationInfoVO> rSubstationInfoVOS = BeanUtil.copyToList(rSubstationIconVO, RSubstationIcon2VO.RSubstationInfoVO.class);
if (CollectionUtil.isNotEmpty(rSubstationInfoVOS)) {
Map<String, RSubstationIcon2VO.RSubstationInfoVO> detailVOMap = rSubstationInfoVOS.stream()
.collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId, Function.identity()));
detailVOMap.forEach((Key, value) -> {
if (pmsMonitorDTOMap.containsKey(Key)) {
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
value.setCityName(dto1.getOrgName());
value.setSubstationName(dto1.getPowerrName());
}
});
}
return rSubstationInfoVOS;
}
return new ArrayList<>();
}
}

View File

@@ -304,6 +304,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
List<String> mAddIds = new ArrayList<>();
data.stream().forEach(e -> mAddIds.addAll(e.getMonitorIdList()));
dto.setMonitorIds(mAddIds);
//变电站id
dto.setPowerrIds(param.getIds());
//根据变电站分组
List<PmsMonitorDTO> pmsMonitorDTOS = monitorClient.getMonitorInfoListByCond(dto).getData();
@@ -357,7 +358,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
}
return rSubstationInfoVOS;
}
return null;
return new ArrayList<>();
}
@Override