Added new status filter to Pipe- and Linework

This commit is contained in:
Frank Schubert
2025-04-22 18:25:43 +02:00
parent 72a4353b3b
commit eb197ac266
6 changed files with 52 additions and 23 deletions
+2
View File
@@ -96,6 +96,8 @@
> >
<?=$status->code?> - <?=__($status->name."-t")?></option> <?=$status->code?> - <?=__($status->name."-t")?></option>
<?php endforeach; ?> <?php endforeach; ?>
<option value="">-----</option>
<option value="3,4,5,6" <?=(array_key_exists("status_id", $filter) && $filter["status_id"] == "3,4,5,6") ? "selected='selected'" : ""?>>Bauauftrag zugeteilt oder erledigt</option>
</select> </select>
</div> </div>
+2
View File
@@ -91,6 +91,8 @@
> >
<?=$status->code?> - <?=__($status->name."-b")?></option> <?=$status->code?> - <?=__($status->name."-b")?></option>
<?php endforeach; ?> <?php endforeach; ?>
<option value="">-----</option>
<option value="3,4,5" <?=(array_key_exists("status_id", $filter) && $filter["status_id"] == "3,4,5") ? "selected='selected'" : ""?>>Bauauftrag zugeteilt oder erledigt</option>
</select> </select>
</div> </div>
+3 -1
View File
@@ -155,7 +155,9 @@ class BuildingModel {
if(array_key_exists("status_id", $filter)) { if(array_key_exists("status_id", $filter)) {
$status_id = $filter['status_id']; $status_id = $filter['status_id'];
if(is_numeric($status_id)) { if(is_array($status_id)) {
$where .= " AND Building.status_id IN (".implode(",", $status_id).")";
} elseif(is_numeric($status_id)) {
$where .= " AND Building.status_id=$status_id"; $where .= " AND Building.status_id=$status_id";
} }
} }
+21 -12
View File
@@ -105,9 +105,9 @@ class LineworkController extends mfBaseController {
} }
} }
if(!!in_array($this->me->id, ["145","62","56"]) && !array_key_exists("status_id", $filter)) { if(!in_array($this->me->id, ["145","62","56"]) && !array_key_exists("status_id", $filter)) {
$termination_search["status_id"] = 3; $termination_search["status_id"] = 3;
} }
@@ -119,7 +119,7 @@ class LineworkController extends mfBaseController {
/*if($this->me->is("Admin") && $filter['lineworker_id']) { /*if($this->me->is("Admin") && $filter['lineworker_id']) {
$termination_search["lineworker_id"] = $filter['lineworker_id']; $termination_search["lineworker_id"] = $filter['lineworker_id'];
}*/ }*/
//var_dump($filter);exit; //var_dump($termination_search);exit;
$networks = []; $networks = [];
$pagination['maxItems'] = TerminationModel::count($termination_search); $pagination['maxItems'] = TerminationModel::count($termination_search);
foreach(TerminationModel::search($termination_search, $pagination) as $term) { foreach(TerminationModel::search($termination_search, $pagination) as $term) {
@@ -130,17 +130,16 @@ class LineworkController extends mfBaseController {
$networks[$term->building->network->name][$term->id] = $term; $networks[$term->building->network->name][$term->id] = $term;
} }
} }
/*if(is_array($networks) && count($networks)) { // get first termination ...
$term = reset(reset($networks)); if(is_array($networks) && count($networks)) {
var_dump($term);exit; $network = reset($networks);
}*/ $term = reset($network);
}
$item_colspan = 0; $item_colspan = 0;
$i = 0; $i = 0;
//var_dump($term);exit; // ... to get count of fields between delimiters for colspan
// get fields between delimiters for colspan
if(is_array($term->workflowitems) && count($term->workflowitems)) { if(is_array($term->workflowitems) && count($term->workflowitems)) {
foreach($term->workflowitems as $wfitem) { foreach($term->workflowitems as $wfitem) {
if($i == 0 && $wfitem->type == "delimiter") continue; if($i == 0 && $wfitem->type == "delimiter") continue;
@@ -174,6 +173,16 @@ class LineworkController extends mfBaseController {
} }
} }
if(array_key_exists("status_id", $filter) && $filter["status_id"]) {
$status_codes = explode(",", $filter["status_id"]);
if(count($status_codes) > 1) {
$filter["status_id"] = [];
foreach($status_codes as $code) {
$filter["status_id"][] = intval($code);
}
}
}
foreach($filter as $name => $value) { foreach($filter as $name => $value) {
/*if($name == 'network_id') { /*if($name == 'network_id') {
$new_filter['id'] = $value; $new_filter['id'] = $value;
+16 -3
View File
@@ -123,15 +123,18 @@ class PipeworkController extends mfBaseController {
$networks[$b->network->name][$b->id] = $b; $networks[$b->network->name][$b->id] = $b;
} }
} }
// get first building ...
if(is_array($networks) && count($networks)) { if(is_array($networks) && count($networks)) {
$building = reset(reset($networks)); $network = reset($networks);
$building = reset($network);
} else { } else {
$building = []; $building = [];
} }
$item_colspan = 0; $item_colspan = 0;
$i = 0; $i = 0;
// get fields count between delimiters for colspan // ... to get field count between delimiters for colspan
foreach($building->workflowitems as $wfitem) { foreach($building->workflowitems as $wfitem) {
if($i == 0 && $wfitem->type == "delimiter") continue; if($i == 0 && $wfitem->type == "delimiter") continue;
@@ -160,7 +163,17 @@ class PipeworkController extends mfBaseController {
$filter['network_id'] = $section->network_id; $filter['network_id'] = $section->network_id;
} }
} }
if(array_key_exists("status_id", $filter) && $filter["status_id"]) {
$status_codes = explode(",", $filter["status_id"]);
if(count($status_codes) > 1) {
$filter["status_id"] = [];
foreach($status_codes as $code) {
$filter["status_id"][] = intval($code);
}
}
}
foreach($filter as $name => $value) { foreach($filter as $name => $value) {
/*if($name == 'network_id') { /*if($name == 'network_id') {
$new_filter['id'] = $value; $new_filter['id'] = $value;
+8 -7
View File
@@ -138,14 +138,15 @@ class TerminationModel {
$where .= " AND building_id = $building_id"; $where .= " AND building_id = $building_id";
} }
} }
if(array_key_exists("status_id", $filter)) { if(array_key_exists("status_id", $filter)) {
$status_id = $filter['status_id']; $status_id = $filter['status_id'];
if(is_array($status_id)) {
if(is_numeric($status_id) && $status_id > 0) { $where .= " AND Termination.status_id IN (".implode(",", $status_id).")";
$where .= " AND Termination.status_id = $status_id"; } elseif(is_numeric($status_id)) {
$where .= " AND Termination.status_id=$status_id";
}
} }
}
if(array_key_exists("linework_enabled", $filter)) { if(array_key_exists("linework_enabled", $filter)) {
$linework_enabled = $filter['linework_enabled']; $linework_enabled = $filter['linework_enabled'];