Added status to Adressdb export; added loading indicator in Preorder
detail view
This commit is contained in:
@@ -3,7 +3,7 @@ ob_end_flush();
|
||||
header("Content-type: text/csv");
|
||||
header('Content-disposition: attachment; filename="addressdb-export-'.date('Y-m-d_H-i-s').'.csv"');
|
||||
?>
|
||||
AddressDB_ID;Extref;Adrcd;OAID;Netzgebiet_Extref;Netzgebiet;GKZ;Gemeinde;OKZ;Ortschaft;PLZ;SKZ;Strasse;Hausnummer;Grundstueck;GPS Breite; GPS Laenge;Rollout;Rollout_Info;Freigabe;Nutzungseinheiten;GDA-Eigenschaft;Meridian;RW;HW
|
||||
AddressDB_ID;Extref;Adrcd;OAID;Status Code; Status Name;Netzgebiet_Extref;Netzgebiet;GKZ;Gemeinde;OKZ;Ortschaft;PLZ;SKZ;Strasse;Hausnummer;Grundstueck;GPS Breite; GPS Laenge;Rollout;Rollout_Info;Freigabe;Nutzungseinheiten;GDA-Eigenschaft;Meridian;RW;HW
|
||||
<?php
|
||||
$line = 0;
|
||||
|
||||
@@ -13,6 +13,7 @@ while($data = mysqli_fetch_object($res)):
|
||||
$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);
|
||||
@@ -21,7 +22,7 @@ while($data = mysqli_fetch_object($res)):
|
||||
}
|
||||
$unit_count = $data->unit_count;
|
||||
?>
|
||||
<?=$data->id?>;"<?=$data->extref?>";<?=$data->adrcd?>;"<?=$data->oaid?>";"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";<?=$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->id?>;"<?=$data->extref?>";<?=$data->adrcd?>;"<?=$data->oaid?>";"<?=$status->code?>";"<?=$status->name?>";"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";<?=$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?>
|
||||
|
||||
<?php
|
||||
$i++;
|
||||
|
||||
@@ -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;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;OAID;Bestelltyp;Status;Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;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;Erstellt;Letzte Bearbeitung
|
||||
Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;OAID;Bestelltyp;Status Code; Status Name;Anschlusstyp;GWR Adresscode;Meridian;RW;HW;Anschluss Strasse;Anschluss Hausnummer;Anschluss PLZ;Anschluss Ort;Anschluss Wohneinheit;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;Erstellt;Letzte Bearbeitung
|
||||
<?php
|
||||
$line = 0;
|
||||
|
||||
@@ -57,7 +57,7 @@ while($data = mysqli_fetch_object($res)):
|
||||
if($data->uid == "string") $data->uid = "";
|
||||
|
||||
?>
|
||||
"<?=$campaign->name?>";"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";"<?=$data->extref?>";"<?=$data->ucode?>";"<?=$wohneinheit->oaid?>";"<?=__($data->type,"preorder")?>";"<?=$status->name?>";"<?=__($data->connection_type,"preorder")?>";"<?=$hausnummer->adrcd?>";"<?=$hausnummer->meridian?>";"<?=$hausnummer->rw?>";"<?=$hausnummer->hw?>";"<?=$strasse->name?>";"<?=$hausnummer->hausnummer?>";"<?=$plz->plz?>";"<?=$ortschaft->name?>";"<?=$unit_data?>";"<?=$hausnummer->gps_lat?>";"<?=$hausnummer->gps_long?>";<?=$data->connection_count?>;"<?=$data->company?>";"<?=$data->uid?>";"<?=$data->firstname?>";"<?=$data->lastname?>";"<?=$data->street?>";"<?=$data->zip?>";"<?=$data->city?>";"<?=$data->phone?>";"<?=$data->email?>";"<?=$partner->getCompanyOrName()?>";<?=$addon_property?>;<?=$addon_inhouse?>;<?=($bep) ? "1" : "0"?>;<?=($inhouse) ? "1" : "0"?>;"<?=date("Y-m-d H:i:s",$data->create)?>";"<?=date("Y-m-d H:i:s",$data->edit)?>"
|
||||
"<?=$campaign->name?>";"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";"<?=$data->extref?>";"<?=$data->ucode?>";"<?=$wohneinheit->oaid?>";"<?=__($data->type,"preorder")?>";"<?=$status->code?>";"<?=$status->name?>";"<?=__($data->connection_type,"preorder")?>";"<?=$hausnummer->adrcd?>";"<?=$hausnummer->meridian?>";"<?=$hausnummer->rw?>";"<?=$hausnummer->hw?>";"<?=$strasse->name?>";"<?=$hausnummer->hausnummer?>";"<?=$plz->plz?>";"<?=$ortschaft->name?>";"<?=$unit_data?>";"<?=$hausnummer->gps_lat?>";"<?=$hausnummer->gps_long?>";<?=$data->connection_count?>;"<?=$data->company?>";"<?=$data->uid?>";"<?=$data->firstname?>";"<?=$data->lastname?>";"<?=$data->street?>";"<?=$data->zip?>";"<?=$data->city?>";"<?=$data->phone?>";"<?=$data->email?>";"<?=$partner->getCompanyOrName()?>";<?=$addon_property?>;<?=$addon_inhouse?>;<?=($bep) ? "1" : "0"?>;<?=($inhouse) ? "1" : "0"?>;"<?=date("Y-m-d H:i:s",$data->create)?>";"<?=date("Y-m-d H:i:s",$data->edit)?>"
|
||||
<?php
|
||||
$line++;
|
||||
if($line % 1000 === 0) {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<div class="card-body" id="preorder-<?=$preorder->id?>-body">
|
||||
<div class="row justify-content-center mt-2">
|
||||
<div class="col-12">
|
||||
|
||||
<ul class="nav nav-tabs order-tab">
|
||||
<li class="nav-item"><a class="nav-link active" href="#preorder-detail-<?=$preorder->id?>-detail" data-toggle="tab" aria-expanded="false">Details</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#preorder-detail-<?=$preorder->id?>-address" data-toggle="tab" aria-expanded="false">Adressdetails</a></li>
|
||||
@@ -23,6 +24,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="loader-big hidden" ><img src="<?=self::getResourcePath()?>assets/images/loader-big.gif" /></div>
|
||||
<h3>Allgemein</h3>
|
||||
<table class="table table-sm table-striped">
|
||||
<tr>
|
||||
@@ -367,6 +369,16 @@
|
||||
|
||||
var value = $("#preorder-detail-status-" + pid + "-input select").val();
|
||||
|
||||
//console.log("add opacity-5 to ")
|
||||
$("#preorder-" + pid + "-body").addClass("opacity-5");
|
||||
$("#preorder-" + pid + "-body .loader-big").show();
|
||||
|
||||
// reset loading overlay if request times out
|
||||
setTimeout(() => {
|
||||
$("#preorder-" + pid + "-body").removeClass("opacity-5");
|
||||
$("#preorder-" + pid + "-body .loader-big").hide();
|
||||
}, 5000);
|
||||
|
||||
$.post("<?=self::getUrl("Preorder","Api")?>",
|
||||
{
|
||||
'do': "updateStatus",
|
||||
@@ -375,7 +387,32 @@
|
||||
},
|
||||
function(success) {
|
||||
if(success.status == "OK") {
|
||||
var update = success.result.update;
|
||||
var updates = success.result.updates;
|
||||
//console.log(updates);
|
||||
|
||||
updates.forEach(function(u) {
|
||||
//console.log(u);
|
||||
// update detail status text
|
||||
$("#preorder-detail-status-" + u.id + "-statustext").text(u.code + " - " + u.text);
|
||||
$("#preorder-detail-status-" + u.id + "-text").addClass("text-success");
|
||||
setTimeout(() => { $("#preorder-detail-status-" + u.id + "-text").removeClass("text-success") }, 1500);
|
||||
|
||||
// update list status text
|
||||
$("#preorder-" + u.id + " .status").text(u.code + " - " + u.text);
|
||||
$("#preorder-" + u.id + " .status").addClass("text-success");
|
||||
setTimeout(() => { $("#preorder-" + u.id + " .status").removeClass("text-success") }, 1500);
|
||||
|
||||
// update status id data attribute
|
||||
$("#preorder-detail-status-" + u.id + "-text").data("status-id", u.sid);
|
||||
|
||||
if(u.bcode) {
|
||||
$("#preorder-detail-building-status-" + u.id).text(u.bcode + " - " + u.btext);
|
||||
}
|
||||
if(u.ucode) {
|
||||
$("#preorder-detail-unit-status-" + u.id).text(u.ucode + " - " + u.utext);
|
||||
}
|
||||
});
|
||||
/*
|
||||
if("preorder" in update) {
|
||||
// update detail status text
|
||||
$("#preorder-detail-status-" + pid + "-statustext").text(update.preorder.status.code + " - " + update.preorder.status.text);
|
||||
@@ -399,10 +436,13 @@
|
||||
// update unit status text
|
||||
$("#preorder-detail-unit-status-" + pid).text(update.unit.status.code + " - " + update.unit.status.text);
|
||||
}
|
||||
|
||||
*/
|
||||
toggleStatusControl(pid);
|
||||
|
||||
}
|
||||
|
||||
$("#preorder-" + pid + "-body").removeClass("opacity-5");
|
||||
$("#preorder-" + pid + "-body .loader-big").hide();
|
||||
},
|
||||
'json');
|
||||
}
|
||||
|
||||
@@ -50,6 +50,8 @@ class Preorder extends mfBaseModel {
|
||||
|
||||
// Cascade status changes down to adb_hausnummer and adb_wohneinheit
|
||||
$this->cascadeStatus();
|
||||
// Cascade status changes down all active preorders with the same hausnummer
|
||||
$this->cascadeStatusToPreorders();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -138,6 +140,31 @@ class Preorder extends mfBaseModel {
|
||||
|
||||
}
|
||||
|
||||
private function cascadeStatusToPreorders() {
|
||||
$status = new Preorderstatus($this->status_id);
|
||||
if(!$status->id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->adb_hausnummer_id) {
|
||||
foreach(PreorderModel::search(["deleted" => 0, "adb_hausnummer_id" => $this->adb_hausnummer_id, "<status_code" => $status->code]) as $preorder) {
|
||||
if($preorder->id == $this->id) continue;
|
||||
|
||||
/*if(!$preorder->status->code || !$status->code) {
|
||||
$this->log->debug("Preorder->status->code". print_r($preorder->status, true));
|
||||
$this->log->debug("Status->code". print_r($status->code, true));
|
||||
}*/
|
||||
|
||||
if($preorder->status->code < $status->code && $status->code <= 244) {
|
||||
$preorder->status_id = $this->status_id;
|
||||
$preorder->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function setOrCreateOaid($oaid_attributes = false) {
|
||||
$campaign = new Preordercampaign($this->preordercampaign_id);
|
||||
//var_dump($campaign);exit;
|
||||
|
||||
@@ -966,8 +966,26 @@ class PreorderController extends mfBaseController {
|
||||
$preorder->status_id = $status_id;
|
||||
$preorder->save();
|
||||
|
||||
$update = [];
|
||||
|
||||
$update = [
|
||||
foreach(PreorderModel::search(["deleted" => 0, "adb_hausnummer_id" => $preorder->adb_hausnummer_id]) as $affected_preorder) {
|
||||
$up = [
|
||||
"id" => $affected_preorder->id,
|
||||
"sid" => $affected_preorder->status_id,
|
||||
"code" => $affected_preorder->status->code,
|
||||
"text" => $affected_preorder->status->name,
|
||||
"bcode" => $affected_preorder->adb_hausnummer->status->code,
|
||||
"btext" => $affected_preorder->adb_hausnummer->status->name,
|
||||
];
|
||||
if($preorder->adb_wohneinheit_id) {
|
||||
$up["ucode"] = $affected_preorder->adb_wohneinheit->status->code;
|
||||
$up["utext"] = $affected_preorder->adb_wohneinheit->status->name;
|
||||
}
|
||||
|
||||
$update[] = $up;
|
||||
}
|
||||
|
||||
/* $update = [
|
||||
"preorder" => [
|
||||
"status" => [
|
||||
"id" => $status->id,
|
||||
@@ -996,8 +1014,8 @@ class PreorderController extends mfBaseController {
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
return ["message" => "Status saved successfully", "id" => $preorder_id, "update" => $update];
|
||||
*/
|
||||
return ["message" => "Status saved successfully", "id" => $preorder_id, "updates" => $update];
|
||||
}
|
||||
|
||||
private function deleteWorkorderApi() {
|
||||
|
||||
@@ -112,6 +112,17 @@ h1, h2, h3, h4, h5, h6 {
|
||||
color: #0d6efd;
|
||||
}
|
||||
|
||||
.opacity-5 {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.opacity-3 {
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.loader-big {
|
||||
position: absolute; width: 100%; height: 100%; text-align: center; z-index: 1
|
||||
}
|
||||
|
||||
.contract-link {
|
||||
|
||||
}
|
||||
|
||||
BIN
public/assets/images/loader-big.gif
Normal file
BIN
public/assets/images/loader-big.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
Reference in New Issue
Block a user