1.调整配网用户接口超100%问题
2.去除预处理县级数据统计
This commit is contained in:
@@ -524,7 +524,7 @@
|
|||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
<if test="param.userName!=null and param.userName!=''">
|
<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>
|
</if>
|
||||||
) t where 1 = 1
|
) t where 1 = 1
|
||||||
<if test="param.comFlag!=null">
|
<if test="param.comFlag!=null">
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class PwUserMonitorDataServiceImpl implements PwUserMonitorDataService {
|
|||||||
page.getRecords().forEach(item->{
|
page.getRecords().forEach(item->{
|
||||||
if(map.containsKey(item.getLineIndex())){
|
if(map.containsKey(item.getLineIndex())){
|
||||||
PwUserMonitorDataVO pwUserMonitorDataVO = map.get(item.getLineIndex());
|
PwUserMonitorDataVO pwUserMonitorDataVO = map.get(item.getLineIndex());
|
||||||
pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData());
|
pwUserMonitorDataVO.setIntegrityRate(item.getIntegrityData() > 100 ?100:item.getIntegrityData());
|
||||||
voList.add(pwUserMonitorDataVO);
|
voList.add(pwUserMonitorDataVO);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -466,11 +466,11 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf(3.14159));
|
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf(3.14159));
|
||||||
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf(3.14159));
|
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf(3.14159));
|
||||||
}else {
|
}else {
|
||||||
monitorLimitRateVO.setFlickerOvertime(BigDecimal.valueOf((double) item.getFlickerOvertime()/item.getFlickerAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
monitorLimitRateVO.setFlickerOvertime(calculatePercentage(item.getFlickerOvertime(),item.getFlickerAllTime()));
|
||||||
monitorLimitRateVO.setFreqDevOvertime(BigDecimal.valueOf((double) item.getFreqDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
monitorLimitRateVO.setFreqDevOvertime(calculatePercentage(item.getFreqDevOvertime(),item.getAllTime()));
|
||||||
monitorLimitRateVO.setUaberranceOvertime(BigDecimal.valueOf((double) item.getUaberranceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
monitorLimitRateVO.setUaberranceOvertime(calculatePercentage(item.getUaberranceOvertime(),item.getAllTime()));
|
||||||
monitorLimitRateVO.setUbalanceOvertime(BigDecimal.valueOf((double) item.getUbalanceOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
monitorLimitRateVO.setUbalanceOvertime(calculatePercentage(item.getUbalanceOvertime(),item.getAllTime()));
|
||||||
monitorLimitRateVO.setVoltageDevOvertime(BigDecimal.valueOf((double) item.getVoltageDevOvertime()/item.getAllTime()*100).setScale(2, RoundingMode.HALF_UP));
|
monitorLimitRateVO.setVoltageDevOvertime(calculatePercentage(item.getVoltageDevOvertime(),item.getAllTime()));
|
||||||
}
|
}
|
||||||
setUharmOvertimeRatios(item,monitorLimitRateVO);
|
setUharmOvertimeRatios(item,monitorLimitRateVO);
|
||||||
resultList.add(monitorLimitRateVO);
|
resultList.add(monitorLimitRateVO);
|
||||||
@@ -480,6 +480,32 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
return pageResult;
|
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
|
@Override
|
||||||
public List<PwLimitDataVO> pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam) {
|
public List<PwLimitDataVO> pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam) {
|
||||||
List<PwLimitDataVO> result = new ArrayList<>();
|
List<PwLimitDataVO> result = new ArrayList<>();
|
||||||
@@ -637,6 +663,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
} else {
|
} else {
|
||||||
BigDecimal ratio = BigDecimal.valueOf((double) uharmOvertime / allTime*100)
|
BigDecimal ratio = BigDecimal.valueOf((double) uharmOvertime / allTime*100)
|
||||||
.setScale(2, RoundingMode.HALF_UP);
|
.setScale(2, RoundingMode.HALF_UP);
|
||||||
|
ratio = ratio.compareTo(BigDecimal.valueOf(100)) > 0 ? BigDecimal.valueOf(100) : ratio;
|
||||||
monitorLimitRateVO.getClass().getMethod(setterName, BigDecimal.class)
|
monitorLimitRateVO.getClass().getMethod(setterName, BigDecimal.class)
|
||||||
.invoke(monitorLimitRateVO, ratio);
|
.invoke(monitorLimitRateVO, ratio);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,7 +124,10 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
|||||||
|
|
||||||
List<DeptGetChildrenMoreDTO> list = calculatedParam.getIdList();
|
List<DeptGetChildrenMoreDTO> list = calculatedParam.getIdList();
|
||||||
list.forEach(item -> {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user