From f0d94a082f8d621a0038ae2eff84f29099c673d5 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 31 八月 2026 23:38:37 +0800
Subject: [PATCH] 补充检测柜循环统计效率和编号
---
ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDevelopmentSimulator.java | 2 +-
ruoyi-device/src/test/java/com/ruoyi/device/bts/BtsDevelopmentSimulatorRecordStepCycleTest.java | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDevelopmentSimulator.java b/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDevelopmentSimulator.java
index 7e44d6f..ac3b00e 100644
--- a/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDevelopmentSimulator.java
+++ b/ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDevelopmentSimulator.java
@@ -881,7 +881,7 @@
private double chargeEnergy; private double dischargeEnergy;
BtsCycleAccumulator(BtsHistoryRecord first) { cycle = first.cycleNo(); }
void add(BtsHistoryRecord item) { count++; if (first == null) first = item.deviceTime(); last = item.deviceTime(); maximumCapacity = Math.max(maximumCapacity, item.capacityAh()); minimumCapacity = Math.min(minimumCapacity, item.capacityAh()); if (item.currentA() >= 0) chargeEnergy = Math.max(chargeEnergy, item.energyWh()); else dischargeEnergy = Math.max(dischargeEnergy, Math.abs(item.energyWh())); }
- BtsCycleRecord finish() { double charge = Math.max(0d, maximumCapacity); double discharge = Math.max(0d, maximumCapacity - minimumCapacity); return new BtsCycleRecord(cycle, count, first, last, charge, discharge, chargeEnergy, dischargeEnergy, efficiency(charge, discharge)); }
+ BtsCycleRecord finish() { double charge = Math.max(0d, maximumCapacity); double discharge = Math.max(0d, maximumCapacity - minimumCapacity); return new BtsCycleRecord("", cycle, count, first, last, charge, discharge, chargeEnergy, dischargeEnergy, efficiency(charge, discharge)); }
}
private java.util.Set<String> requestedChannels(String request)
diff --git a/ruoyi-device/src/test/java/com/ruoyi/device/bts/BtsDevelopmentSimulatorRecordStepCycleTest.java b/ruoyi-device/src/test/java/com/ruoyi/device/bts/BtsDevelopmentSimulatorRecordStepCycleTest.java
index af31622..d348b80 100644
--- a/ruoyi-device/src/test/java/com/ruoyi/device/bts/BtsDevelopmentSimulatorRecordStepCycleTest.java
+++ b/ruoyi-device/src/test/java/com/ruoyi/device/bts/BtsDevelopmentSimulatorRecordStepCycleTest.java
@@ -29,7 +29,11 @@
assertEquals(60L, records.get(1).deviceTime().getEpochSecond() - records.get(0).deviceTime().getEpochSecond());
assertEquals(1, records.get(0).cycleNo());
assertTrue(simulator.btsSteps(1, 1).stream().anyMatch(step -> step.stepNo() == 1));
- assertTrue(simulator.btsCycles(1, 1).stream().anyMatch(cycle -> cycle.cycleNo() == 1));
+ var cycle = simulator.btsCycles(1, 1).stream().filter(item -> item.cycleNo() == 1).findFirst().orElseThrow();
+ assertTrue(cycle.chargeCapacityAh() >= 0d);
+ assertTrue(cycle.dischargeCapacityAh() >= 0d);
+ assertEquals(cycle.chargeCapacityAh() > 0d ? cycle.dischargeCapacityAh() / cycle.chargeCapacityAh() * 100d : 0d,
+ cycle.efficiency(), 0.000001d);
}
}
--
Gitblit v1.7.1