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,11 +42,8 @@ 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("分页获取台账审核")

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,11 +43,8 @@ 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("分页获取变压器台账")

View File

@@ -19,15 +19,18 @@ public interface IMonitorAuditService extends IService<MonitorAudit> {
/**
* 分页获取台账审核
*
* @param baseParam
* @return
*/
Page<MonitorAudit> getAllMonitorAuditList(MonitorAuditParam baseParam);
/**
/***
*
* @author wr
* @date 2023-02-22 14:58
* @param monitorParam
* @return
* @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

@@ -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