Files
thetool/Layout/default/Preorder/PDF_MAIN.php
2025-09-17 13:23:03 +02:00

94 lines
4.3 KiB
PHP

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Fehlerprotokoll</title>
<style>
body { font-family: "Open Sans", sans-serif, Verdana; font-size: 10px; color: #333; }
.fault-entry {
border: 1px solid #ddd;
border-radius: 5px;
margin-bottom: 15px;
padding: 12px;
page-break-inside: avoid;
}
.fault-entry h2 {
font-size: 14px;
color: #005384;
margin-top: 0;
margin-bottom: 10px;
border-bottom: 1px solid #f7c423;
padding-bottom: 5px;
}
.info-table { width: 100%; border-collapse: collapse; font-size: 10px; }
.info-table td { padding: 4px; vertical-align: top; }
.info-table td.label { font-weight: bold; width: 120px; color: #444; }
.faults-section { margin-top: 10px; border-top: 1px dashed #ccc; padding-top: 10px; }
.faults-section h3 { font-size: 12px; color: #c0392b; margin-top: 0; margin-bottom: 5px; }
.faults-section ul { margin: 0; padding-left: 20px; list-style-type: square; }
.faults-section .other-text { background-color: #fef9e7; padding: 8px; border-left: 3px solid #f7c423; margin-top: 8px; font-style: italic; }
.no-faults { text-align: center; font-size: 14px; color: #777; padding: 40px; border: 2px dashed #ccc; border-radius: 8px; }
a { color: #005384; text-decoration: none; }
a:hover { text-decoration: underline; }
</style>
</head>
<body>
<?php if (empty($faultyEntries)): ?>
<div class="no-faults">
Für die Kampagne "<?= htmlspecialchars($campaignName) ?>" wurden keine Fehler gemeldet.
</div>
<?php else: ?>
<?php foreach ($faultyEntries as $entry):
$addr = $entry['address'];
$fullAddress = htmlspecialchars($addr['strasse_name'] . ' ' . $addr['hausnummer'] . ', ' . $addr['plz_name'] . ' ' . $addr['ortschaft_name']);
?>
<div class="fault-entry">
<h2><?= $fullAddress ?></h2>
<table class="info-table">
<tr>
<td class="label">AddressDB ID:</td>
<td><?= $addr['hausnummer_id'] ?> (<a href="<?= $entry['addressDbLink'] ?>" target="_blank">Ansehen</a>)</td>
<td class="label">RIMO Type:</td>
<td><?= htmlspecialchars($addr['rimo_type'] ?: 'N/A') ?></td>
</tr>
<tr>
<td class="label">Externe Referenz:</td>
<td><?= htmlspecialchars($addr['extref'] ?: 'N/A') ?></td>
<td class="label">RIMO Op/Ex State:</td>
<td><?= htmlspecialchars($addr['rimo_op_state'] ?: 'N/A') ?> / <?= htmlspecialchars($addr['rimo_ex_state'] ?: 'N/A') ?></td>
</tr>
<tr>
<td class="label">Wohneinheiten:</td>
<td><?= $addr['wohneinheit_count'] ?></td>
<td class="label">Koordinaten:</td>
<td><?= $addr['gps_lat'] ?>, <?= $addr['gps_long'] ?> (<a href="<?= $entry['googleMapsLink'] ?>" target="_blank">Karte</a>)</td>
</tr>
</table>
<div class="faults-section">
<h3>Gemeldete Fehler</h3>
<?php if (empty($entry['faults']['reasons']) && empty(trim($entry['faults']['other']))): ?>
<p>Keine spezifischen Fehlerdetails angegeben.</p>
<?php else: ?>
<?php if (!empty($entry['faults']['reasons'])): ?>
<ul>
<?php foreach ($entry['faults']['reasons'] as $reason): ?>
<li><?= htmlspecialchars($reason) ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php if (!empty(trim($entry['faults']['other']))): ?>
<div class="other-text">
<strong>Sonstige Anmerkungen:</strong><br>
<?= nl2br($entry['faults']['other']) ?>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</body>
</html>