Merge branch 'fronkdev' into 'master'
Added csv template for AddressDB Home Export See merge request fronk/thetool!697
This commit is contained in:
62
Layout/default/AddressDB/export_homes.csv.php
Normal file
62
Layout/default/AddressDB/export_homes.csv.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* @var boolean $no_filename
|
||||
* @var resource $res
|
||||
*/
|
||||
$i = 0;
|
||||
ob_end_flush();
|
||||
header("Content-type: text/csv; charset=utf-8");
|
||||
if(!$no_filename) {
|
||||
header('Content-disposition: attachment; filename="addressdb-homes-export-'.date('Y-m-d_H-i-s').'.csv"');
|
||||
}
|
||||
//header('Content-disposition: attachment; filename="addressdb-export-'.date('Y-m-d_H-i-s').'.csv"');
|
||||
|
||||
$status_flags_header = [];
|
||||
foreach(ADBStatusflagModel::getAll() as $sflag) {
|
||||
$status_flags_header[$sflag->code] = $sflag->code;
|
||||
}
|
||||
|
||||
?>
|
||||
<?="\u{FEFF}"?>AddressDB_ID;Extref;Adrcd;OAID;Status Code;Status Name;"<?=implode('";"', $status_flags_header)?>";Netzgebiet_Extref;Netzgebiet;Rimo Building External ID;GKZ;Gemeinde;OKZ;Ortschaft;PLZ;SKZ;Strasse;Hausnummer;Grundstueck;GPS Breite;GPS Laenge;Rollout;Rollout_Info;Freigabe;Nutzungseinheiten;GDA-Eigenschaft;Meridian;RW;HW;Sichtbarkeit;Home Nummer;Home Extref;Home OAID;Block;Stiege;Stock;Tür;Zusatz;Bezeichner;Anzahl Bestellungen;"<?=implode('";"', $status_flags_header)?>";Erstellt;Letzte Bearbeitung
|
||||
<?php
|
||||
$line = 0;
|
||||
|
||||
while($data = mysqli_fetch_object($res)):
|
||||
$hausnummer = new ADBHausnummer($data->id);
|
||||
$netzgebiet = Layout::getMfValuecacheObject("ADBNetzgebiet", $data->netzgebiet_id);
|
||||
$strasse = Layout::getMfValuecacheObject("ADBStrasse", $data->strasse_id);
|
||||
$gemeinde = Layout::getMfValuecacheObject("ADBGemeinde",$strasse->gemeinde_id);
|
||||
$ortschaft = Layout::getMfValuecacheObject("ADBOrtschaft", $data->ortschaft_id);
|
||||
$plz = Layout::getMfValuecacheObject("ADBPlz", $data->plz_id);
|
||||
$status = Layout::getMfValuecacheObject("ADBStatus", $data->status_id);
|
||||
$freigabe_array = json_decode($data->freigabe);
|
||||
if(is_array($freigabe_array)) {
|
||||
$freigabe = join(", ", $freigabe_array);
|
||||
} else {
|
||||
$freigabe = "";
|
||||
}
|
||||
$unit_count = $data->unit_count;
|
||||
$homes = $hausnummer->wohneinheiten;
|
||||
if(!$homes) continue;
|
||||
|
||||
$statusflags = [];
|
||||
foreach($hausnummer->statusflags as $sflag) {
|
||||
$statusflags[$sflag->code] = $sflag->value->value ? 1 : 0;
|
||||
}
|
||||
|
||||
$homeflags = [];
|
||||
foreach($homes as $home) {
|
||||
$order_count = PreorderModel::count(["adb_wohneinheit_id" => $home->id]);
|
||||
foreach($home->statusflags as $sflag) {
|
||||
$homeflags[$sflag->code] = $sflag->value->value ? 1 : 0;
|
||||
}
|
||||
?>
|
||||
<?=$data->id?>;"<?=$data->extref?>";<?=$data->adrcd?>;"<?=$data->oaid?>";"<?=$status->code?>";"<?=$status->name?>";<?=implode(";", $statusflags)?>;"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";"<?=$data->rimo_id?>";<?=$gemeinde->kennziffer?>;"<?=$gemeinde->name?>";<?=$ortschaft->kennziffer?>;"<?=$ortschaft->name?>";"<?=$plz->plz?>";<?=$strasse->kennziffer?>;"<?=$strasse->name?>";"<?=$data->hausnummer?>";"<?=$data->grund_nr?>";<?=$data->gps_lat?>;<?=$data->gps_long?>;<?=$data->rollout?>;"<?=$data->rollout_info?>";"<?=$freigabe?>";<?=$unit_count?>;"<?=$data->gdaeigenschaft?>";"<?=$data->meridian?>";<?=$data->rw?>;<?=$data->hw?>;<?=$data->visibility?>;<?=$home->num?>;"<?=$home->extref?>";"<?=$home->oaid?>";"<?=$home->block?>";"<?=$home->stiege?>";"<?=$home->stock?>";"<?=$home->tuer?>";"<?=$home->zusatz?>";"<?=$home->bezeichner?>";<?=$order_count?>;<?=implode(";", $homeflags)?>;"<?=date("Y-m-d H:i:s",$home->create)?>";"<?=date("Y-m-d H:i:s",$home->edit)?>"
|
||||
<?php
|
||||
$i++;
|
||||
if($line % 1000 === 0) {
|
||||
flush();
|
||||
}
|
||||
}
|
||||
|
||||
endwhile;
|
||||
Reference in New Issue
Block a user