1.调整配网用户接口超100%问题
2.去除预处理县级数据统计
This commit is contained in:
@@ -524,7 +524,7 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="param.userName!=null and param.userName!=''">
|
||||
and pms_power_client.name like CONCAT('%', #{param.userName}, '%')
|
||||
and pms_power_client.name like CONCAT('%', #{param.userName}, '%') or pms_power_client.id like CONCAT('%', #{param.userName}, '%')
|
||||
</if>
|
||||
) t where 1 = 1
|
||||
<if test="param.comFlag!=null">
|
||||
|
||||
@@ -66,7 +66,7 @@ public class PwUserMonitorDataServiceImpl implements PwUserMonitorDataService {
|
||||
page.getRecords().forEach(item->{
|
||||
if(map.containsKey(item.getLineIndex())){
|
||||
PwUserMonitorDataVO pwUserMonitorDataVO = map.get(item.getLineIndex());
|
||||
pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData());
|
||||
pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData() > 100 ?100:item.getIntegrityData());
|
||||
voList.add(pwUserMonitorDataVO);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -466,11 +466,11 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf(3.14159));
|
||||
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf(3.14159));
|
||||
}else {
|
||||
monitorLimitRateVO.setFlickerOvertime(BigDecimal.valueOf((double) item.getFlickerOvertime()/item.getFlickerAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setFreqDevOvertime(BigDecimal.valueOf((double) item.getFreqDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setUaberranceOvertime(BigDecimal.valueOf((double) item.getUaberranceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf((double) item.getUbalanceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf((double) item.getVoltageDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
||||
monitorLimitRateVO.setFlickerOvertime(calculatePercentage(item.getFlickerOvertime(),item.getFlickerAllTime()));
|
||||
monitorLimitRateVO.setFreqDevOvertime(calculatePercentage(item.getFreqDevOvertime(),item.getAllTime()));
|
||||
monitorLimitRateVO.setUaberranceOvertime(calculatePercentage(item.getUaberranceOvertime(),item.getAllTime()));
|
||||
monitorLimitRateVO.setUbalanceOvertime(calculatePercentage(item.getUbalanceOvertime(),item.getAllTime()));
|
||||
monitorLimitRateVO.setVoltageDevOvertime(calculatePercentage(item.getVoltageDevOvertime(),item.getAllTime()));
|
||||
}
|
||||
setUharmOvertimeRatios(item,monitorLimitRateVO);
|
||||
resultList.add(monitorLimitRateVO);
|
||||
@@ -480,6 +480,32 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算百分比,结果不超过100
|
||||
*
|
||||
* @param flickerOvertime 闪烁超时时间
|
||||
* @param flickerAllTime 总闪烁时间
|
||||
* @return 计算的百分比(如果结果超过100,则返回100)
|
||||
*/
|
||||
public BigDecimal calculatePercentage(Integer flickerOvertime, Integer flickerAllTime) {
|
||||
// 检查参数是否为null
|
||||
if (flickerOvertime == null || flickerAllTime == null) {
|
||||
throw new IllegalArgumentException("方法遇到不合法参数");
|
||||
}
|
||||
// 将Integer转换为BigDecimal进行计算
|
||||
BigDecimal overtime = BigDecimal.valueOf(flickerOvertime);
|
||||
BigDecimal allTime = BigDecimal.valueOf(flickerAllTime);
|
||||
|
||||
// 计算百分比
|
||||
BigDecimal percentage = overtime.divide(allTime, 10, RoundingMode.HALF_UP)
|
||||
.multiply(BigDecimal.valueOf(100))
|
||||
.setScale(2, RoundingMode.HALF_UP);
|
||||
|
||||
// 如果百分比超过100,则调整为100
|
||||
return percentage.compareTo(BigDecimal.valueOf(100)) > 0 ? BigDecimal.valueOf(100) : percentage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PwLimitDataVO> pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam) {
|
||||
List<PwLimitDataVO> result = new ArrayList<>();
|
||||
@@ -637,6 +663,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
} else {
|
||||
BigDecimal ratio = BigDecimal.valueOf((double) uharmOvertime / allTime*100)
|
||||
.setScale(2, RoundingMode.HALF_UP);
|
||||
ratio = ratio.compareTo(BigDecimal.valueOf(100)) > 0 ? BigDecimal.valueOf(100) : ratio;
|
||||
monitorLimitRateVO.getClass().getMethod(setterName, BigDecimal.class)
|
||||
.invoke(monitorLimitRateVO, ratio);
|
||||
}
|
||||
|
||||
@@ -124,7 +124,10 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
||||
|
||||
List<DeptGetChildrenMoreDTO> list = calculatedParam.getIdList();
|
||||
list.forEach(item -> {
|
||||
if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()), item.getDeptLevel())) {
|
||||
if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()), item.getDeptLevel())
|
||||
//县数据
|
||||
|| Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_4.getCode()),item.getDeptLevel())
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user