diff --git a/Abrechnung/module.php b/Abrechnung/module.php
index 1bdb371..39c29f8 100644
--- a/Abrechnung/module.php
+++ b/Abrechnung/module.php
@@ -398,69 +398,99 @@ class Abrechnung extends IPSModule
}
- private function GetCalculatedPowerCosts($userId)
- {
- $html = "
-
-
- | ID |
- Import |
- Export |
- ZEV-Haus |
- Netz-Haus |
- Solar-Netz |
- Solar-ZEV |
- Kauf-Solar |
- Kauf-Netz |
- Verkauf-Netz |
- Verkauf-ZEV |
- Total CHF |
-
";
+private function GetCalculatedPowerCosts($userId)
+{
+ $html = "
+
- if (empty($this->powerCostCache) || !isset($this->powerCostCache[$userId])) {
- $html .= "| Keine Stromzähler für diesen Benutzer |
";
- return ['html' => $html, 'sum' => 0.0];
+
+
+ | ID |
+ Import (kWh) |
+ Export (kWh) |
+ ZEV-Haus (kWh) |
+ Netz-Haus (kWh) |
+ Solar-Netz (kWh) |
+ Solar-ZEV (kWh) |
+ Kauf Solar (CHF) |
+ Kauf Netz (CHF) |
+ Verkauf Netz (CHF) |
+ Verkauf ZEV (CHF) |
+ Total CHF |
+
";
+
+ if (empty($this->powerCostCache) || !isset($this->powerCostCache[$userId])) {
+ $html .= "| Keine Stromzähler für diesen Benutzer |
";
+ return ['html' => $html, 'sum' => 0.0];
+ }
+
+ $sum = 0.0;
+ $rowIndex = 0;
+
+ foreach ($this->powerCostCache[$userId] as $name => $a) {
+
+ $subtotal = $a['cost_grid'] + $a['cost_solar'] - ($a['rev_feedin'] + $a['rev_zev']);
+ $sum += $subtotal;
+
+ $rowClass = ($rowIndex % 2 === 0) ? "row-even" : "row-odd";
+ $rowIndex++;
+
+ // Datenzeile
+ $html .= "
+ | {$a['name']} |
+ " . number_format($a['imp'], 3) . " |
+ " . number_format($a['exp'], 3) . " |
+ " . number_format($a['solar_bezug'], 3) . " |
+ " . number_format($a['netz_bezug'], 3) . " |
+ " . number_format($a['solareinspeisung'], 3) . " |
+ " . number_format($a['solarverkauf'], 3) . " |
+ " . number_format($a['cost_solar'], 2) . " |
+ " . number_format($a['cost_grid'], 2) . " |
+ " . number_format($a['rev_feedin'], 2) . " |
+ " . number_format($a['rev_zev'], 2) . " |
+ " . number_format($subtotal, 2) . " |
+
";
+
+ // Leerzeile zwischen Zählern
+ $html .= " |
";
+ }
+
+ // Totalzeile
+ $html .= "
+
+ | Total |
+ " . number_format($sum, 2) . " |
+
+ ";
+
+ return ['html' => $html, 'sum' => $sum];
}
- $sum = 0.0;
-
- foreach ($this->powerCostCache[$userId] as $name => $a) {
- $subtotal = $a['cost_grid'] + $a['cost_solar'] - ($a['rev_feedin']+$a['rev_zev']);
- $sum += $subtotal;
-
- $html .= "
- | {$a['name']} |
- " . number_format($a['imp'], 3) . " kWh |
- " . number_format($a['exp'], 3) . " kWh |
- " . number_format($a['solar_bezug'], 3) . " kWh |
- " . number_format($a['netz_bezug'], 3) . " kWh |
- " . number_format($a['solareinspeisung'], 3) . " kWh |
- " . number_format($a['solarverkauf'], 3) . " kWh |
- CHF " . number_format($a['cost_solar'], 2) . ".- |
- CHF " . number_format($a['cost_grid'], 2) . ".- |
- CHF " . number_format($a['rev_feedin'], 2) . ".- |
- CHF " . number_format($a['rev_zev'], 2) . ".- |
- CHF " . number_format($subtotal, 2) . ".- |
-
";
- }
- $html .= "
- | Total |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- CHF " . number_format($sum, 2) . ".- |
-
";
-
- return ['html' => $html, 'sum' => $sum];
- }
-
// ====================== Nebenkosten Wasser/Wärme ======================
private function CalculateAdditionalCosts($waterMeters, $tariffs, $userId, $from, $to)