diff --git a/Abrechnung/module.php b/Abrechnung/module.php index ec5a8fd..72a1816 100644 --- a/Abrechnung/module.php +++ b/Abrechnung/module.php @@ -108,126 +108,124 @@ class Abrechnung extends IPSModule // 🧱 Layout / PDF-Aufbau pro Benutzerseite // =========================================================== private function BuildUserInvoice($user, $power, $water, $tariffs, $from, $to) - { - $stromRows = ''; - $stromTotal = 0.0; - $stromTariffsUsed = []; +{ + $stromRows = ''; + $stromTotal = 0.0; + $stromTariffsUsed = []; - $nebenRows = ''; - $nebenTotal = 0.0; - $nebenTariffsUsed = []; + $nebenRows = ''; + $nebenTotal = 0.0; + $nebenTariffsUsed = []; - // ---------- Stromkosten ---------- - foreach ($power as $m) { - if ($m['user_id'] != $user['id']) continue; - $res = $this->AddMeterToPDFRow($m, $tariffs, $from, $to, 'Strombezug'); - $stromRows .= $res['row']; - $stromTotal += $res['value']; - - foreach ($tariffs as $t) { - if (strtolower($t['unit_type']) == 'strombezug') { - $sTs = $this->toUnixTs($t['start'], false); - $eTs = $this->toUnixTs($t['end'], true); - if ($sTs && $eTs) { - $period = date('d.m.Y', $sTs) . ' - ' . date('d.m.Y', $eTs); - $stromTariffsUsed[$period] = number_format(floatval($t['price']), 2); - } - } - } - } - - // ---------- Nebenkosten ---------- - foreach ($water as $m) { - if ($m['user_id'] != $user['id']) continue; - $type = $m['meter_type'] ?? 'Warmwasser'; - $res = $this->AddMeterToPDFRow($m, $tariffs, $from, $to, $type); - $nebenRows .= $res['row']; - $nebenTotal += $res['value']; - - foreach ($tariffs as $t) { - $u = strtolower($t['unit_type'] ?? ''); - if (in_array($u, ['warmwasser', 'kaltwasser', 'wärme'])) { - $sTs = $this->toUnixTs($t['start'], false); - $eTs = $this->toUnixTs($t['end'], true); - if ($sTs && $eTs) { - $period = date('d.m.Y', $sTs) . ' - ' . date('d.m.Y', $eTs); - $nebenTariffsUsed[$period] = number_format(floatval($t['price']), 2); - } - } - } - } - - $gesamtTotal = $stromTotal + $nebenTotal; - $tableStyle = "border-collapse:collapse;width:100%;font-size:8px;"; - $cellStyle = "border:0.3px solid #999;padding:2px;"; - - $html = " -
{$user['address']}
{$user['city']}
Abrechnungszeitraum: " . date('d.m.Y', $from) . " – " . date('d.m.Y', $to) . "
- -| Zähler | -Typ | -Startzeit | -Endzeit | -Start | -Ende | -Verbrauch | -Tarif (Rp) | -Kosten (CHF) | -
|---|---|---|---|---|---|---|---|---|
| Total Stromkosten: | -" . number_format($stromTotal, 2) . " | -|||||||
Angewendete Tarife:
";
- foreach ($stromTariffsUsed as $period => $price) {
- $html .= " {$period}: {$price} Rp/kWh
";
- }
- $html .= "
| Zähler | -Typ | -Startzeit | -Endzeit | -Start | -Ende | -Verbrauch | -Tarif (Rp) | -Kosten (CHF) | -
|---|---|---|---|---|---|---|---|---|
| Total Nebenkosten: | -" . number_format($nebenTotal, 2) . " | -|||||||
Angewendete Tarife:
";
- foreach ($nebenTariffsUsed as $period => $price) {
- $html .= " {$period}: {$price} Rp/m³ oder kWh
";
- }
- $html .= "
{$user['address']}
{$user['city']}
Abrechnungszeitraum: " . date('d.m.Y', $from) . " – " . date('d.m.Y', $to) . "
"; + + // ---------- Stromkosten ---------- + $html .= " +| Zähler | +Typ | +Startzeit | +Endzeit | +Start | +Ende | +Verbrauch | +Tarif (Rp) | +Kosten (CHF) | +
|---|---|---|---|---|---|---|---|---|
| Total Stromkosten: | +" . number_format($stromTotal, 2) . " | +|||||||
| Zähler | +Typ | +Startzeit | +Endzeit | +Start | +Ende | +Verbrauch | +Tarif (Rp) | +Kosten (CHF) | +
|---|---|---|---|---|---|---|---|---|
| Total Nebenkosten: | +" . number_format($nebenTotal, 2) . " | +|||||||
| {$type} | |
| {$line} |