Added rimo filters to Preorder

This commit is contained in:
Frank Schubert
2023-05-24 14:39:50 +02:00
parent cdae3cd24a
commit 426170a8c1
5 changed files with 45 additions and 6 deletions
+19
View File
@@ -136,6 +136,25 @@
<option value="2" <?=(isset($filter) && array_key_exists("unit_count", $filter) && intval($filter['unit_count']) === 2) ? "selected='selected'" : ""?>> &gt; 1</option> <option value="2" <?=(isset($filter) && array_key_exists("unit_count", $filter) && intval($filter['unit_count']) === 2) ? "selected='selected'" : ""?>> &gt; 1</option>
</select> </select>
</div> </div>
<div class="col-2">
<label class="form-label" for="filter_rimo_workorder">Rimo Workorder</label>
<select name="filter[rimo_workorder]" id="filter_rimo_workorder" class="form-control">
<option value=""></option>
<option value="0" <?=(isset($filter) && array_key_exists("rimo_workorder", $filter) && intval($filter['rimo_workorder']) === 0) ? "selected='selected'" : ""?>>Nicht erstellt</option>
<option value="1" <?=(isset($filter) && array_key_exists("rimo_workorder", $filter) && strlen($filter['rimo_workorder']) && intval($filter['rimo_workorder']) === 1) ? "selected='selected'" : ""?>>Erstellt</option>
</select>
</div>
<div class="col-2">
<label class="form-label" for="filter_rimo_homes">Wohneinheit Rimo-Extref</label>
<select name="filter[rimo_home_extref]" id="filter_rimo_home_extref" class="form-control">
<option value=""></option>
<option value="0" <?=(isset($filter) && array_key_exists("rimo_home_extref", $filter) && strlen($filter['rimo_home_extref']) && intval($filter['rimo_home_extref']) === 0) ? "selected='selected'" : ""?>>Fehlt</option>
<option value="1" <?=(isset($filter) && array_key_exists("rimo_home_extref", $filter) && intval($filter['rimo_home_extref']) === 1) ? "selected='selected'" : ""?>>Vorhanden</option>
</select>
</div>
<?php endif; ?> <?php endif; ?>
<?php endif; ?> <?php endif; ?>
+18 -2
View File
@@ -163,10 +163,26 @@ class PreorderController extends mfBaseController {
unset($filter['unit_missing']); unset($filter['unit_missing']);
} }
if(array_key_exists("attributes", $filter) && count($filter['attributes'])) { if(array_key_exists("rimo_home_extref", $filter)) {
if($filter['rimo_home_extref'] == "1") {
$new_filter['add-where'] = " AND (adb_wohneinheit.extref IS NOT NULL AND adb_wohneinheit.extref like 'SDIHome_%')";
} elseif($filter['rimo_home_extref'] == "0") {
$new_filter['add-where'] = " AND (adb_wohneinheit.extref IS NULL OR adb_wohneinheit.extref NOT LIKE 'SDIHome_%')";
}
} }
if(array_key_exists("rimo_workorder", $filter)) {
if($filter["rimo_workorder"] == "1") {
$new_filter['workorder_export_date'] = true;
} else {
$new_filter['workorder_export_date'] = false;
}
}
/*if(array_key_exists("attributes", $filter) && count($filter['attributes'])) {
}*/
if(is_array($filter) && count($filter)) { if(is_array($filter) && count($filter)) {
foreach($filter as $name => $value) { foreach($filter as $name => $value) {
$new_filter[$name] = $value; $new_filter[$name] = $value;
+4
View File
@@ -220,6 +220,7 @@ class PreorderModel {
$sql = "SELECT COUNT(*) as cnt FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder $sql = "SELECT COUNT(*) as cnt FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id) LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id)
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id) LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
LEFT JOIN `".ADDRESSDB_DBNAME."`.Wohneinheit as adb_wohneinheit ON (tt_preorder.adb_hausnummer_id = adb_wohneinheit.hausnummer_id)
WHERE $where WHERE $where
"; ";
@@ -242,6 +243,7 @@ class PreorderModel {
$sql = "SELECT tt_preorder.* FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder $sql = "SELECT tt_preorder.* FROM `".FRONKDB_DBNAME."`.Preorder tt_preorder
LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id) LEFT JOIN `".FRONKDB_DBNAME."`.Preorderstatus tt_preorderstatus ON (tt_preorder.status_id = tt_preorderstatus.id)
LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id) LEFT JOIN `".ADDRESSDB_DBNAME."`.view_hausnummer as adb_hausnummer ON (tt_preorder.adb_hausnummer_id = adb_hausnummer.hausnummer_id)
LEFT JOIN `".ADDRESSDB_DBNAME."`.Wohneinheit as adb_wohneinheit ON (tt_preorder.adb_hausnummer_id = adb_wohneinheit.hausnummer_id)
WHERE $where WHERE $where
ORDER BY lastname, firstname ORDER BY lastname, firstname
"; ";
@@ -445,6 +447,8 @@ class PreorderModel {
$workorder_export_date = $filter['workorder_export_date']; $workorder_export_date = $filter['workorder_export_date'];
if($workorder_export_date === null || $workorder_export_date === false) { if($workorder_export_date === null || $workorder_export_date === false) {
$where .= " AND (tt_preorder.workorder_export_date IS NULL OR tt_preorder.workorder_export_date = 0)"; $where .= " AND (tt_preorder.workorder_export_date IS NULL OR tt_preorder.workorder_export_date = 0)";
} elseif($workorder_export_date) {
$where .= " AND tt_preorder.workorder_export_date > 1";
} }
} }
@@ -447,7 +447,7 @@ class PreordercampaignController extends mfBaseController {
$workorders_created = 0; $workorders_created = 0;
$workorders_failed = 0; $workorders_failed = 0;
foreach(PreorderModel::search(["preordercampaign_id" => $id, "workorder_export_date" => null]) as $preorder) { foreach(PreorderModel::search(["preordercampaign_id" => $id, "workorder_export_date" => null, 'deleted' => 0]) as $preorder) {
if($preorder->workorder_export_date) { if($preorder->workorder_export_date) {
$this->log->warning(__METHOD__.": workorder_export_date not null"); $this->log->warning(__METHOD__.": workorder_export_date not null");
} }
@@ -113,8 +113,8 @@ while($csv = fgetcsv($input, 0, ";")) {
if($strasse_name == "Schilcherlandsiedlung") $strasse_name = "Schilcherland Siedlung"; if($strasse_name == "Schilcherlandsiedlung") $strasse_name = "Schilcherland Siedlung";
//if($strasse_name == "Bierbaumer Strasse") $strasse_name = "Bierbaumerstrasse"; //if($strasse_name == "Bierbaumer Strasse") $strasse_name = "Bierbaumerstrasse";
if(preg_match('/GST(\s+\.)?$/', $strasse_name) && !$adrcd) continue; if(preg_match('/GST(\s+\.)?$/', $strasse_name) && !$adrcd) continue;
if(preg_match('/^L\d+/',$strasse_name)) continue; if(preg_match('/^L\d+/',$strasse_name) && !$adrcd) continue;
if(preg_match('/^BP/',$strasse_name)) continue; if(preg_match('/^BP/',$strasse_name) && !$adrcd) continue;
if($strasse_name == "Lemsitz GNR") { if($strasse_name == "Lemsitz GNR") {
@@ -209,7 +209,7 @@ while($csv = fgetcsv($input, 0, ";")) {
$sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'"; $sql = "SELECT * FROM view_hausnummer WHERE gemeinde_id = $gemeinde_id AND strasse IN ('". implode("', '", $strasse_search)."') AND hausnummer='$hausnummer_name'";
echo "$sql\n"; //echo "$sql\n";
/*if(preg_match('/^Tobelbader/i',$strasse_name)) { /*if(preg_match('/^Tobelbader/i',$strasse_name)) {
echo "$sql\n"; echo "$sql\n";
}*/ }*/