1.国网下穿-典型源荷接口编写

This commit is contained in:
wr
2024-05-17 16:57:06 +08:00
parent 27561f8343
commit 9a6c4e7244
12 changed files with 742 additions and 11 deletions

View File

@@ -65,7 +65,10 @@
</select>
<select id="selectTotalIntegrityByLineIds" resultType="java.lang.Float">
select
IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0) as integrityRate
if(sum(real_time)/sum(due_time)*100>100,
100,
IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0))
as integrityRate
from
r_stat_integrity_d
<where>

View File

@@ -26,7 +26,10 @@
</select>
<select id="getTotalOnlineRates" resultType="java.lang.Float">
select
IFNULL(ROUND( sum(online_min)/(sum(online_min) + sum(offline_min))*100,2),0) as online_rate
if( sum( online_min )/( sum( online_min ) + sum( offline_min ))* 100 > 100,
100,
IFNULL( ROUND( sum( online_min )/( sum( online_min ) + sum( offline_min ))* 100, 2 ), 0 ))
as online_rate
from r_stat_onlinerate_d
<where>
<if test="param!=null and param.ids != null and param.ids.size > 0">

View File

@@ -212,7 +212,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
if (CollUtil.isNotEmpty(integrityDS)) {
double realTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getRealTime).sum();
double dueTime = integrityDS.stream().mapToDouble(RStatIntegrityD::getDueTime).sum();
lineStatisticsData.setIntegrityRate(NumberUtil.round(realTime * 100 / dueTime, 2).floatValue());
lineStatisticsData.setIntegrityRate(Math.min(NumberUtil.round(realTime * 100 / dueTime, 2).floatValue(),100));
} else {
lineStatisticsData.setIntegrityRate(0.0f);
}
@@ -221,7 +221,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
if (CollUtil.isNotEmpty(onlineRateDS)) {
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
lineStatisticsData.setOnLineRate(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue());
lineStatisticsData.setOnLineRate(Math.min(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).floatValue(),100));
} else {
lineStatisticsData.setOnLineRate(0.0f);
}
@@ -347,7 +347,7 @@ public class GridDiagramServiceImpl implements GridDiagramService {
if (CollUtil.isNotEmpty(onlineRateDS)) {
double onlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOnlineMin).sum();
double offlineTime = onlineRateDS.stream().mapToDouble(RStatOnlinerateD::getOfflineMin).sum();
data.setOnlineEvaluate(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).doubleValue());
data.setOnlineEvaluate(Math.min(NumberUtil.round(onlineTime * 100.0 / (onlineTime + offlineTime), 2).doubleValue(),100));
} else {
data.setOnlineEvaluate(0.0);
}