Merge branch 'fronkdev' into 'master'

Added unit_count column to ADB Netzgebiet with auto update in Netzgebiet

See merge request fronk/thetool!12
This commit is contained in:
Frank Schubert
2023-04-24 18:39:08 +00:00
3 changed files with 23 additions and 1 deletions

View File

@@ -150,3 +150,13 @@ class ADBNetzgebietModel {
}
}
/*
* Update unit_count in Netzgebiet:
UPDATE `Netzgebiet`
LEFT JOIN (SELECT netzgebiet_id, COUNT(*) as uc FROM Wohneinheit LEFT JOIN Hausnummer ON (Wohneinheit.hausnummer_id = Hausnummer.id) GROUP BY netzgebiet_id) AS uc_table ON (uc_table.netzgebiet_id = Netzgebiet.id)
SET unit_count = uc_table.uc
WHERE uc_table.uc IS NOT NULL;
*/

View File

@@ -19,7 +19,17 @@ class ADBWohneinheit extends mfBaseModel {
$hausnummer->unit_count = $unit_count;
$hausnummer->save();
}
if($hausnummer->netzgebiet_id) {
$netzgebiet = new ADBNetzgebiet($hausnummer->netzgebiet_id);
if($netzgebiet->id) {
$netzgebiet->unit_count = ADBWohneinheitModel::count(['netzgebiet_id' => $hausnummer->netzgebiet_id]);
$netzgebiet->save();
}
}
}
}
public static function parseHausnummerZusatz($text) {

View File

@@ -88,7 +88,9 @@ class Preordercampaign extends mfBaseModel {
$netzgebiet_ids[] = $scluster->id;
}
if(count($netzgebiet_ids)) {
$total = ADBWohneinheitModel::count(['netzgebiet_id' => $netzgebiet_ids]);
foreach(ADBNetzgebietModel::search(["netzgebiet_id" => $netzgebiet_ids]) as $netzgebiet) {
$total += $netzgebiet->unit_count;
}
}
$this->total_homes = $total;