1.bug修改

This commit is contained in:
wr
2024-02-20 16:04:42 +08:00
parent 7f3ae60701
commit 2d77e44795
12 changed files with 56 additions and 55 deletions

View File

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

View File

@@ -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);
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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();

View File

@@ -33,7 +33,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
* @param param
* @return
*/
List<RStatSubstationOrg2VO> getRStatSubstationOrg(StatisticsBizBaseParam param);
List<RStatSubstationOrg2VO> getRStatSubstationOrg(StatSubstationBizBaseParam param);
/**
* 变电站(换流站)稳态指标超标分类统计表

View File

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

View File

@@ -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();