Rimo Status also update sets status when input params higher then

specified
This commit is contained in:
Frank Schubert
2024-07-29 17:11:35 +02:00
parent 0dce17ac25
commit 75277d3f82
3 changed files with 68 additions and 32 deletions

View File

@@ -221,6 +221,7 @@ foreach ($clusters as $cluster_data) {
continue;
}*/
$hausnummer_count++;
if($hausnummer_count < 300) continue;
/*
// ignore buildings without units
@@ -247,30 +248,34 @@ foreach ($clusters as $cluster_data) {
/*
* Set Building Status based on Operational-/Executionstate
*/
$b_executionstate_id = $building->executionState->name;
$b_executionstate_label = $building->executionState->userLabel;
$b_operationalstate_id = $building->operationalState->name;
$b_operationalstate_label = $building->operationalState->userLabel;
if($b_executionstate_label != $hausnummer->rimo_ex_state) {
$hausnummer->rimo_ex_state = $b_executionstate_label;
$hausnummer->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
}
if($b_operationalstate_label != $hausnummer->rimo_op_state) {
$hausnummer->rimo_op_state = $b_operationalstate_label;
$hausnummer->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
if(is_object($building->executionState) && property_exists($building->executionState, "userLabel")) {
$b_executionstate_id = $building->executionState->name;
$b_executionstate_label = $building->executionState->userLabel;
$b_operationalstate_id = $building->operationalState->name;
$b_operationalstate_label = $building->operationalState->userLabel;
if($b_executionstate_label != $hausnummer->rimo_ex_state) {
$hausnummer->rimo_ex_state = $b_executionstate_label;
$hausnummer->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
}
if($b_operationalstate_label != $hausnummer->rimo_op_state) {
$hausnummer->rimo_op_state = $b_operationalstate_label;
$hausnummer->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
}
if($b_executionstate_id == "99" && $hausnummer->visibility != "private") {
echo "== Setting visibility to private because execution state $b_executionstate_id ($b_executionstate_label) [".$hausnummer->id."]\n";
$hausnummer->visibility = "private";
$hausnummer->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
}
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
}
if($b_executionstate_id == "99" && $hausnummer->visibility != "private") {
echo "== Setting visibility to private because execution state $b_executionstate_id ($b_executionstate_label) [".$hausnummer->id."]\n";
$hausnummer->visibility = "private";
$hausnummer->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
}
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
$last_unit_num = 0;
$existing_units = [];
@@ -332,15 +337,19 @@ foreach ($clusters as $cluster_data) {
if (!$unit->save()) {
die("Error saving new unit\n" . print_r($home, true));
}
$unit = new \ADBWohneinheit($unit->id);
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
\mfValuecache::singleton()->set("adbwohneinheit-save-nesting-level-".$unit->id, 0);
}
$unit = new \ADBWohneinheit($unit->id);
if ($unit->extref != $home_rimo_id) {
$unit->extref = $home_rimo_id;
if (!$unit->save()) {
die("Error saving new extref on unit\n" . print_r($home, true));
}
$unit = new \ADBWohneinheit($unit->id);
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
\mfValuecache::singleton()->set("adbwohneinheit-save-nesting-level-".$unit->id, 0);
}
@@ -353,6 +362,7 @@ foreach ($clusters as $cluster_data) {
$unit->rimo_ex_state = $home->executionState->userLabel;
$unit->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
$unit = new \ADBWohneinheit($unit->id);
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
\mfValuecache::singleton()->set("adbwohneinheit-save-nesting-level-".$unit->id, 0);
}
@@ -360,6 +370,7 @@ foreach ($clusters as $cluster_data) {
$unit->rimo_op_state = $home->operationalState->userLabel;
$unit->save();
$hausnummer = new \ADBHausnummer($hausnummer_id);
$unit = new \ADBWohneinheit($unit->id);
\mfValuecache::singleton()->set("adbhausnummer-save-nesting-level-".$hausnummer->id, 0);
\mfValuecache::singleton()->set("adbwohneinheit-save-nesting-level-".$unit->id, 0);
}