no message
This commit is contained in:
@@ -398,65 +398,95 @@ class Abrechnung extends IPSModule
|
||||
|
||||
}
|
||||
|
||||
private function GetCalculatedPowerCosts($userId)
|
||||
{
|
||||
private function GetCalculatedPowerCosts($userId)
|
||||
{
|
||||
$html = "
|
||||
<table border='1' cellspacing='0' cellpadding='2' width='100%' style='font-size:4px;'>
|
||||
<tr style='background-color:#808080;'>
|
||||
<style>
|
||||
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>Import</th>
|
||||
<th>Export</th>
|
||||
<th>ZEV-Haus</th>
|
||||
<th>Netz-Haus</th>
|
||||
<th>Solar-Netz</th>
|
||||
<th>Solar-ZEV</th>
|
||||
<th>Kauf-Solar</th>
|
||||
<th>Kauf-Netz</th>
|
||||
<th>Verkauf-Netz</th>
|
||||
<th>Verkauf-ZEV</th>
|
||||
<th>Import (kWh)</th>
|
||||
<th>Export (kWh)</th>
|
||||
<th>ZEV-Haus (kWh)</th>
|
||||
<th>Netz-Haus (kWh)</th>
|
||||
<th>Solar-Netz (kWh)</th>
|
||||
<th>Solar-ZEV (kWh)</th>
|
||||
<th>Kauf Solar (CHF)</th>
|
||||
<th>Kauf Netz (CHF)</th>
|
||||
<th>Verkauf Netz (CHF)</th>
|
||||
<th>Verkauf ZEV (CHF)</th>
|
||||
<th>Total CHF</th>
|
||||
</tr>";
|
||||
</tr>";
|
||||
|
||||
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];
|
||||
}
|
||||
|
||||
$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']);
|
||||
|
||||
$subtotal = $a['cost_grid'] + $a['cost_solar'] - ($a['rev_feedin'] + $a['rev_zev']);
|
||||
$sum += $subtotal;
|
||||
|
||||
$html .= "<tr>
|
||||
$rowClass = ($rowIndex % 2 === 0) ? "row-even" : "row-odd";
|
||||
$rowIndex++;
|
||||
|
||||
// Datenzeile
|
||||
$html .= "<tr class='{$rowClass}'>
|
||||
<td>{$a['name']}</td>
|
||||
<td align='right'>" . number_format($a['imp'], 3) . " kWh</td>
|
||||
<td align='right'>" . number_format($a['exp'], 3) . " kWh</td>
|
||||
<td align='right'>" . number_format($a['solar_bezug'], 3) . " kWh</td>
|
||||
<td align='right'>" . number_format($a['netz_bezug'], 3) . " kWh</td>
|
||||
<td align='right'>" . number_format($a['solareinspeisung'], 3) . " kWh</td>
|
||||
<td align='right'>" . number_format($a['solarverkauf'], 3) . " kWh</td>
|
||||
<td align='right'>CHF " . number_format($a['cost_solar'], 2) . ".-</td>
|
||||
<td align='right'>CHF " . number_format($a['cost_grid'], 2) . ".-</td>
|
||||
<td align='right'>CHF " . number_format($a['rev_feedin'], 2) . ".-</td>
|
||||
<td align='right'>CHF " . number_format($a['rev_zev'], 2) . ".-</td>
|
||||
<td align='right'>CHF " . number_format($subtotal, 2) . ".-</td>
|
||||
<td align='right'>" . number_format($a['imp'], 3) . "</td>
|
||||
<td align='right'>" . number_format($a['exp'], 3) . "</td>
|
||||
<td align='right'>" . number_format($a['solar_bezug'], 3) . "</td>
|
||||
<td align='right'>" . number_format($a['netz_bezug'], 3) . "</td>
|
||||
<td align='right'>" . number_format($a['solareinspeisung'], 3) . "</td>
|
||||
<td align='right'>" . number_format($a['solarverkauf'], 3) . "</td>
|
||||
<td align='right'>" . number_format($a['cost_solar'], 2) . "</td>
|
||||
<td align='right'>" . number_format($a['cost_grid'], 2) . "</td>
|
||||
<td align='right'>" . number_format($a['rev_feedin'], 2) . "</td>
|
||||
<td align='right'>" . number_format($a['rev_zev'], 2) . "</td>
|
||||
<td align='right'>" . number_format($subtotal, 2) . "</td>
|
||||
</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>
|
||||
<td align='right'></td>
|
||||
<td align='right'></td>
|
||||
<td align='right'></td>
|
||||
<td align='right'></td>
|
||||
<td align='right'></td>
|
||||
<td align='right'></td>
|
||||
<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>";
|
||||
|
||||
// Totalzeile
|
||||
$html .= "
|
||||
<tr class='total-row'>
|
||||
<td colspan='11' align='right'><b>Total</b></td>
|
||||
<td align='right'><b>" . number_format($sum, 2) . "</b></td>
|
||||
</tr>
|
||||
</table>";
|
||||
|
||||
return ['html' => $html, 'sum' => $sum];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user