1.pms3.0稳态指标和暂态指标中部分部门排序
This commit is contained in:
@@ -49,6 +49,9 @@ public class RStatEventMVO {
|
|||||||
@ApiModelProperty(value = "单位名称")
|
@ApiModelProperty(value = "单位名称")
|
||||||
private String orgName;
|
private String orgName;
|
||||||
|
|
||||||
|
@ApiModelProperty("排序")
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
@ApiModelProperty(value = "指标类型")
|
@ApiModelProperty(value = "指标类型")
|
||||||
private String eventType;
|
private String eventType;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.event.pojo.vo;
|
|||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -30,6 +31,8 @@ public class RStatSubstationVO implements Serializable {
|
|||||||
@ApiModelProperty(name = "deptName",value = "单位名称")
|
@ApiModelProperty(name = "deptName",value = "单位名称")
|
||||||
private String deptName;
|
private String deptName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位排序")
|
||||||
|
private Integer sort;
|
||||||
/**
|
/**
|
||||||
* 变电站id
|
* 变电站id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -18,10 +18,7 @@ import com.njcn.web.controller.BaseController;
|
|||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -104,7 +101,7 @@ public class RStatEventController extends BaseController {
|
|||||||
@PostMapping("/getEventBenchmarkLevelList")
|
@PostMapping("/getEventBenchmarkLevelList")
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@ApiOperation("区域暂态电能质量水平评估")
|
@ApiOperation("区域暂态电能质量水平评估")
|
||||||
public HttpResult<List<RStatEventMVO.Vo>> getEventBenchmarkLevelList(StatSubstationBizBaseParam param) {
|
public HttpResult<List<RStatEventMVO.Vo>> getEventBenchmarkLevelList(@RequestBody StatSubstationBizBaseParam param) {
|
||||||
String methodDescribe = getMethodDescribe("getEventBenchmarkLevelList");
|
String methodDescribe = getMethodDescribe("getEventBenchmarkLevelList");
|
||||||
List<RStatEventMVO.Vo> eventBenchmarkLevelList = rStatEventYService.getEventBenchmarkLevelList(param);
|
List<RStatEventMVO.Vo> eventBenchmarkLevelList = rStatEventYService.getEventBenchmarkLevelList(param);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventBenchmarkLevelList, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventBenchmarkLevelList, methodDescribe);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
<select id="selectEventBenchmarkLevel" resultType="com.njcn.event.pojo.vo.RStatEventMVO$Vo">
|
<select id="selectEventBenchmarkLevel" resultType="com.njcn.event.pojo.vo.RStatEventMVO$Vo">
|
||||||
SELECT
|
SELECT
|
||||||
org_no as orgId,
|
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.dip},event_count,0)) as eventCount,
|
||||||
SUM(IF(`event_type`=#{map.rise},event_count,0)) as riseCount,
|
SUM(IF(`event_type`=#{map.rise},event_count,0)) as riseCount,
|
||||||
SUM(IF(`event_type`=#{map.interrupt},event_count,0)) as interruptCount
|
SUM(IF(`event_type`=#{map.interrupt},event_count,0)) as interruptCount
|
||||||
@@ -84,9 +84,8 @@
|
|||||||
AND data_date <= #{param.endTime}
|
AND data_date <= #{param.endTime}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
GROUP BY
|
GROUP BY
|
||||||
org_no,monitoring_object
|
org_no,measurement_type_class
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -230,12 +230,17 @@ public class RStatEventYServiceImpl extends ServiceImpl<RStatEventYMapper, RStat
|
|||||||
});
|
});
|
||||||
//数据分页查询
|
//数据分页查询
|
||||||
List<RStatEventMVO.Vo> vos = this.baseMapper.selectEventBenchmarkLevel(ids, param, map, data.getId());
|
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 -> {
|
vos.forEach(vo -> {
|
||||||
if (deptDTOMap.containsKey(vo.getOrgId())) {
|
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;
|
return vos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.event.service.majornetwork.Impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||||
import com.njcn.device.pms.api.MonitorClient;
|
import com.njcn.device.pms.api.MonitorClient;
|
||||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||||
@@ -29,6 +30,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -106,14 +108,18 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
|
|||||||
}
|
}
|
||||||
for (RStatOrgVO rStatOrgVO : result) {
|
for (RStatOrgVO rStatOrgVO : result) {
|
||||||
if(rStatOrgVO.getEventMeasurementAverage()!=0&&rStatOrgVO.getEffectiveMeasurementAverage()!=0){
|
if(rStatOrgVO.getEventMeasurementAverage()!=0&&rStatOrgVO.getEffectiveMeasurementAverage()!=0){
|
||||||
rStatOrgVO.setEventMeasurementRatioAverage(String.valueOf(Double.parseDouble(
|
double v = Double.parseDouble(
|
||||||
df.format(((rStatOrgVO.getEventMeasurementAverage() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100))));
|
df.format(((rStatOrgVO.getEventMeasurementAverage() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100));
|
||||||
|
BigDecimal round = NumberUtil.round(v, 2);
|
||||||
|
rStatOrgVO.setEventMeasurementRatioAverage(round.toString());
|
||||||
}else{
|
}else{
|
||||||
rStatOrgVO.setEventMeasurementRatioAverage("0");
|
rStatOrgVO.setEventMeasurementRatioAverage("0");
|
||||||
}
|
}
|
||||||
if(rStatOrgVO.getEventMeasurementAccrued()!=0&&rStatOrgVO.getEffectiveMeasurementAccrued()!=0){
|
if(rStatOrgVO.getEventMeasurementAccrued()!=0&&rStatOrgVO.getEffectiveMeasurementAccrued()!=0){
|
||||||
rStatOrgVO.setEventMeasurementRatioAccrued(String.valueOf(Double.parseDouble(
|
double v = Double.parseDouble(
|
||||||
df.format(((rStatOrgVO.getEventMeasurementAccrued() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100))));
|
df.format(((rStatOrgVO.getEventMeasurementAccrued() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100));
|
||||||
|
BigDecimal round = NumberUtil.round(v, 2);
|
||||||
|
rStatOrgVO.setEventMeasurementRatioAccrued(round.toString());
|
||||||
}else{
|
}else{
|
||||||
rStatOrgVO.setEventMeasurementRatioAccrued("0");
|
rStatOrgVO.setEventMeasurementRatioAccrued("0");
|
||||||
}
|
}
|
||||||
@@ -124,7 +130,7 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
|
|||||||
return result.stream().peek(vo -> {
|
return result.stream().peek(vo -> {
|
||||||
vo.setOrgName(deptDTOMap.get(vo.getOrgNo()).getName());
|
vo.setOrgName(deptDTOMap.get(vo.getOrgNo()).getName());
|
||||||
vo.setSort(deptDTOMap.get(vo.getOrgNo()).getSort());
|
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 变电站暂态指标分类统计表
|
* @return 变电站暂态指标分类统计表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<RStatSubstationVO> getRStatSubstation
|
public List<RStatSubstationVO> getRStatSubstation(UniversalFrontEndParam param) {
|
||||||
(UniversalFrontEndParam param) {
|
|
||||||
//获取所有子部门信息
|
//获取所有子部门信息
|
||||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||||
if (CollectionUtil.isEmpty(deptDTOList)) {
|
if (CollectionUtil.isEmpty(deptDTOList)) {
|
||||||
@@ -304,18 +309,24 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
|
|||||||
// 将变电站信息根据变电站id转换成map集合
|
// 将变电站信息根据变电站id转换成map集合
|
||||||
Map<String, StatationStat> powerMap = powerInfo.stream().collect(Collectors.toMap(StatationStat::getPowerId, StatationStat -> StatationStat));
|
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();
|
String substationId = vo.getSubstationId();
|
||||||
vo.setDeptId(powerMap.get(substationId).getOrgId());
|
vo.setDeptId(powerMap.get(substationId).getOrgId());
|
||||||
vo.setSubstationName(powerMap.get(substationId).getPowerName());
|
vo.setSubstationName(powerMap.get(substationId).getPowerName());
|
||||||
String deptId = vo.getDeptId();
|
String deptId = vo.getDeptId();
|
||||||
for (DeptDTO deptDTO : deptDTOList) {
|
for (DeptDTO deptDTO : deptDTOList) {
|
||||||
if (deptId.equals(deptDTO.getCode())){
|
if (deptId.equals(deptDTO.getCode())) {
|
||||||
vo.setDeptName(deptDTO.getName());
|
vo.setDeptName(deptDTO.getName());
|
||||||
|
vo.setSort(deptDTO.getSort());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isEmpty(collect)){
|
||||||
|
collect.sort(Comparator.comparing(RStatSubstationVO::getSort).reversed());
|
||||||
}
|
}
|
||||||
|
return collect;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取主网的id
|
* 获取主网的id
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ public class RStatOrgIndexVO {
|
|||||||
@ApiModelProperty(value = "单位名称")
|
@ApiModelProperty(value = "单位名称")
|
||||||
private String orgName;
|
private String orgName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "单位排序")
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
@ApiModelProperty(value = "监测点ID")
|
@ApiModelProperty(value = "监测点ID")
|
||||||
private String measurementPointId;
|
private String measurementPointId;
|
||||||
|
|
||||||
|
|||||||
@@ -151,9 +151,9 @@
|
|||||||
select
|
select
|
||||||
org_no,
|
org_no,
|
||||||
sum(effective_measurement_accrued) as allCount,
|
sum(effective_measurement_accrued) as allCount,
|
||||||
avg(freq_pass_rate) freq_pass_rate,
|
TRUNCATE(avg(freq_pass_rate),2) freq_pass_rate,
|
||||||
avg(v_dev_pass_rate) v_dev_pass_rate,
|
TRUNCATE(avg(v_dev_pass_rate),2) v_dev_pass_rate,
|
||||||
avg(flicker_pass_rate) flicker_pass_rate
|
TRUNCATE(avg(flicker_pass_rate),2) flicker_pass_rate
|
||||||
from
|
from
|
||||||
r_stat_org_m rso
|
r_stat_org_m rso
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
@@ -150,9 +150,9 @@
|
|||||||
select
|
select
|
||||||
org_no,
|
org_no,
|
||||||
sum(effective_measurement_accrued) as allCount,
|
sum(effective_measurement_accrued) as allCount,
|
||||||
avg(freq_pass_rate) freq_pass_rate,
|
TRUNCATE(avg(freq_pass_rate),2) freq_pass_rate,
|
||||||
avg(v_dev_pass_rate) v_dev_pass_rate,
|
TRUNCATE(avg(v_dev_pass_rate),2) v_dev_pass_rate,
|
||||||
avg(flicker_pass_rate) flicker_pass_rate
|
TRUNCATE(avg(flicker_pass_rate),2) flicker_pass_rate
|
||||||
from
|
from
|
||||||
r_stat_org_q rso
|
r_stat_org_q rso
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
@@ -151,9 +151,9 @@
|
|||||||
select
|
select
|
||||||
org_no,
|
org_no,
|
||||||
sum(effective_measurement_accrued) as allCount,
|
sum(effective_measurement_accrued) as allCount,
|
||||||
avg(freq_pass_rate) freq_pass_rate,
|
TRUNCATE(avg(freq_pass_rate),2) freq_pass_rate,
|
||||||
avg(v_dev_pass_rate) v_dev_pass_rate,
|
TRUNCATE(avg(v_dev_pass_rate),2) v_dev_pass_rate,
|
||||||
avg(flicker_pass_rate) flicker_pass_rate
|
TRUNCATE( avg(flicker_pass_rate),2) flicker_pass_rate
|
||||||
from
|
from
|
||||||
r_stat_org_y rso
|
r_stat_org_y rso
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@@ -368,6 +369,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
|||||||
value.setSubstationName(dto1.getPowerrName());
|
value.setSubstationName(dto1.getPowerrName());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
rSubstationInfoVOS.sort(Comparator.comparing(x->x.getCityName()+";"+x.getSubstationName()));
|
||||||
}
|
}
|
||||||
return rSubstationInfoVOS;
|
return rSubstationInfoVOS;
|
||||||
}
|
}
|
||||||
@@ -412,9 +414,13 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
|||||||
for (RStatOrgIndexVO vo : info) {
|
for (RStatOrgIndexVO vo : info) {
|
||||||
if (dto.getCode().equals(vo.getOrgNo())) {
|
if (dto.getCode().equals(vo.getOrgNo())) {
|
||||||
vo.setOrgName(dto.getName());
|
vo.setOrgName(dto.getName());
|
||||||
|
vo.setSort(dto.getSort());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(CollUtil.isNotEmpty(info)){
|
||||||
|
info.sort(Comparator.comparing(RStatOrgIndexVO::getSort).reversed());
|
||||||
|
}
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user