From 469b3ccdd7f275efcf464fb8f4b6d7ea13c72c2b Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 30 Mar 2023 14:13:12 +0200 Subject: [PATCH] Expanded Preorder Export csv --- Layout/default/Building/Index.php | 71 +++++++++++++++------ Layout/default/Preorder/export.csv.php | 21 +++++- application/Building/BuildingController.php | 2 +- 3 files changed, 73 insertions(+), 21 deletions(-) diff --git a/Layout/default/Building/Index.php b/Layout/default/Building/Index.php index f744a5ff9..7d96ab7b6 100644 --- a/Layout/default/Building/Index.php +++ b/Layout/default/Building/Index.php @@ -110,9 +110,12 @@ Übersichtskarte einblenden @@ -359,34 +362,66 @@ var markers = []; var markerState = true; var mapCenterPos = [, ]; + var tileLayers = []; + var tilesets = ["mapbox/streets-v12", "mapbox/satellite-streets-v12"]; + var currentTileset = "mapbox/streets-v12"; + + function toggleTileset() { + if(currentTileset == "mapbox/streets-v12") { + currentTileset = "mapbox/satellite-streets-v12"; + } else { + currentTileset = "mapbox/streets-v12"; + } + + console.log("renderMap"); + renderMap(true); + } function refreshMap() { // get buildings and render map $('#map-link').hide(); $('#map-row').show(); getMapdata(); + $([document.documentElement, document.body]).animate({ + scrollTop: $("#building-map").offset().top - 150 + }, 500); } - function renderMap() { + function renderMap(tilesetChangeOnly = false) { if(buildingMap) { - markers.forEach(function(m) { - buildingMap.removeLayer(m); - }); + if(!tilesetChangeOnly) { + markers.forEach(function(m) { + buildingMap.removeLayer(m); + }); + } } else { buildingMap = L.map('building-map').setView([, ], 12); } - L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', { - attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox', - minZoom: 4, - maxZoom: 22, - id: 'mapbox/streets-v11', - accessToken: '' - }).addTo(buildingMap); + if(!(currentTileset in tileLayers)) { + tileLayers[currentTileset] = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', { + attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox', + minZoom: 6, + maxZoom: 22, + id: currentTileset, + accessToken: '' + }); + } + + + tileLayers[currentTileset].addTo(buildingMap); + // remove all tilesets not currently wanted + tilesets.forEach(function(t) { + if(t != currentTileset && buildingMap.hasLayer(tileLayers[t])) { + buildingMap.removeLayer(tileLayers[t]); + } + }); L.MakiMarkers.accessToken = ''; - addMarkers(); + if(!tilesetChangeOnly) { + addMarkers(); + } } @@ -404,13 +439,13 @@ var gps = [building.gps_lat, building.gps_long]; all_coords.push(gps); - var icon_color = "#CB2B3E"; + var icon_color = "#ec98a2"; var icon_name = "home"; if(building.status == "connected") { - icon_color = "#2AAD27"; + icon_color = "#acf0ab"; } else if(building.status == "pipework-done") { - icon_color = "#CB8427"; + icon_color = "#ffcd8b"; } if(building.type.match(/^(Zwei)/i)) { diff --git a/Layout/default/Preorder/export.csv.php b/Layout/default/Preorder/export.csv.php index 2047fd008..ee83f1e92 100644 --- a/Layout/default/Preorder/export.csv.php +++ b/Layout/default/Preorder/export.csv.php @@ -3,7 +3,7 @@ ob_end_flush(); header("Content-type: text/csv"); header('Content-disposition: attachment; filename="preorder-export-'.date('Y-m-d_H-i-s').'.csv"'); ?> -Kampagne;Bestelltyp;Status;Anschlusstyp;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;BEP festgelegt;Starterpaket erhalten; +Kampagne;thetool AdressID;thetool WohneinheitID;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;OAID;Bestelltyp;Status;Anschlusstyp;GWR Adresscode;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;Grundstück;GDA Eigenschaft;GPS Breite;GPS Länge;Anzahl Anschlüsse;Kunde Firma;Kunde UID;Kunde Vorname;Kunde Nachname;Kunde Strasse;Kunde PLZ;Kunde Ort;Kunde Telefon;Kunde Email;Partner;Addon Lehrverrohrung Grundstück;Addon Hausverkabelung;BEP festgelegt;Starterpaket erhalten; status_id); $hausnummer = Layout::getMfValuecacheObject("ADBHausnummer", $data->adb_hausnummer_id); $wohneinheit = Layout::getMfValuecacheObject("ADBWohneinheit", $data->adb_wohneinheit_id); + $netzgebiet = Layout::getMfValuecacheObject("ADBNetzgebiet", $hausnummer->netzgebiet_id); $strasse = Layout::getMfValuecacheObject("ADBStrasse", $hausnummer->strasse_id); $gemeinde = Layout::getMfValuecacheObject("ADBGemeinde",$strasse->gemeinde_id); $ortschaft = Layout::getMfValuecacheObject("ADBOrtschaft", $hausnummer->ortschaft_id); @@ -37,8 +38,24 @@ while($data = mysqli_fetch_object($res)): if($attribs['inhouse_cabling_supplied']) $inhouse = true; } + $addon_property = 0; + $addon_inhouse = 0; + if($data->addon_services) { + $services = json_decode($data->addon_services); + if(is_array($services) && count($services)) { + foreach($services as $service) { + if($service->service == "installation_onproperty" && $service->ordered) { + $addon_property = 1; + } + if($service->service == "installation_inhouse" && $service->ordered) { + $addon_inhouse = 1; + } + } + } + } + ?> -"name?>";"type,"preorder")?>";"name?>";"connection_type,"preorder")?>";"name?>";"hausnummer?>";"plz?>";"name?>";"";connection_count?>;"company?>";"uid?>";"firstname?>";"lastname?>";"street?>";"zip?>";"city?>";"phone?>";"email?>";"getCompanyOrName()?>";;; +"name?>";adb_hausnummer_id?>;adb_wohneinheit_id?>;"extref?>";"name?>";"extref?>";"ucode?>";"oaid?>";"type,"preorder")?>";"name?>";"connection_type,"preorder")?>";"adrcd?>";"name?>";"hausnummer?>";"plz?>";"name?>";"";"grund_nr?>";"gdaeigenschaft?>";"gps_lat?>";"gps_long?>";connection_count?>;"company?>";"uid?>";"firstname?>";"lastname?>";"street?>";"zip?>";"city?>";"phone?>";"email?>";"getCompanyOrName()?>";;;;; log->debug("building status: ".print_r($building->status,true)); - if($term->status->code == TT_TERMSTATUS_CONNECTED) { + if($term->status->code >= TT_TERMSTATUS_CONNECTED) { $building_term['status'] = "connected"; $data->status = "connected"; } elseif($building->status->code == TT_BUILDINGSTATUS_CONNECTED) {