Fixed preorder statusflag sync

This commit is contained in:
Frank Schubert
2025-10-07 17:49:10 +02:00
parent 2fd7114aa9
commit d8f7f94fd6
2 changed files with 23 additions and 26 deletions

View File

@@ -579,7 +579,6 @@ class Preorder extends mfBaseModel {
if(!$hflag) {
$this->log->warn("[".$this->_ruid."] "."Statusflag Code ".$flag->code." does not exist");
} else {
//var_dump($hflag);exit;
$hflag->hausnummer_id = $hausnummer->id;
$hflag->value->value = $flag->value->value;
$hflag->value->save();
@@ -660,38 +659,31 @@ class Preorder extends mfBaseModel {
}
public function syncStatusFlagsFromAdb() {
if(!$this->adb_hausnummer_id) return true;
if(!$this->id || !$this->adb_hausnummer_id) return true;
$hausnummer = $this->getProperty("adb_hausnummer");
foreach(ADBStatusflagModel::getAll() as $hflag) {
$hflag_value = ADBHausnummerStatusflagValueModel::search(["hausnummer_id" => $hausnummer->id, "flag_id" => $hflag->id]);
if(!$hflag_value) {
$hflag_value = ADBHausnummerStatusflagValueModel::create([
"hausnummer_id" => $hausnummer->id,
"flag_id" => $hflag->id
]);
}
$val = $hausnummer->statusflags[$hflag->id]->value->value;
//var_dump($hausnummer->statusflags[$hflag->id]->value->value);exit;
/*if($hflag->code == 141) {
var_dump($hausnummer->statusflags[$hflag->id],$hausnummer->statusflags[$hflag->id]->value);exit;
}*/
$pflag = PreorderStatusflagModel::getFirst(["preorder_id" => $this->id, "code" => $hflag->code]);
if(!$pflag) {
$this->log->error("[".$this->_ruid."] ".__METHOD__."PreorderStatusFlag with code ".$hflag->code." not found!");
continue;
}
$pflag_value = PreorderStatusflagValueModel::getFirst(["preorder_id" => $this->id, "flag_id" => $pflag->id]);
if(!$pflag_value) {
$pflag_value = PreorderStatusflagValueModel::create([
"preorder_id" => $this->id,
"flag_id" => $pflag->id
]);
$pflag->preorder_id = $this->id;
if($hflag->code == 141) {
var_dump($pflag, $pflag->value, $val);
}
$pflag_value->value = ($val) ? 1 : 0;
//var_dump($pflag_value);
$pflag_value->save();
//echo "saved value ".$pflag_value->value." for flag_id ".$pflag->id."\n";
if($pflag->value->value != $val) {
$pflag->value->value = $val;
$pflag->value->save();
}
}
return true;

View File

@@ -9,13 +9,18 @@ class PreorderStatusflag extends mfBaseModel {
if($name == "value") {
if(!$this->preorder_id) return null;
$value = PreorderStatusflagValueModel::getFirst(["preorder_id" => $this->preorder_id, "flag_id" => $this->id]);
$value = mfValuecache::singleton()->get("mfObjectmodel-PreorderStatusflagValue-{$this->code}-".$this->preorder_id);
if(!$value) {
$value = PreorderStatusflagValueModel::getFirst(["preorder_id" => $this->preorder_id, "flag_id" => $this->id]);
if (!$value) {
$value = PreorderStatusflagValueModel::create([
"preorder_id" => $this->preorder_id,
"flag_id" => $this->id
]);
}
}
mfValuecache::singleton()->set("mfObjectmodel-PreorderStatusflagValue-{$this->code}-".$this->preorder_id, $value);
$this->value = $value;
return $this->value;
}