Merge branch 'DashboardNew/fixed-calculation-new-tool-type' into 'master'

fixed calculation in adb dashboard

See merge request fronk/thetool!1446
This commit is contained in:
Luca Haid
2025-06-12 07:09:53 +00:00
2 changed files with 35 additions and 39 deletions
+1 -1
View File
@@ -151,7 +151,7 @@
<select name="tool_building_type" id="tool_building_type" class="form-control"> <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="0" <?=($address->tool_building_type == "0") ? "selected='selected'" : ""?>>Unbekannt</option>
<option value="1" <?=($address->tool_building_type == "1") ? "selected='selected'" : ""?>>EFH</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> </select>
</div> </div>
</div> </div>
@@ -390,8 +390,6 @@ class DashboardNewController extends mfBaseController {
$baseFilter = [ $baseFilter = [
"netzgebiet_id" => $campaign->network->adb_netzgebiet_id, "netzgebiet_id" => $campaign->network->adb_netzgebiet_id,
]; ];
$efh_rimo_types = ["residential", "company", "2/3 familienhaus", "public"];
$mph_rimo_types = ["multiple dwellings"];
$campaign_data = [ $campaign_data = [
'campaign_id' => $campaign->id, '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" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_op_state" => "Connected"]), false),
"all_op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected"])), "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" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $efh_connection_types]), false),
"efh_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types])), "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", "rimo_type" => $efh_rimo_types]), false), "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", "rimo_type" => $efh_rimo_types])), "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", "rimo_type" => $efh_rimo_types]), false), "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", "rimo_type" => $efh_rimo_types])), "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", "rimo_type" => $efh_rimo_types]), false), "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", "rimo_type" => $efh_rimo_types])), "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" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $mph_connection_types]), false),
"mph_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types])), "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", "rimo_type" => $mph_rimo_types]), false), "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", "rimo_type" => $mph_rimo_types])), "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", "rimo_type" => $mph_rimo_types]), false), "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", "rimo_type" => $mph_rimo_types])), "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", "rimo_type" => $mph_rimo_types]), false), "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", "rimo_type" => $mph_rimo_types])), "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" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => "other"]), false),
"other_type_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => "other"])), "other_type_sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => "other"])),
@@ -620,6 +618,8 @@ class DashboardNewController extends mfBaseController {
protected function getDashboardAddressDBDataAction() { protected function getDashboardAddressDBDataAction() {
if (!$this->me->is("Admin")) self::sendError("Keine Berechtigung"); if (!$this->me->is("Admin")) self::sendError("Keine Berechtigung");
$baseFilter = []; $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; 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"])), "op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected"])),
]; ];
$efh_rimo_types = ["residential", "company", "2/3 familienhaus", "public"];
$efh_counts = [ $efh_counts = [
"sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types]), false), "sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $efh_tool_building_types]), false),
"sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $efh_rimo_types])), "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", "rimo_type" => $efh_rimo_types]), false), "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", "rimo_type" => $efh_rimo_types])), "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", "rimo_type" => $efh_rimo_types]), false), "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", "rimo_type" => $efh_rimo_types])), "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", "rimo_type" => $efh_rimo_types]), false), "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", "rimo_type" => $efh_rimo_types])), "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 = [ $mph_counts = [
"sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types]), false), "sum" => ADBHausnummerModel::count(array_merge($baseFilter, ["tool_building_type" => $mph_tool_building_types]), false),
"sum_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_type" => $mph_rimo_types])), "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", "rimo_type" => $mph_rimo_types]), false), "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", "rimo_type" => $mph_rimo_types])), "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", "rimo_type" => $mph_rimo_types]), false), "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", "rimo_type" => $mph_rimo_types])), "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", "rimo_type" => $mph_rimo_types]), false), "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", "rimo_type" => $mph_rimo_types])), "op_state_connected_homes" => ADBHausnummerModel::countHomes(array_merge($baseFilter, ["rimo_op_state" => "Connected", "tool_building_type" => $mph_tool_building_types])),
]; ];
$other_types = [ $other_types = [