Merge branch 'Preorder/add-new-filter' into 'master'
added new filter See merge request fronk/thetool!1634
This commit is contained in:
@@ -450,6 +450,7 @@ $pagination_entity_name = "Vorbestellungen";
|
||||
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
||||
<li><a class="dropdown-item" href="<?=self::getUrl("Preorder", "Index", ["filter" => ["status" => [21,22,23,24,25], "rimo_workorder" => 1, "borderpoint" => "all"]])?>">Gelöschte Bestellungen mit Workorder</a></li>
|
||||
<li><a class="dropdown-item" href="<?=self::getUrl("Preorder", "Index", ["filter" => ["preorder_status_flags" => [4], "connection_type" => ["apartment", "apartment-building"], "borderpoint" => "all"]])?>">Wohnung - Verkabelung erledigt</a></li>
|
||||
<li><a class="dropdown-item" href="<?=self::getUrl("Preorder", "Index", ["filter" => ["status" => [21,22,23,24,25]]])?>">Storniert</a></li>
|
||||
<?php if ($me->isAdmin() || $me->address->id == 209): ?>
|
||||
<li><a class="dropdown-item" href="<?=self::getUrl("Preorder", "Index", ["filter" => ["onlyShowCustomMailSent" => 1]])?>">Bestellungen mit gesendeter Custom-300 Benachrichtigung</a></li>
|
||||
<input type="hidden" name="filter[onlyShowCustomMailSent]" value="<?= (isset($filter['onlyShowCustomMailSent']) && $filter['onlyShowCustomMailSent'] == 1) ? 1 : 0 ?>"/>
|
||||
|
||||
@@ -16,93 +16,93 @@ foreach(PreorderStatusflagModel::getAll() as $sflag) {
|
||||
}
|
||||
|
||||
?>
|
||||
<?="\u{FEFF}"?>Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;Gutscheincodes;OAID;Bestelldatum;Bestelltyp;Status Code;Status Name;"<?=implode('";"', $status_flags_header)?>";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;CIF Token;Cif Url;Cif Cable Url;Addon Lehrverrohrung Grundstück;Addon Hausverkabelung;BEP festgelegt;Starterpaket erhalten;Erstellt;Letzte Bearbeitung
|
||||
<?="\u{FEFF}"?>Kampagne;Netzgebiet ID;Netzgebiet;Extref;Bestellcode;Gutscheincodes;OAID;Bestelldatum;Bestelltyp;Status Code;Status Name;ADB NE;"<?=implode('";"', $status_flags_header)?>";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;CIF Token;Cif Url;Cif Cable Url;Addon Lehrverrohrung Grundstück;Addon Hausverkabelung;BEP festgelegt;Starterpaket erhalten;Erstellt;Letzte Bearbeitung
|
||||
<?php
|
||||
$line = 0;
|
||||
|
||||
while($data = mysqli_fetch_object($res)):
|
||||
$campaign = Layout::getMfValuecacheObject("Preordercampaign", $data->preordercampaign_id);
|
||||
$status = Layout::getMfValuecacheObject("Preorderstatus", $data->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);
|
||||
$plz = Layout::getMfValuecacheObject("ADBPlz", $hausnummer->plz_id);
|
||||
$partner = Layout::getMfValuecacheObject("Address", $data->partner_id);
|
||||
$preorder = Layout::getMfValuecacheObject("Preorder", $data->id);
|
||||
$campaign = Layout::getMfValuecacheObject("Preordercampaign", $data->preordercampaign_id);
|
||||
$status = Layout::getMfValuecacheObject("Preorderstatus", $data->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);
|
||||
$plz = Layout::getMfValuecacheObject("ADBPlz", $hausnummer->plz_id);
|
||||
$partner = Layout::getMfValuecacheObject("Address", $data->partner_id);
|
||||
$preorder = Layout::getMfValuecacheObject("Preorder", $data->id);
|
||||
|
||||
$statusflags = [];
|
||||
foreach($preorder->statusflags as $sflag) {
|
||||
$statusflags[$sflag->code] = $sflag->value->value ? 1 : 0;
|
||||
if($sflag->value->value) {
|
||||
$historyEntry = PreorderHistoryModel::getFirst([
|
||||
"preorder_id" => $preorder->id,
|
||||
"key" => "preorderstatusflag-".$sflag->id."-value",
|
||||
"new_value" => 1
|
||||
]);
|
||||
$statusflags[$sflag->code . " Datum"] = ($historyEntry) ? date("Y-m-d H:i:s", $historyEntry->create) : "";
|
||||
} else {
|
||||
$statusflags = [];
|
||||
foreach($preorder->statusflags as $sflag) {
|
||||
$statusflags[$sflag->code] = $sflag->value->value ? 1 : 0;
|
||||
if($sflag->value->value) {
|
||||
$historyEntry = PreorderHistoryModel::getFirst([
|
||||
"preorder_id" => $preorder->id,
|
||||
"key" => "preorderstatusflag-".$sflag->id."-value",
|
||||
"new_value" => 1
|
||||
]);
|
||||
$statusflags[$sflag->code . " Datum"] = ($historyEntry) ? date("Y-m-d H:i:s", $historyEntry->create) : "";
|
||||
} else {
|
||||
$statusflags[$sflag->code . " Datum"] = "";
|
||||
}
|
||||
}
|
||||
|
||||
$discounts = [];
|
||||
if(is_array($preorder->discounts) && count($preorder->discounts)) {
|
||||
foreach($preorder->discounts as $discount) {
|
||||
$discounts[] = $discount->code;
|
||||
}
|
||||
}
|
||||
|
||||
$adrcd = $hausnummer->adrcd;
|
||||
if($hausnummer->subcd) {
|
||||
$adrcd .= "-".$hausnummer->subcd;
|
||||
}
|
||||
|
||||
$unit_data = "";
|
||||
if($wohneinheit->block) $unit_data .= "Block ".$wohneinheit->block;
|
||||
if($wohneinheit->stiege) $unit_data .= "Stiege ".$wohneinheit->stiege;
|
||||
if($wohneinheit->stock) $unit_data .= "Stock ".$wohneinheit->stock;
|
||||
if($wohneinheit->tuer) $unit_data .= "Tür ".$wohneinheit->tuer;
|
||||
|
||||
if($wohneinheit->unit_string) {
|
||||
$unit_data = $wohneinheit->unit_string;
|
||||
}
|
||||
|
||||
$bep = false;
|
||||
$inhouse = false;
|
||||
|
||||
if($data->attributes) {
|
||||
$attribs = json_decode($data->attributes, true);
|
||||
if($attribs['bep_specified']) $bep = true;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($data->uid == "string") $data->uid = "";
|
||||
|
||||
?>
|
||||
"<?=$campaign->name?>";"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";"<?=$data->extref?>";"<?=$data->ucode?>";"<?=implode(", ",$discounts)?>";"<?=$wohneinheit->oaid?>";"<?=($data->order_date) ? date("d.m.Y",$data->order_date) : ""?>";"<?=__($data->type,"preorder")?>";"<?=$status->code?>";"<?=$status->name?>";<?=implode(";", $statusflags)?>;"<?=__($data->connection_type,"preorder")?>";"<?=$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()?>";"<?=$data->ciftoken?>";"<?=$data->cifurl?>";"<?=$data->cifcableurl?>";<?=$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) {
|
||||
flush();
|
||||
}
|
||||
|
||||
$discounts = [];
|
||||
if(is_array($preorder->discounts) && count($preorder->discounts)) {
|
||||
foreach($preorder->discounts as $discount) {
|
||||
$discounts[] = $discount->code;
|
||||
}
|
||||
}
|
||||
|
||||
$adrcd = $hausnummer->adrcd;
|
||||
if($hausnummer->subcd) {
|
||||
$adrcd .= "-".$hausnummer->subcd;
|
||||
}
|
||||
|
||||
$unit_data = "";
|
||||
if($wohneinheit->block) $unit_data .= "Block ".$wohneinheit->block;
|
||||
if($wohneinheit->stiege) $unit_data .= "Stiege ".$wohneinheit->stiege;
|
||||
if($wohneinheit->stock) $unit_data .= "Stock ".$wohneinheit->stock;
|
||||
if($wohneinheit->tuer) $unit_data .= "Tür ".$wohneinheit->tuer;
|
||||
|
||||
if($wohneinheit->unit_string) {
|
||||
$unit_data = $wohneinheit->unit_string;
|
||||
}
|
||||
|
||||
$bep = false;
|
||||
$inhouse = false;
|
||||
|
||||
if($data->attributes) {
|
||||
$attribs = json_decode($data->attributes, true);
|
||||
if($attribs['bep_specified']) $bep = true;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($data->uid == "string") $data->uid = "";
|
||||
|
||||
?>
|
||||
"<?=$campaign->name?>";"<?=$netzgebiet->extref?>";"<?=$netzgebiet->name?>";"<?=$data->extref?>";"<?=$data->ucode?>";"<?=implode(", ",$discounts)?>";"<?=$wohneinheit->oaid?>";"<?=($data->order_date) ? date("d.m.Y",$data->order_date) : ""?>";"<?=__($data->type,"preorder")?>";"<?=$status->code?>";"<?=$status->name?>";"<?=$wohneinheit->num ?>":<?=implode(";", $statusflags)?>;"<?=__($data->connection_type,"preorder")?>";"<?=$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()?>";"<?=$data->ciftoken?>";"<?=$data->cifurl?>";"<?=$data->cifcableurl?>";<?=$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) {
|
||||
flush();
|
||||
}
|
||||
|
||||
endwhile;
|
||||
@@ -566,6 +566,29 @@ class PreorderModel
|
||||
|
||||
private static function getSqlFilter($filter)
|
||||
{
|
||||
|
||||
if (isset($filter['status']) && !empty($filter['status']) && (!empty($filter['create_from']) || !empty($filter['create_to']))) {
|
||||
$historyConditions = [
|
||||
"`key` = 'status_id'",
|
||||
"new_value = " . intval($filter['status'][0])
|
||||
];
|
||||
|
||||
if (!empty($filter['create_from']) && ($date = DateTime::createFromFormat('d.m.Y', $filter['create_from']))) {
|
||||
$historyConditions[] = "`create` >= " . $date->setTime(0, 0)->getTimestamp();
|
||||
}
|
||||
|
||||
if (!empty($filter['create_to']) && ($date = DateTime::createFromFormat('d.m.Y', $filter['create_to']))) {
|
||||
$historyConditions[] = "`create` <= " . $date->setTime(23, 59, 59)->getTimestamp();
|
||||
}
|
||||
|
||||
$filter['add-where'] = "AND tt_preorder.id IN (
|
||||
SELECT preorder_id FROM `" . FRONKDB_DBNAME . "`.PreorderHistory
|
||||
WHERE " . implode(' AND ', $historyConditions) . "
|
||||
)";
|
||||
|
||||
unset($filter['status_id'], $filter['create_from'], $filter['create_to']);
|
||||
}
|
||||
|
||||
$where = "1=1 ";
|
||||
|
||||
if (array_key_exists("deleted", $filter)) {
|
||||
|
||||
Reference in New Issue
Block a user