1.pms3.0稳态指标和暂态指标中部分部门排序
This commit is contained in:
@@ -49,6 +49,9 @@ public class RStatEventMVO {
|
||||
@ApiModelProperty(value = "单位名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty("排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "指标类型")
|
||||
private String eventType;
|
||||
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 <= #{param.endTime}
|
||||
</if>
|
||||
</where>
|
||||
|
||||
GROUP BY
|
||||
org_no,monitoring_object
|
||||
org_no,measurement_type_class
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -24,6 +24,9 @@ public class RStatOrgIndexVO {
|
||||
@ApiModelProperty(value = "单位名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty(value = "单位排序")
|
||||
private Integer sort;
|
||||
|
||||
@ApiModelProperty(value = "监测点ID")
|
||||
private String measurementPointId;
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user