no message
This commit is contained in:
+16
-1
@@ -307,10 +307,25 @@ private function AddMeterToPDFRow($meter, $tariffs, $from, $to, $type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2️⃣ Zeitstempel konvertieren und sortieren
|
// 2️⃣ Zeitstempel konvertieren und sortieren
|
||||||
foreach ($filteredTariffs as &$t) {
|
foreach ($filteredTariffs as &$t) {// --- Fix: falls Start/End als verschachteltes JSON vorliegen ---
|
||||||
|
if (is_string($t['start']) && str_starts_with(trim($t['start']), '{')) {
|
||||||
|
$startObj = json_decode($t['start'], true);
|
||||||
|
if (is_array($startObj)) {
|
||||||
|
$t['start'] = sprintf('%04d-%02d-%02d 00:00:00', $startObj['year'], $startObj['month'], $startObj['day']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (is_string($t['end']) && str_starts_with(trim($t['end']), '{')) {
|
||||||
|
$endObj = json_decode($t['end'], true);
|
||||||
|
if (is_array($endObj)) {
|
||||||
|
$t['end'] = sprintf('%04d-%02d-%02d 23:59:59', $endObj['year'], $endObj['month'], $endObj['day']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- danach wie bisher ---
|
||||||
$t['start_ts'] = is_numeric($t['start']) ? intval($t['start']) : strtotime($t['start']);
|
$t['start_ts'] = is_numeric($t['start']) ? intval($t['start']) : strtotime($t['start']);
|
||||||
$t['end_ts'] = is_numeric($t['end']) ? intval($t['end']) : strtotime($t['end']);
|
$t['end_ts'] = is_numeric($t['end']) ? intval($t['end']) : strtotime($t['end']);
|
||||||
|
|
||||||
|
|
||||||
if (!$t['start_ts'] || !$t['end_ts']) {
|
if (!$t['start_ts'] || !$t['end_ts']) {
|
||||||
IPS_LogMessage('Abrechnung', "⚠ Ungültiger Tarifzeitraum in Tarifdefinition: " . json_encode($t));
|
IPS_LogMessage('Abrechnung', "⚠ Ungültiger Tarifzeitraum in Tarifdefinition: " . json_encode($t));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user