1.bug修改
This commit is contained in:
@@ -25,13 +25,11 @@ import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.web.utils.WebUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -84,7 +82,6 @@ implements RStatZwAlarmCountWService {
|
||||
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
//将单位信息转为map集合 key: 单位id value: 单位实体
|
||||
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
|
||||
|
||||
LambdaQueryWrapper<RStatZwAlarmCountW> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RStatZwAlarmCountW::getOrgNo, orgCodeList)
|
||||
@@ -99,28 +96,31 @@ implements RStatZwAlarmCountWService {
|
||||
BeanUtils.copyProperties(item, rStatZwAlarmCountWVO);
|
||||
//单位名称
|
||||
rStatZwAlarmCountWVO.setOrgName(deptDTOMap.get(rStatZwAlarmCountWVO.getOrgNo()).getName());
|
||||
// DecimalFormat df = new DecimalFormat("###.00");
|
||||
//获取有效监测点数量
|
||||
Integer monitorEffectiveCount = item.getMonitorEffectiveCount();
|
||||
//todo 有效监测点数量在实际环境中是可能为0的,不需要做异常处理
|
||||
// if (monitorEffectiveCount == null || monitorEffectiveCount <= 0) {
|
||||
// throw new BusinessException(CommonResponseEnum.NO_DATA, "有效监测点数量异常");
|
||||
// }
|
||||
Double warnMonitorRate = 0.0 ;
|
||||
Double monitorGradeRate = 0.0;
|
||||
if(monitorEffectiveCount<=0){
|
||||
if(item.getWarnMonitorCount()>0){
|
||||
warnMonitorRate=100.0;
|
||||
}
|
||||
if(item.getMonitorGradeCount()>0){
|
||||
monitorGradeRate=100.0;
|
||||
}
|
||||
}else {
|
||||
//计算告警四次及以上监测点占比( * 100 是直接取到百分比)
|
||||
// Double warnMonitorRate = Double.parseDouble(df.format(item.getWarnMonitorCount() / (monitorEffectiveCount * 1.0) * 100));
|
||||
Double warnMonitorRate = monitorEffectiveCount<=0 ? 0.0 : Double.parseDouble(String.format("%.2f",item.getWarnMonitorCount() / (monitorEffectiveCount * 1.0) * 100));
|
||||
rStatZwAlarmCountWVO.setWarnMonitorRate(warnMonitorRate);
|
||||
warnMonitorRate = Double.parseDouble(String.format("%.2f",item.getWarnMonitorCount() / (monitorEffectiveCount * 1.0) * 100));
|
||||
//级别'较差'监测点占比( * 100 是直接取到百分比)
|
||||
// Double monitorGradeRate = Double.parseDouble(df.format(item.getMonitorGradeCount() / (monitorEffectiveCount * 1.0) * 100));
|
||||
Double monitorGradeRate = monitorEffectiveCount<=0 ? 0.0 : Double.parseDouble(String.format("%.2f",item.getMonitorGradeCount() / (monitorEffectiveCount * 1.0) * 100));
|
||||
monitorGradeRate = Double.parseDouble(String.format("%.2f",item.getMonitorGradeCount() / (monitorEffectiveCount * 1.0) * 100));
|
||||
}
|
||||
rStatZwAlarmCountWVO.setWarnMonitorRate(warnMonitorRate);
|
||||
rStatZwAlarmCountWVO.setMonitorGradeRate(monitorGradeRate);
|
||||
|
||||
return rStatZwAlarmCountWVO;
|
||||
}).collect(Collectors.toList());
|
||||
} else {
|
||||
resultList = new ArrayList<>();
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,9 +51,6 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
|
||||
private final RStatEventOrgMapper rStatEventOrgMapper;
|
||||
|
||||
private final RStatSubstationMapper rStatSubstationMapper;
|
||||
|
||||
private final DecimalFormat df = new DecimalFormat("###.0000");
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
@@ -108,17 +105,13 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
|
||||
}
|
||||
for (RStatOrgVO rStatOrgVO : result) {
|
||||
if(rStatOrgVO.getEventMeasurementAverage()!=0&&rStatOrgVO.getEffectiveMeasurementAverage()!=0){
|
||||
double v = Double.parseDouble(
|
||||
df.format(((rStatOrgVO.getEventMeasurementAverage() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100));
|
||||
BigDecimal round = NumberUtil.round(v, 2);
|
||||
BigDecimal round = NumberUtil.round(((rStatOrgVO.getEventMeasurementAverage() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100, 2);
|
||||
rStatOrgVO.setEventMeasurementRatioAverage(round.toString());
|
||||
}else{
|
||||
rStatOrgVO.setEventMeasurementRatioAverage("0");
|
||||
}
|
||||
if(rStatOrgVO.getEventMeasurementAccrued()!=0&&rStatOrgVO.getEffectiveMeasurementAccrued()!=0){
|
||||
double v = Double.parseDouble(
|
||||
df.format(((rStatOrgVO.getEventMeasurementAccrued() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100));
|
||||
BigDecimal round = NumberUtil.round(v, 2);
|
||||
BigDecimal round = NumberUtil.round(((rStatOrgVO.getEventMeasurementAccrued() * 1.0) / (rStatOrgVO.getAllCount() * 1.0)) * 100, 2);
|
||||
rStatOrgVO.setEventMeasurementRatioAccrued(round.toString());
|
||||
}else{
|
||||
rStatOrgVO.setEventMeasurementRatioAccrued("0");
|
||||
@@ -201,12 +194,14 @@ public class StatisticsOfTransientIndicatorssServiceImpl implements StatisticsOf
|
||||
rStatEventOrgVO.setEventMeasurementAccrued(pos.get(0).getEventMeasurementAccrued());
|
||||
|
||||
if(rStatEventOrgVO.getEventMeasurementAverage()!=0&&rStatEventOrgVO.getEffectiveMeasurementAverage()!=0){
|
||||
rStatEventOrgVO.setEventMeasurementRatioAverage(Double.parseDouble(df.format((pos.get(0).getEventMeasurementAverage() * 1.0) / (pos.get(0).getEffectiveMeasurementAverage() * 1.0))) * 100);
|
||||
double v = (pos.get(0).getEventMeasurementAverage() * 1.0) / (pos.get(0).getEffectiveMeasurementAverage() * 1.0)*100;
|
||||
rStatEventOrgVO.setEventMeasurementRatioAverage(NumberUtil.round(v,2).doubleValue());
|
||||
}else{
|
||||
rStatEventOrgVO.setEventMeasurementRatioAverage(0.0);
|
||||
}
|
||||
if(rStatEventOrgVO.getEventMeasurementAccrued()!=0&&rStatEventOrgVO.getEffectiveMeasurementAccrued()!=0){
|
||||
rStatEventOrgVO.setEventMeasurementRatioAccrued(Double.parseDouble(df.format((pos.get(0).getEventMeasurementAccrued() * 1.0) / (pos.get(0).getEffectiveMeasurementAccrued() * 1.0))) * 100);
|
||||
double v = (pos.get(0).getEventMeasurementAccrued() * 1.0) / (pos.get(0).getEffectiveMeasurementAccrued() * 1.0) * 100;
|
||||
rStatEventOrgVO.setEventMeasurementRatioAccrued(NumberUtil.round(v,2).doubleValue());
|
||||
}else{
|
||||
rStatEventOrgVO.setEventMeasurementRatioAccrued(0.0);
|
||||
}
|
||||
|
||||
@@ -74,13 +74,13 @@ public class RStatSubstationOrg2VO implements Serializable {
|
||||
* 日均暂态超标监测点数占比
|
||||
*/
|
||||
@ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比")
|
||||
private Integer harmonicMeasurementRatioAverage;
|
||||
private Float harmonicMeasurementRatioAverage;
|
||||
|
||||
/**
|
||||
* 累计暂态超标监测点数占比
|
||||
*/
|
||||
@ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比")
|
||||
private Integer harmonicMeasurementRatioAccrued;
|
||||
private Float harmonicMeasurementRatioAccrued;
|
||||
|
||||
|
||||
|
||||
@@ -211,6 +211,13 @@ public class RStatSubstationOrg2VO implements Serializable {
|
||||
@ApiModelProperty(name = "monitorSort", value = "监测点类别")
|
||||
private String monitorSort;
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class MonitorType extends RStatSubstationOrg2VO {
|
||||
/**
|
||||
* 监测点类别
|
||||
*/
|
||||
@ApiModelProperty(name = "monitorType", value = "监测点类型")
|
||||
private String monitorType;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,13 +80,13 @@ public class RStatSubstationOrgVO implements Serializable {
|
||||
* 日均暂态超标监测点数占比
|
||||
*/
|
||||
@ApiModelProperty(name = "eventMeasurementRatioAverage", value = "日均暂态超标监测点数占比")
|
||||
private Integer harmonicMeasurementRatioAverage;
|
||||
private Float harmonicMeasurementRatioAverage;
|
||||
|
||||
/**
|
||||
* 累计暂态超标监测点数占比
|
||||
*/
|
||||
@ApiModelProperty(name = "eventMeasurementRatioAccrued", value = "累计暂态超标监测点数占比")
|
||||
private Integer harmonicMeasurementRatioAccrued;
|
||||
private Float harmonicMeasurementRatioAccrued;
|
||||
|
||||
/**
|
||||
* 暂态指标类型Id,字典表ID
|
||||
|
||||
@@ -79,10 +79,10 @@ public class RStatOrgController extends BaseController {
|
||||
/**
|
||||
* 区域稳态指标超标分类统计表
|
||||
*/
|
||||
@GetMapping("/getRStatSubstation")
|
||||
@PostMapping("/getRStatSubstation")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("区域稳态指标超标分类统计表")
|
||||
public HttpResult<List<RStatSubstationOrg2VO>> getRStatSubstation(StatisticsBizBaseParam param) {
|
||||
public HttpResult<List<RStatSubstationOrg2VO>> getRStatSubstation(@RequestBody StatSubstationBizBaseParam param) {
|
||||
String methodDescribe = getMethodDescribe("getRStatSubstation");
|
||||
List<RStatSubstationOrg2VO> statSubstationIcon = rStatOrgYService.getRStatSubstationOrg(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, statSubstationIcon, methodDescribe);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
rso.harmonic_measurement_average AS harmonicMeasurementAverage,
|
||||
rso.harmonic_measurement_accrued AS harmonicMeasurementAccrued,
|
||||
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
|
||||
TRUNCATE(rso.event_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
|
||||
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
|
||||
c.harmonic_type,
|
||||
c.over_limit_measurement_average,
|
||||
c.over_limit_measurement_accrued,
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
rso.harmonic_measurement_average AS harmonicMeasurementAverage,
|
||||
rso.harmonic_measurement_accrued AS harmonicMeasurementAccrued,
|
||||
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
|
||||
TRUNCATE(rso.event_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
|
||||
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
|
||||
c.harmonic_type,
|
||||
c.over_limit_measurement_average,
|
||||
c.over_limit_measurement_accrued,
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
rso.over_limit_measurement_average AS harmonicMeasurementAverage,
|
||||
rso.over_limit_measurement_accrued AS harmonicMeasurementAccrued,
|
||||
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
|
||||
TRUNCATE(rso.event_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
|
||||
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
|
||||
c.harmonic_type,
|
||||
c.over_limit_measurement_average,
|
||||
c.over_limit_measurement_accrued,
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.apache.commons.compress.utils.Lists;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
@@ -281,16 +282,17 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
break;
|
||||
}
|
||||
Map<String, List<RStatSubstationOrgVO>> map = temp
|
||||
.stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
|
||||
.stream().collect(Collectors.groupingBy(x->x.getOrgNo()+"_"+x.getMeasurementTypeClass()));
|
||||
map.forEach((key, value) -> {
|
||||
String[] split = key.split("_");
|
||||
RStatSubstationOrg2VO.PwRStatSubstationOrgVO vo = new RStatSubstationOrg2VO.PwRStatSubstationOrgVO();
|
||||
//获取部门信息
|
||||
if (deptMap.containsKey(key)) {
|
||||
DeptDTO deptDTO = deptMap.get(key);
|
||||
DeptDTO deptDTO = deptMap.get(split[0]);
|
||||
vo.setOrgName(deptDTO.getName());
|
||||
}
|
||||
vo.setOrgNo(value.get(0).getOrgNo());
|
||||
vo.setMonitorSort(value.get(0).getMeasurementTypeClass());
|
||||
vo.setMonitorSort(split[1]);
|
||||
vo.setDataDate(value.get(0).getDataDate());
|
||||
vo.setEffectiveMeasurementAverage(value.get(0).getEffectiveMeasurementAverage());
|
||||
vo.setEffectiveMeasurementAccrued(value.get(0).getEffectiveMeasurementAccrued());
|
||||
@@ -408,6 +410,7 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
}
|
||||
info.add(vo);
|
||||
});
|
||||
info.sort(Comparator.comparing(x->x.getOrgName()));
|
||||
return info;
|
||||
}
|
||||
return Lists.newArrayList();
|
||||
|
||||
@@ -33,7 +33,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RStatSubstationOrg2VO> getRStatSubstationOrg(StatisticsBizBaseParam param);
|
||||
List<RStatSubstationOrg2VO> getRStatSubstationOrg(StatSubstationBizBaseParam param);
|
||||
|
||||
/**
|
||||
* 变电站(换流站)稳态指标超标分类统计表
|
||||
|
||||
@@ -127,13 +127,11 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RStatSubstationOrg2VO> getRStatSubstationOrg(StatisticsBizBaseParam param) {
|
||||
public List<RStatSubstationOrg2VO> getRStatSubstationOrg(StatSubstationBizBaseParam param) {
|
||||
// 获取当前用户的部门的子部门信息
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> data = DeptUtil.getDeptSubsetVOList(deptList, param.getId());
|
||||
|
||||
|
||||
|
||||
List<RStatSubstationOrg2VO> info = new ArrayList<>();
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
// 根据暂态指标枚举查询暂态指标
|
||||
@@ -142,36 +140,35 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
List<RStatSubstationOrgVO> temp = new ArrayList<>();
|
||||
// 过滤出部门id
|
||||
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
|
||||
//获取主网id信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
|
||||
// 类型(1年 2季度 3月份 4日
|
||||
switch (param.getType().toString()) {
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
// 获取年区域暂态指标分类统计表
|
||||
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam, deptIds, mainnetData.getId());
|
||||
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
// 获取季区域暂态指标分类统计表
|
||||
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam, deptIds, mainnetData.getId());
|
||||
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
// 获取月区域暂态指标分类统计表
|
||||
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam, deptIds, mainnetData.getId());
|
||||
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (CollUtil.isNotEmpty(temp)) {
|
||||
Map<String, List<RStatSubstationOrgVO>> map = temp
|
||||
.stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
|
||||
.stream().collect(Collectors.groupingBy(x->x.getOrgNo()+"_"+x.getMeasurementTypeClass()));
|
||||
map.forEach((key, value) -> {
|
||||
RStatSubstationOrg2VO vo = new RStatSubstationOrg2VO();
|
||||
vo.setOrgNo(value.get(0).getOrgNo());
|
||||
vo.setOrgName(value.get(0).getOrgName());
|
||||
String[] split = key.split("_");
|
||||
RStatSubstationOrg2VO.MonitorType vo = new RStatSubstationOrg2VO.MonitorType();
|
||||
vo.setOrgNo(split[0]);
|
||||
vo.setDataDate(value.get(0).getDataDate());
|
||||
vo.setMonitorType(split[1]);
|
||||
vo.setEffectiveMeasurementAverage(value.get(0).getEffectiveMeasurementAverage());
|
||||
vo.setEffectiveMeasurementAccrued(value.get(0).getEffectiveMeasurementAccrued());
|
||||
vo.setHarmonicMeasurementAverage(value.get(0).getHarmonicMeasurementAverage());
|
||||
@@ -299,6 +296,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
}
|
||||
|
||||
}
|
||||
info.sort(Comparator.comparing(x->x.getOrgName()));
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
@@ -495,7 +495,7 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl<RGeneralSurv
|
||||
public List<DeptSubstationVO> initDetpStataionTree(String orgdid) {
|
||||
|
||||
/*查询所有电站并过滤已经参加当期普测电站*/
|
||||
List<StatationStat> list = statationStatClient.getPowerInfo(new PmsStatationStatInfoParam()).getData();
|
||||
// List<StatationStat> list = statationStatClient.getPowerInfo(new PmsStatationStatInfoParam()).getData();
|
||||
|
||||
/**查出当前周期id**/
|
||||
QueryWrapper<RSurveyCyclePO> rSurveyCyclePOQueryWrapper = new QueryWrapper();
|
||||
@@ -547,8 +547,6 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl<RGeneralSurv
|
||||
BeanUtils.copyProperties(temp, deptSubstationVO);
|
||||
deptSubstationVO.setDisabled(true);
|
||||
deptSubstationVO.setFlag(true);
|
||||
QueryWrapper<StatationStat> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("org_id", temp.getCode());
|
||||
PmsStatationStatInfoParam param =new PmsStatationStatInfoParam();
|
||||
param.setOrgIds(Arrays.asList(temp.getCode()));
|
||||
List<StatationStat> list1 = statationStatClient.getPowerInfo(param).getData();
|
||||
|
||||
Reference in New Issue
Block a user