1.pms3.0稳态指标和暂态指标中部分部门排序

This commit is contained in:
wr
2024-02-02 10:23:10 +08:00
parent e8e0572485
commit a5119bbec0
11 changed files with 59 additions and 32 deletions

View File

@@ -49,6 +49,9 @@ public class RStatEventMVO {
@ApiModelProperty(value = "单位名称")
private String orgName;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty(value = "指标类型")
private String eventType;

View File

@@ -2,6 +2,7 @@ package com.njcn.event.pojo.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import java.io.Serializable;
@@ -30,6 +31,8 @@ public class RStatSubstationVO implements Serializable {
@ApiModelProperty(name = "deptName",value = "单位名称")
private String deptName;
@ApiModelProperty(value = "单位排序")
private Integer sort;
/**
* 变电站id
*/

View File

@@ -18,10 +18,7 @@ import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -104,7 +101,7 @@ public class RStatEventController extends BaseController {
@PostMapping("/getEventBenchmarkLevelList")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("区域暂态电能质量水平评估")
public HttpResult<List<RStatEventMVO.Vo>> getEventBenchmarkLevelList(StatSubstationBizBaseParam param) {
public HttpResult<List<RStatEventMVO.Vo>> getEventBenchmarkLevelList(@RequestBody StatSubstationBizBaseParam param) {
String methodDescribe = getMethodDescribe("getEventBenchmarkLevelList");
List<RStatEventMVO.Vo> eventBenchmarkLevelList = rStatEventYService.getEventBenchmarkLevelList(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventBenchmarkLevelList, methodDescribe);

View File

@@ -50,7 +50,7 @@
<select id="selectEventBenchmarkLevel" resultType="com.njcn.event.pojo.vo.RStatEventMVO$Vo">
SELECT
org_no as orgId,
measurement_type_class,
measurement_type_class as eventType,
SUM(IF(`event_type`=#{map.dip},event_count,0)) as eventCount,
SUM(IF(`event_type`=#{map.rise},event_count,0)) as riseCount,
SUM(IF(`event_type`=#{map.interrupt},event_count,0)) as interruptCount
@@ -84,9 +84,8 @@
AND data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY
org_no,monitoring_object
org_no,measurement_type_class
</select>
</mapper>

View File

@@ -230,12 +230,17 @@ public class RStatEventYServiceImpl extends ServiceImpl<RStatEventYMapper, RStat
});
//数据分页查询
List<RStatEventMVO.Vo> vos = this.baseMapper.selectEventBenchmarkLevel(ids, param, map, data.getId());
Map<String, String> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName));
if(CollUtil.isNotEmpty(vos)){
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
vos.forEach(vo -> {
if (deptDTOMap.containsKey(vo.getOrgId())) {
vo.setOrgName(deptDTOMap.get(vo.getOrgId()));
DeptDTO deptDTO = deptDTOMap.get(vo.getOrgId());
vo.setOrgName(deptDTO.getName());
vo.setSort(deptDTO.getSort());
}
});
vos.sort(Comparator.comparing(RStatEventMVO.Vo::getSort).reversed());
}
return vos;
}

View File

@@ -2,6 +2,7 @@ package com.njcn.event.service.majornetwork.Impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.NumberUtil;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
@@ -29,6 +30,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -106,14 +108,18 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
}
for (RStatOrgVO rStatOrgVO : result) {
if(rStatOrgVO.getEventMeasurementAverage()!=0&&rStatOrgVO.getEffectiveMeasurementAverage()!=0){
rStatOrgVO.setEventMeasurementRatioAverage(String.valueOf(Double.parseDouble(
df.format(((rStatOrgVO.getEventMeasurementAverage() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100))));
double v = Double.parseDouble(
df.format(((rStatOrgVO.getEventMeasurementAverage() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100));
BigDecimal round = NumberUtil.round(v, 2);
rStatOrgVO.setEventMeasurementRatioAverage(round.toString());
}else{
rStatOrgVO.setEventMeasurementRatioAverage("0");
}
if(rStatOrgVO.getEventMeasurementAccrued()!=0&&rStatOrgVO.getEffectiveMeasurementAccrued()!=0){
rStatOrgVO.setEventMeasurementRatioAccrued(String.valueOf(Double.parseDouble(
df.format(((rStatOrgVO.getEventMeasurementAccrued() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100))));
double v = Double.parseDouble(
df.format(((rStatOrgVO.getEventMeasurementAccrued() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100));
BigDecimal round = NumberUtil.round(v, 2);
rStatOrgVO.setEventMeasurementRatioAccrued(round.toString());
}else{
rStatOrgVO.setEventMeasurementRatioAccrued("0");
}
@@ -124,7 +130,7 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
return result.stream().peek(vo -> {
vo.setOrgName(deptDTOMap.get(vo.getOrgNo()).getName());
vo.setSort(deptDTOMap.get(vo.getOrgNo()).getSort());
}).sorted(Comparator.comparing(RStatOrgVO::getSort)).collect(Collectors.toList());
}).sorted(Comparator.comparing(RStatOrgVO::getSort).reversed()).collect(Collectors.toList());
}
@@ -252,8 +258,7 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
* @return 变电站暂态指标分类统计表
*/
@Override
public List<RStatSubstationVO> getRStatSubstation
(UniversalFrontEndParam param) {
public List<RStatSubstationVO> getRStatSubstation(UniversalFrontEndParam param) {
//获取所有子部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
if (CollectionUtil.isEmpty(deptDTOList)) {
@@ -304,18 +309,24 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
// 将变电站信息根据变电站id转换成map集合
Map<String, StatationStat> powerMap = powerInfo.stream().collect(Collectors.toMap(StatationStat::getPowerId, StatationStat -> StatationStat));
// 属性赋值
return result.stream().peek(vo -> {
List<RStatSubstationVO> collect = result.stream().peek(vo -> {
String substationId = vo.getSubstationId();
vo.setDeptId(powerMap.get(substationId).getOrgId());
vo.setSubstationName(powerMap.get(substationId).getPowerName());
String deptId = vo.getDeptId();
for (DeptDTO deptDTO : deptDTOList) {
if (deptId.equals(deptDTO.getCode())){
if (deptId.equals(deptDTO.getCode())) {
vo.setDeptName(deptDTO.getName());
vo.setSort(deptDTO.getSort());
}
}
}).collect(Collectors.toList());
if (CollUtil.isEmpty(collect)){
collect.sort(Comparator.comparing(RStatSubstationVO::getSort).reversed());
}
return collect;
}
/**
* 获取主网的id

View File

@@ -24,6 +24,9 @@ public class RStatOrgIndexVO {
@ApiModelProperty(value = "单位名称")
private String orgName;
@ApiModelProperty(value = "单位排序")
private Integer sort;
@ApiModelProperty(value = "监测点ID")
private String measurementPointId;

View File

@@ -151,9 +151,9 @@
select
org_no,
sum(effective_measurement_accrued) as allCount,
avg(freq_pass_rate) freq_pass_rate,
avg(v_dev_pass_rate) v_dev_pass_rate,
avg(flicker_pass_rate) flicker_pass_rate
TRUNCATE(avg(freq_pass_rate),2) freq_pass_rate,
TRUNCATE(avg(v_dev_pass_rate),2) v_dev_pass_rate,
TRUNCATE(avg(flicker_pass_rate),2) flicker_pass_rate
from
r_stat_org_m rso
<where>

View File

@@ -150,9 +150,9 @@
select
org_no,
sum(effective_measurement_accrued) as allCount,
avg(freq_pass_rate) freq_pass_rate,
avg(v_dev_pass_rate) v_dev_pass_rate,
avg(flicker_pass_rate) flicker_pass_rate
TRUNCATE(avg(freq_pass_rate),2) freq_pass_rate,
TRUNCATE(avg(v_dev_pass_rate),2) v_dev_pass_rate,
TRUNCATE(avg(flicker_pass_rate),2) flicker_pass_rate
from
r_stat_org_q rso
<where>

View File

@@ -151,9 +151,9 @@
select
org_no,
sum(effective_measurement_accrued) as allCount,
avg(freq_pass_rate) freq_pass_rate,
avg(v_dev_pass_rate) v_dev_pass_rate,
avg(flicker_pass_rate) flicker_pass_rate
TRUNCATE(avg(freq_pass_rate),2) freq_pass_rate,
TRUNCATE(avg(v_dev_pass_rate),2) v_dev_pass_rate,
TRUNCATE( avg(flicker_pass_rate),2) flicker_pass_rate
from
r_stat_org_y rso
<where>

View File

@@ -39,6 +39,7 @@ import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@@ -368,6 +369,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
value.setSubstationName(dto1.getPowerrName());
}
});
rSubstationInfoVOS.sort(Comparator.comparing(x->x.getCityName()+";"+x.getSubstationName()));
}
return rSubstationInfoVOS;
}
@@ -412,9 +414,13 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
for (RStatOrgIndexVO vo : info) {
if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
vo.setSort(dto.getSort());
}
}
}
if(CollUtil.isNotEmpty(info)){
info.sort(Comparator.comparing(RStatOrgIndexVO::getSort).reversed());
}
return info;
}