no message
This commit is contained in:
@@ -398,69 +398,99 @@ 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 {
|
||||||
<th>ID</th>
|
width: 100%;
|
||||||
<th>Import</th>
|
border-collapse: collapse;
|
||||||
<th>Export</th>
|
font-size: 10px;
|
||||||
<th>ZEV-Haus</th>
|
}
|
||||||
<th>Netz-Haus</th>
|
table.powercost th {
|
||||||
<th>Solar-Netz</th>
|
background-color: #444;
|
||||||
<th>Solar-ZEV</th>
|
color: white;
|
||||||
<th>Kauf-Solar</th>
|
padding: 4px;
|
||||||
<th>Kauf-Netz</th>
|
text-align: center;
|
||||||
<th>Verkauf-Netz</th>
|
font-weight: bold;
|
||||||
<th>Verkauf-ZEV</th>
|
border: 1px solid #777;
|
||||||
<th>Total CHF</th>
|
}
|
||||||
</tr>";
|
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>
|
||||||
|
|
||||||
if (empty($this->powerCostCache) || !isset($this->powerCostCache[$userId])) {
|
<table class='powercost'>
|
||||||
$html .= "<tr><td colspan='11' align='center'>Keine Stromzähler für diesen Benutzer</td></tr></table><br>";
|
<tr>
|
||||||
return ['html' => $html, 'sum' => 0.0];
|
<th>ID</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>";
|
||||||
|
|
||||||
|
if (empty($this->powerCostCache) || !isset($this->powerCostCache[$userId])) {
|
||||||
|
$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']);
|
||||||
|
$sum += $subtotal;
|
||||||
|
|
||||||
|
$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) . "</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>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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];
|
||||||
}
|
}
|
||||||
|
|
||||||
$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 .= "<tr>
|
|
||||||
<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>
|
|
||||||
</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>";
|
|
||||||
|
|
||||||
return ['html' => $html, 'sum' => $sum];
|
|
||||||
}
|
|
||||||
|
|
||||||
// ====================== Nebenkosten Wasser/Wärme ======================
|
// ====================== Nebenkosten Wasser/Wärme ======================
|
||||||
|
|
||||||
private function CalculateAdditionalCosts($waterMeters, $tariffs, $userId, $from, $to)
|
private function CalculateAdditionalCosts($waterMeters, $tariffs, $userId, $from, $to)
|
||||||
|
|||||||
Reference in New Issue
Block a user