added export feature constr consent
This commit is contained in:
@@ -170,6 +170,10 @@ $pagination_entity_name = "Zustimmungserklärungen";
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="col text-right">
|
||||
<a class="btn btn-outline-success" style="cursor: pointer" href="<?=self::getUrl("ConstructionConsent", "downloadCSV", ["filter" => $filter])?>">
|
||||
<i class="fas fa-file-csv fa-fw" title="CSV Export" aria-hidden="true" class="mr-1 chevron-icon"></i>
|
||||
CSV Export
|
||||
</a>
|
||||
<a class="btn btn-success text-white" style="cursor: pointer" data-toggle="modal" data-target="#downloadModal">
|
||||
<i class="fas fa-download"></i> Zustimmungserklärungen herunterladen
|
||||
</a>
|
||||
|
||||
@@ -115,7 +115,7 @@ class ConstructionConsent extends mfBaseModel {
|
||||
|
||||
|
||||
public function getProperty($name) {
|
||||
if($this->$name == null) {
|
||||
if($this->$name == null && $name !== 'netzgebiet_id') {
|
||||
|
||||
if($name == "journal") {
|
||||
$journal = ConstructionConsentJournal::search(["constructionconsent_id" => $this->id], false, "id DESC");
|
||||
|
||||
@@ -1145,4 +1145,106 @@ class ConstructionConsentController extends mfBaseController {
|
||||
self::returnJson(["results" => $parsedNetworks]);
|
||||
}
|
||||
|
||||
protected function downloadCSVAction() {
|
||||
$filter = $this->request->filter;
|
||||
if(!is_array($filter)) {
|
||||
$this->layout()->setFlash("Fehler beim Erstellen der CSV", "error");
|
||||
return $this->redirect("ConstructionConsent");
|
||||
}
|
||||
|
||||
$filter = $this->getPreparedFilter($filter);
|
||||
$items = ConstructionConsent::search($filter);
|
||||
$filename = 'Zustimmungserklärungen_' . date('Ymd_His') . '.csv';
|
||||
|
||||
header('Content-Type: text/csv');
|
||||
header('Content-Disposition: attachment; filename="' . rawurlencode($filename) . '"');
|
||||
header('Cache-Control: no-cache, no-store, must-revalidate');
|
||||
header('Pragma: no-cache');
|
||||
header('Expires: 0');
|
||||
|
||||
$output = fopen('php://output', 'w');
|
||||
fwrite($output, chr(0xEF) . chr(0xBB) . chr(0xBF)); // UTF-8 BOM for Excel
|
||||
|
||||
$headers = [
|
||||
'Projekt',
|
||||
'Objekttyp',
|
||||
'Objektadresse',
|
||||
'Name',
|
||||
'EZ',
|
||||
'KG',
|
||||
'GST',
|
||||
'GSTNR',
|
||||
'RIMO GN',
|
||||
'Nutzungslänge',
|
||||
'Leerrohr am Grundstück',
|
||||
'Leerrohr im Gebäude',
|
||||
'Schacht',
|
||||
'Eigentümer',
|
||||
'Planer Besichtigung',
|
||||
'Elektriker Besichtigung',
|
||||
'Leerverrohrung im Gebäude installiert',
|
||||
'Leerverrohrung bis FTU installiert',
|
||||
'Inhouse Verkabelung',
|
||||
'Anzahl Eigentümer',
|
||||
'Notiz',
|
||||
'Erstellt von',
|
||||
'Geändert von',
|
||||
'Erstellt am',
|
||||
'Geändert am',
|
||||
'Genehmigung überschrieben'
|
||||
];
|
||||
fputcsv($output, $headers, ',');
|
||||
|
||||
if ($items) {
|
||||
foreach ($items as $item) {
|
||||
$createUser = UserModel::getOne($item->create_by);
|
||||
$editUser = UserModel::getOne($item->edit_by);
|
||||
|
||||
|
||||
|
||||
$address = "";
|
||||
if($item->object_type == "street") {
|
||||
$address = $item->adb_strasse->name . ", " . $item->adb_strasse->ortschaft->name . " " . $item->adb_strasse->gemeinde->name;
|
||||
} else {
|
||||
$address = $item->adb_hausnummer->strasse->name . " " . $item->adb_hausnummer->hausnummer . ($item->adb_hausnummer->stiege ? "/".$item->adb_hausnummer->stiege : "") . " " .
|
||||
$item->adb_hausnummer->plz->plz . " " . $item->adb_hausnummer->ortschaft->name . " " .
|
||||
$item->adb_hausnummer->strasse->gemeinde->name;
|
||||
}
|
||||
|
||||
|
||||
$row = [
|
||||
$item->project->name,
|
||||
$item->object_type === 'street' ? 'Straße' : 'Gebäude',
|
||||
$address,
|
||||
$item->name,
|
||||
$item->ez,
|
||||
$item->kg,
|
||||
$item->gst,
|
||||
$item->gstnr,
|
||||
$item->rimo_gn,
|
||||
$item->usage_length,
|
||||
$item->usage_pipe_on_plot == 1 ? 'Ja' : 'Nein',
|
||||
$item->usage_pipe_in_building == 1 ? 'Ja' : 'Nein',
|
||||
$item->usage_manhole == 1 ? 'Ja' : 'Nein',
|
||||
$item->usage_owner == 1 ? 'Ja' : 'Nein',
|
||||
$item->inspection_planner > 0 ? date('d.m.Y H:i:s', $item->inspection_planner) : '',
|
||||
$item->inspection_electrician > 0 ? date('d.m.Y H:i:s', $item->inspection_electrician) : '',
|
||||
$item->conduit_installed_building > 0 ? date('d.m.Y H:i:s', $item->conduit_installed_building) : '',
|
||||
$item->conduit_installed_ftu > 0 ? date('d.m.Y H:i:s', $item->conduit_installed_ftu) : '',
|
||||
$item->inhouse_cabling > 0 ? date('d.m.Y H:i:s', $item->inhouse_cabling) : '',
|
||||
$item->owners !== null ? count($item->owners) : '',
|
||||
$item->note,
|
||||
$createUser ? $createUser->name : '',
|
||||
$editUser ? $editUser->name : '',
|
||||
date('d.m.Y H:i:s', $item->create),
|
||||
date('d.m.Y H:i:s', $item->edit),
|
||||
$item->approve_override,
|
||||
];
|
||||
fputcsv($output, $row, ',');
|
||||
}
|
||||
}
|
||||
|
||||
fclose($output);
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user