Cleanup generateStats() in ConstructionConsentController

This commit is contained in:
Luca Haid
2025-02-27 09:11:47 +00:00
parent 9ce1c2a4fe
commit 4dfbbfcaff

View File

@@ -950,39 +950,24 @@ class ConstructionConsentController extends mfBaseController {
return ["message" => "ConstructionConsent saved successfully"];
}
private function generateStats($baseFilter = array()) {
private function generateStats($baseFilter = array()): array {
function getFilteredCount($wantedFilter, $filterValue, $baseFilter) {
if (!empty($baseFilter[$wantedFilter]) && $baseFilter[$wantedFilter] != $filterValue) {
return 0;
} else {
return ConstructionConsent::count(array_merge($baseFilter, [$wantedFilter => $filterValue]));
}
if (!empty($baseFilter[$wantedFilter]) && $baseFilter[$wantedFilter] != $filterValue) return 0;
return ConstructionConsent::count(array_merge($baseFilter, [$wantedFilter => $filterValue]));
}
$allCount = ConstructionConsent::count($baseFilter);
$streetCount = getFilteredCount("object_type", "street", $baseFilter);
$buildingCount = getFilteredCount("object_type", "building", $baseFilter);
$inspection_planner = getFilteredCount("inspection_planner", "!NULL", $baseFilter);
$conduit_installed_building = getFilteredCount("conduit_installed_building", "!NULL", $baseFilter);
$conduit_installed_ftu = getFilteredCount("conduit_installed_ftu", "!NULL", $baseFilter);
$inhouse_cabling = getFilteredCount("inhouse_cabling", "!NULL", $baseFilter);
$status_light_blue = getFilteredCount("status_light", "blue", $baseFilter);
$status_light_red = getFilteredCount("status_light", "red", $baseFilter);
$status_light_yellow = getFilteredCount("status_light", "yellow", $baseFilter);
$status_light_green = getFilteredCount("status_light", "green", $baseFilter);
return array(
"all" => $allCount,
"street" => $streetCount,
"building" => $buildingCount,
"inspection_planner" => $inspection_planner,
"conduit_installed_building" => $conduit_installed_building,
"conduit_installed_ftu" => $conduit_installed_ftu,
"inhouse_cabling" => $inhouse_cabling,
"status_light_blue" => $status_light_blue,
"status_light_red" => $status_light_red,
"status_light_yellow" => $status_light_yellow,
"status_light_green" => $status_light_green
);
return [
"all" => ConstructionConsent::count($baseFilter),
"street" => getFilteredCount("object_type", "street", $baseFilter),
"building" => getFilteredCount("object_type", "building", $baseFilter),
"inspection_planner" => getFilteredCount("inspection_planner", "!NULL", $baseFilter),
"conduit_installed_building" => getFilteredCount("conduit_installed_building", "!NULL", $baseFilter),
"conduit_installed_ftu" => getFilteredCount("conduit_installed_ftu", "!NULL", $baseFilter),
"inhouse_cabling" => getFilteredCount("inhouse_cabling", "!NULL", $baseFilter),
"status_light_blue" => getFilteredCount("status_light", "blue", $baseFilter),
"status_light_red" => getFilteredCount("status_light", "red", $baseFilter),
"status_light_yellow" => getFilteredCount("status_light", "yellow", $baseFilter),
"status_light_green" => getFilteredCount("status_light", "green", $baseFilter)
];
}
}