2026-04-13提交:K线图的Y轴规则

This commit is contained in:
junzhangfm 2026-04-16 14:59:52 +08:00
parent 657e8c8375
commit d36ffdff2a
5 changed files with 12 additions and 5 deletions

View File

@ -104,7 +104,7 @@ public class DailyPowerOutageEventVO {
.setMa20(new ArrayList<>()).setMa30(new ArrayList<>()); .setMa20(new ArrayList<>()).setMa30(new ArrayList<>());
scheduledUserKline = new KLineVO().setKline(new ArrayList<>()).setMa5(new ArrayList<>()).setMa10(new ArrayList<>()) scheduledUserKline = new KLineVO().setKline(new ArrayList<>()).setMa5(new ArrayList<>()).setMa10(new ArrayList<>())
.setMa20(new ArrayList<>()).setMa30(new ArrayList<>()); .setMa20(new ArrayList<>()).setMa30(new ArrayList<>());
ChartYScaleRuleVO chartYScaleRuleVO = new ChartYScaleRuleVO().setMin(0).setMax(100).setInterval(10.0); ChartYScaleRuleVO chartYScaleRuleVO = new ChartYScaleRuleVO().setMin(0).setMax(0).setInterval(0D);
dailyChartYScaleRuleCollect = new DailyChartYScaleRuleCollectVO().setMaRule(chartYScaleRuleVO) dailyChartYScaleRuleCollect = new DailyChartYScaleRuleCollectVO().setMaRule(chartYScaleRuleVO)
.setUserCountRule(chartYScaleRuleVO).setDailyPrecipitationRule(chartYScaleRuleVO) .setUserCountRule(chartYScaleRuleVO).setDailyPrecipitationRule(chartYScaleRuleVO)
.setTemperatureRule(chartYScaleRuleVO).setExtremeWindSpeedRule(chartYScaleRuleVO); .setTemperatureRule(chartYScaleRuleVO).setExtremeWindSpeedRule(chartYScaleRuleVO);

View File

@ -16,6 +16,11 @@ import java.io.Serializable;
public class HourlyChartYScaleRuleCollectVO implements Serializable { public class HourlyChartYScaleRuleCollectVO implements Serializable {
private static final long serialVersionUID = -6099537585608567152L; private static final long serialVersionUID = -6099537585608567152L;
/**
* 小时停电用户数
*/
private ChartYScaleRuleVO userCountRule;
/** /**
* 小时故障停电用户数 * 小时故障停电用户数
*/ */

View File

@ -77,10 +77,10 @@ public class HourlyPowerOutageEventChartVO {
minTemList = new ArrayList<>(); minTemList = new ArrayList<>();
precList = new ArrayList<>(); precList = new ArrayList<>();
windList = new ArrayList<>(); windList = new ArrayList<>();
ChartYScaleRuleVO chartYScaleRuleVO = new ChartYScaleRuleVO().setMin(0).setMax(100).setInterval(10.0); ChartYScaleRuleVO chartYScaleRuleVO = new ChartYScaleRuleVO().setMin(0).setMax(0).setInterval(0D);
hourlyChartYScaleRuleCollect = new HourlyChartYScaleRuleCollectVO().setPrecRule(chartYScaleRuleVO) hourlyChartYScaleRuleCollect = new HourlyChartYScaleRuleCollectVO().setPrecRule(chartYScaleRuleVO)
.setAvgTemRule(chartYScaleRuleVO).setMaxTemRule(chartYScaleRuleVO).setMinTemRule(chartYScaleRuleVO) .setAvgTemRule(chartYScaleRuleVO).setMaxTemRule(chartYScaleRuleVO).setMinTemRule(chartYScaleRuleVO)
.setWindRule(chartYScaleRuleVO).setScheduledUserCountRule(chartYScaleRuleVO) .setWindRule(chartYScaleRuleVO).setScheduledUserCountRule(chartYScaleRuleVO)
.setFaultUserCountRule(chartYScaleRuleVO); .setFaultUserCountRule(chartYScaleRuleVO).setUserCountRule(chartYScaleRuleVO);
} }
} }

View File

@ -72,6 +72,10 @@ public class DnerHourlyPowerOutageEventServiceImpl
} }
private void handleYScaleRule(HourlyPowerOutageEventChartVO result) { private void handleYScaleRule(HourlyPowerOutageEventChartVO result) {
if (!CollectionUtil.isEmpty(result.getPowerOutageUserCountList())) {
result.getHourlyChartYScaleRuleCollect().setUserCountRule(
ToolUtils.getRule(result.getPowerOutageUserCountList()));
}
if (!CollectionUtil.isEmpty(result.getFaultUserCountList())) { if (!CollectionUtil.isEmpty(result.getFaultUserCountList())) {
result.getHourlyChartYScaleRuleCollect().setFaultUserCountRule( result.getHourlyChartYScaleRuleCollect().setFaultUserCountRule(
ToolUtils.getRule(result.getFaultUserCountList())); ToolUtils.getRule(result.getFaultUserCountList()));

View File

@ -16,7 +16,6 @@ public class ToolUtils {
if (first instanceof Integer) { if (first instanceof Integer) {
int min = list.stream().mapToInt(Number::intValue).min().orElse(0); int min = list.stream().mapToInt(Number::intValue).min().orElse(0);
int max = list.stream().mapToInt(Number::intValue).max().orElse(0); int max = list.stream().mapToInt(Number::intValue).max().orElse(0);
max = max == 0 ? 100 : max;
double interval = Math.round((double) (max - min) / 10 * 10) / 10.0; double interval = Math.round((double) (max - min) / 10 * 10) / 10.0;
return new ChartYScaleRuleVO().setMin(min).setMax(max).setInterval(interval); return new ChartYScaleRuleVO().setMin(min).setMax(max).setInterval(interval);
} else if (first instanceof Double) { } else if (first instanceof Double) {
@ -24,7 +23,6 @@ public class ToolUtils {
int floorMin = (int) Math.floor(min); int floorMin = (int) Math.floor(min);
double max = list.stream().mapToDouble(Number::doubleValue).max().orElse(0); double max = list.stream().mapToDouble(Number::doubleValue).max().orElse(0);
int ceilMax = (int) Math.ceil(max); int ceilMax = (int) Math.ceil(max);
ceilMax = ceilMax == 0 ? 100 : ceilMax;
double interval = Math.round((double) (ceilMax - floorMin) / 10 * 10) / 10.0; double interval = Math.round((double) (ceilMax - floorMin) / 10 * 10) / 10.0;
return new ChartYScaleRuleVO().setMin(floorMin).setMax(ceilMax).setInterval(interval); return new ChartYScaleRuleVO().setMin(floorMin).setMax(ceilMax).setInterval(interval);
} else { } else {