no message

This commit is contained in:
dh
2025-12-12 08:54:06 +01:00
parent b68db49f72
commit 6650164acc
+73 -43
View File
@@ -398,65 +398,95 @@ class Abrechnung extends IPSModule
} }
private function GetCalculatedPowerCosts($userId) private function GetCalculatedPowerCosts($userId)
{ {
$html = " $html = "
<table border='1' cellspacing='0' cellpadding='2' width='100%' style='font-size:4px;'> <style>
<tr style='background-color:#808080;'> table.powercost {
width: 100%;
border-collapse: collapse;
font-size: 10px;
}
table.powercost th {
background-color: #444;
color: white;
padding: 4px;
text-align: center;
font-weight: bold;
border: 1px solid #777;
}
table.powercost td {
padding: 3px 4px;
border: 1px solid #ccc;
}
.row-even { background-color: #f7f7f7; }
.row-odd { background-color: #ffffff; }
.row-empty { background-color: #e0e0e0; height: 5px; }
.total-row {
background-color: #ddd;
font-weight: bold;
}
</style>
<table class='powercost'>
<tr>
<th>ID</th> <th>ID</th>
<th>Import</th> <th>Import (kWh)</th>
<th>Export</th> <th>Export (kWh)</th>
<th>ZEV-Haus</th> <th>ZEV-Haus (kWh)</th>
<th>Netz-Haus</th> <th>Netz-Haus (kWh)</th>
<th>Solar-Netz</th> <th>Solar-Netz (kWh)</th>
<th>Solar-ZEV</th> <th>Solar-ZEV (kWh)</th>
<th>Kauf-Solar</th> <th>Kauf Solar (CHF)</th>
<th>Kauf-Netz</th> <th>Kauf Netz (CHF)</th>
<th>Verkauf-Netz</th> <th>Verkauf Netz (CHF)</th>
<th>Verkauf-ZEV</th> <th>Verkauf ZEV (CHF)</th>
<th>Total CHF</th> <th>Total CHF</th>
</tr>"; </tr>";
if (empty($this->powerCostCache) || !isset($this->powerCostCache[$userId])) { if (empty($this->powerCostCache) || !isset($this->powerCostCache[$userId])) {
$html .= "<tr><td colspan='11' align='center'>Keine Stromzähler für diesen Benutzer</td></tr></table><br>"; $html .= "<tr><td colspan='12' align='center'>Keine Stromzähler für diesen Benutzer</td></tr></table>";
return ['html' => $html, 'sum' => 0.0]; return ['html' => $html, 'sum' => 0.0];
} }
$sum = 0.0; $sum = 0.0;
$rowIndex = 0;
foreach ($this->powerCostCache[$userId] as $name => $a) { foreach ($this->powerCostCache[$userId] as $name => $a) {
$subtotal = $a['cost_grid'] + $a['cost_solar'] - ($a['rev_feedin']+$a['rev_zev']);
$subtotal = $a['cost_grid'] + $a['cost_solar'] - ($a['rev_feedin'] + $a['rev_zev']);
$sum += $subtotal; $sum += $subtotal;
$html .= "<tr> $rowClass = ($rowIndex % 2 === 0) ? "row-even" : "row-odd";
$rowIndex++;
// Datenzeile
$html .= "<tr class='{$rowClass}'>
<td>{$a['name']}</td> <td>{$a['name']}</td>
<td align='right'>" . number_format($a['imp'], 3) . " kWh</td> <td align='right'>" . number_format($a['imp'], 3) . "</td>
<td align='right'>" . number_format($a['exp'], 3) . " kWh</td> <td align='right'>" . number_format($a['exp'], 3) . "</td>
<td align='right'>" . number_format($a['solar_bezug'], 3) . " kWh</td> <td align='right'>" . number_format($a['solar_bezug'], 3) . "</td>
<td align='right'>" . number_format($a['netz_bezug'], 3) . " kWh</td> <td align='right'>" . number_format($a['netz_bezug'], 3) . "</td>
<td align='right'>" . number_format($a['solareinspeisung'], 3) . " kWh</td> <td align='right'>" . number_format($a['solareinspeisung'], 3) . "</td>
<td align='right'>" . number_format($a['solarverkauf'], 3) . " kWh</td> <td align='right'>" . number_format($a['solarverkauf'], 3) . "</td>
<td align='right'>CHF " . number_format($a['cost_solar'], 2) . ".-</td> <td align='right'>" . number_format($a['cost_solar'], 2) . "</td>
<td align='right'>CHF " . number_format($a['cost_grid'], 2) . ".-</td> <td align='right'>" . number_format($a['cost_grid'], 2) . "</td>
<td align='right'>CHF " . number_format($a['rev_feedin'], 2) . ".-</td> <td align='right'>" . number_format($a['rev_feedin'], 2) . "</td>
<td align='right'>CHF " . number_format($a['rev_zev'], 2) . ".-</td> <td align='right'>" . number_format($a['rev_zev'], 2) . "</td>
<td align='right'>CHF " . number_format($subtotal, 2) . ".-</td> <td align='right'>" . number_format($subtotal, 2) . "</td>
</tr>"; </tr>";
// Leerzeile zwischen Zählern
$html .= "<tr class='row-empty'><td colspan='12'></td></tr>";
} }
$html .= "<tr style='background-color:#f9f9f9; font-weight:bold;'>
<td colspan='25' align='right'><b>Total</b></td> // Totalzeile
<td align='right'></td> $html .= "
<td align='right'></td> <tr class='total-row'>
<td align='right'></td> <td colspan='11' align='right'><b>Total</b></td>
<td align='right'></td> <td align='right'><b>" . number_format($sum, 2) . "</b></td>
<td align='right'></td> </tr>
<td align='right'></td> </table>";
<td align='right'></td>
<td align='right'></td>
<td align='right'></td>
<td align='right'></td>
<td align='right'><b>CHF " . number_format($sum, 2) . ".-</b></td>
</tr>";
return ['html' => $html, 'sum' => $sum]; return ['html' => $html, 'sum' => $sum];
} }