fixed calculation in adb dashboard

This commit is contained in:
Luca Haid
2025-06-12 09:09:41 +02:00
parent d09c9f9ea6
commit dd59b48b40
2 changed files with 35 additions and 39 deletions

View File

@@ -151,7 +151,7 @@
<select name="tool_building_type" id="tool_building_type" class="form-control">
<option value="0" <?=($address->tool_building_type == "0") ? "selected='selected'" : ""?>>Unbekannt</option>
<option value="1" <?=($address->tool_building_type == "1") ? "selected='selected'" : ""?>>EFH</option>
<option value="2" <?=($address->tool_building_type == "2") ? "selected='selected'" : ""?>>MFH</option>
<option value="2" <?=($address->tool_building_type == "2") ? "selected='selected'" : ""?>>MPH</option>
</select>
</div>
</div>

View File

@@ -390,8 +390,6 @@ class DashboardNewController extends mfBaseController {
$baseFilter = [
"netzgebiet_id" => $campaign->network->adb_netzgebiet_id,
];
$efh_rimo_types = ["residential", "company", "2/3 familienhaus", "public"];
$mph_rimo_types = ["multiple dwellings"];
$campaign_data = [
'campaign_id' => $campaign->id,
@@ -427,23 +425,23 @@ class DashboardNewController extends mfBaseController {
"all_op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected"]), false),
"all_op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected"])),
"efh_sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types]), false),
"efh_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types])),
"efh_op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $efh_rimo_types]), false),
"efh_op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $efh_rimo_types])),
"efh_op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $efh_rimo_types]), false),
"efh_op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $efh_rimo_types])),
"efh_op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $efh_rimo_types]), false),
"efh_op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $efh_rimo_types])),
"efh_sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $efh_connection_types]), false),
"efh_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["tool_building_type" => $efh_connection_types])),
"efh_op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $efh_connection_types]), false),
"efh_op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $efh_connection_types])),
"efh_op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $efh_connection_types]), false),
"efh_op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $efh_connection_types])),
"efh_op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $efh_connection_types]), false),
"efh_op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $efh_connection_types])),
"mph_sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types]), false),
"mph_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types])),
"mph_op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $mph_rimo_types]), false),
"mph_op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $mph_rimo_types])),
"mph_op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $mph_rimo_types]), false),
"mph_op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $mph_rimo_types])),
"mph_op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $mph_rimo_types]), false),
"mph_op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $mph_rimo_types])),
"mph_sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $mph_connection_types]), false),
"mph_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["tool_building_type" => $mph_connection_types])),
"mph_op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $mph_connection_types]), false),
"mph_op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $mph_connection_types])),
"mph_op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $mph_connection_types]), false),
"mph_op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $mph_connection_types])),
"mph_op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $mph_connection_types]), false),
"mph_op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $mph_connection_types])),
"other_type_sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => "other"]), false),
"other_type_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => "other"])),
@@ -620,6 +618,8 @@ class DashboardNewController extends mfBaseController {
protected function getDashboardAddressDBDataAction() {
if (!$this->me->is("Admin")) self::sendError("Keine Berechtigung");
$baseFilter = [];
$efh_tool_building_types = [0, 1]; // Single-dwelling and business
$mph_tool_building_types = [2]; // Apartment-building, apartment, multi-dwelling
if (!empty($str = $this->request->netzgebiet_id)) $baseFilter["netzgebiet_id"] = $this->request->netzgebiet_id;
@@ -634,30 +634,26 @@ class DashboardNewController extends mfBaseController {
"op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected"])),
];
$efh_rimo_types = ["residential", "company", "2/3 familienhaus", "public"];
$efh_counts = [
"sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types]), false),
"sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types])),
"op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $efh_rimo_types]), false),
"op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $efh_rimo_types])),
"op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $efh_rimo_types]), false),
"op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $efh_rimo_types])),
"op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $efh_rimo_types]), false),
"op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $efh_rimo_types])),
"sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $efh_tool_building_types]), false),
"sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["tool_building_type" => $efh_tool_building_types])),
"op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $efh_tool_building_types]), false),
"op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $efh_tool_building_types])),
"op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $efh_tool_building_types]), false),
"op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $efh_tool_building_types])),
"op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $efh_tool_building_types]), false),
"op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $efh_tool_building_types])),
];
$mph_rimo_types = ["multiple dwellings"];
$mph_counts = [
"sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types]), false),
"sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types])),
"op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $mph_rimo_types]), false),
"op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "rimo_type" => $mph_rimo_types])),
"op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $mph_rimo_types]), false),
"op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "rimo_type" => $mph_rimo_types])),
"op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $mph_rimo_types]), false),
"op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "rimo_type" => $mph_rimo_types])),
"sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $mph_tool_building_types]), false),
"sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["tool_building_type" => $mph_tool_building_types])),
"op_state_planned" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $mph_tool_building_types]), false),
"op_state_planned_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Planned", "tool_building_type" => $mph_tool_building_types])),
"op_state_passed" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $mph_tool_building_types]), false),
"op_state_passed_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Passed", "tool_building_type" => $mph_tool_building_types])),
"op_state_connected" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $mph_tool_building_types]), false),
"op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $mph_tool_building_types])),
];
$other_types = [