Merge branch 'fronkdev' into 'master'

Changes to rimo import

See merge request fronk/thetool!1821
This commit is contained in:
Frank Schubert
2025-10-07 17:41:13 +00:00
8 changed files with 129 additions and 149 deletions
@@ -88,6 +88,15 @@ class ADBHausnummerModel {
$res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
// search in cache
$item = mfValuecache::singleton()->get("mfObjectmodel-adb_hausnummer-".$data->id);
if($item && $item->id) {
mfValuecache::singleton()->set("mfObjectmodel-adb_hausnummer-".$data->id, $item);
return $item;
}
// if not in cache, load regularly
$item = new ADBHausnummer($data);
if($item->id) {
return $item;
@@ -220,7 +229,15 @@ class ADBHausnummerModel {
}
while($data = $db->fetch_object($res)) {
$items[] = new ADBHausnummer($data);
$item = mfValuecache::singleton()->get("mfObjectmodel-adb_hausnummer-".$data->id);
if($item && $item->id) {
$items[] = $item;
} else {
$item = new ADBHausnummer($data);
mfValuecache::singleton()->set("mfObjectmodel-adb_hausnummer-".$data->id, $item);
$items[] = $item;
}
}
}
return $items;
@@ -70,6 +70,15 @@ class ADBWohneinheitModel {
$res = $db->query($sql);
if($db->num_rows($res)) {
$data = $db->fetch_object($res);
// search in cache
$item = mfValuecache::singleton()->get("mfObjectmodel-adb_wohneinheit-".$data->id);
if($item && $item->id) {
mfValuecache::singleton()->set("mfObjectmodel-adb_wohneinheit-".$data->id, $item);
return $item;
}
// if not in cache, load regularly
$item = new ADBWohneinheit($data);
if($item->id) {
return $item;
@@ -140,7 +149,14 @@ class ADBWohneinheitModel {
$res = $db->query($sql);
if($db->num_rows($res)) {
while($data = $db->fetch_object($res)) {
$items[] = new ADBWohneinheit($data);
$item = mfValuecache::singleton()->get("mfObjectmodel-adb_wohneinheit-".$data->id);
if($item && $item->id) {
$items[] = $item;
} else {
$item = new ADBWohneinheit($data);
mfValuecache::singleton()->set("mfObjectmodel-adb_wohneinheit-".$data->id, $item);
$items[] = $item;
}
}
}
return $items;
+2 -62
View File
@@ -78,65 +78,6 @@ class AddressDB {
LEFT JOIN `".FRONKDB_DBNAME."`.`Address` as tbl_address on (tbl_address.`id` = tbl_preorder.partner_id)
";
/*public static $wohneinheit_query = "select `Netzgebiet`.`id` AS `netzgebiet_id`,
`Netzgebiet`.`name` AS `netzgebiet`,
`Netzgebiet`.`extref` AS `netzgebiet_extref`,
`Gemeinde`.`id` AS `gemeinde_id`,
`Gemeinde`.`kennziffer` AS `gemeinde_kennziffer`,
`Gemeinde`.`code` AS `gemeinde_code`,
`Gemeinde`.`name` AS `gemeinde`,
`Ortschaft`.`id` AS `ortschaft_id`,
`Ortschaft`.`kennziffer` AS `ortschaft_kennziffer`,
`Ortschaft`.`name` AS `ortschaft`,
`Plz`.`plz` AS `plz`,
`Strasse`.`id` AS `strasse_id`,
`Strasse`.`kennziffer` AS `strasse_kennziffer`,
`Strasse`.`name` AS `strasse`,
`Hausnummer`.`id` AS `hausnummer_id`,
`Hausnummer`.`oaid` AS `oaid`,
`Hausnummer`.`adrcd` AS `adrcd`,
`Hausnummer`.`subcd` AS `subcd`,
`Hausnummer`.`oaid` AS `hausnummer_oaid`,
`Hausnummer`.`hausnummer` AS `hausnummer`,
`Hausnummer`.`stiege` AS `hausnummer_stiege`,
`Hausnummer`.`extref` AS `hausnummer_extref`,
`Hausnummer`.`unit_count` AS `unit_count`,
`Hausnummer`.`meridian` AS `meridian`,
`Hausnummer`.`rw` AS `rw`,
`Hausnummer`.`hw` AS `hw`,
`Hausnummer`.`gps_lat` AS `gps_lat`,
`Hausnummer`.`gps_long` AS `gps_long`,
`Hausnummer`.`grund_nr` AS `grund_nr`,
`Hausnummer`.`rollout` AS `rollout`,
`Hausnummer`.`rollout_info` AS `rollout_info`,
`Hausnummer`.`freigabe` AS `freigabe`,
`Hausnummer`.`visibility` AS `visibility`,
`Hausnummer`.`rimo_id` AS `hausnummer_rimo_id`,
`Hausnummer`.`rimo_fcp_name` AS `rimo_fcp_name`,
`Wohneinheit`.`id` AS `wohneinheit_id`,
`Wohneinheit`.`oaid` AS `wohneinheit_oaid`,
`Wohneinheit`.`extref` AS `wohneinheit_extref`,
`Wohneinheit`.`num` AS `num`,
`Wohneinheit`.`block` AS `block`,
`Wohneinheit`.`stiege` AS `stiege`,
`Wohneinheit`.`stock` AS `stock`,
`Wohneinheit`.`tuer` AS `tuer`,
`Wohneinheit`.`bezeichner` AS `bezeichner`,
`Wohneinheit`.`zusatz` AS `zusatz`,
`Wohneinheit`.`nutzung` AS `nutzung`,
tbl_preorder.type AS `order_type`,
tbl_address.id AS `partner_id`,
tbl_address.company AS `partner_company`
from `Hausnummer`
left join `Netzgebiet` on (`Hausnummer`.`netzgebiet_id` = `Netzgebiet`.`id`)
left join `Plz` on (`Plz`.`id` = `Hausnummer`.`plz_id`)
left join `Strasse` on (`Strasse`.`id` = `Hausnummer`.`strasse_id`)
left join `Ortschaft` on (`Ortschaft`.`id` = `Hausnummer`.`ortschaft_id`)
left join `Gemeinde` on (`Gemeinde`.`id` = `Strasse`.`gemeinde_id`)
left join `Wohneinheit` on (`Wohneinheit`.`hausnummer_id` = `Hausnummer`.`id`)
left join `".FRONKDB_DBNAME."`.`Preorder` as tbl_preorder on (tbl_preorder.`adb_wohneinheit_id` = `Wohneinheit`.`id` AND (tbl_preorder.`deleted` = 0 OR tbl_preorder.`deleted` IS NULL))
left join `".FRONKDB_DBNAME."`.`Address` as tbl_address on (tbl_address.`id` = tbl_preorder.partner_id)
";*/
public function __construct() {
$this->db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
@@ -231,7 +172,7 @@ class AddressDB {
$log->debug(__METHOD__ . ": new Preorder Status flag: " . $matrix["pf"]);
}
$preorder = PreorderModel::getFirstActive(["adb_wohneinheit_id" => $wohneinheit->id]);
//$preorder = PreorderModel::getFirstActive(["adb_wohneinheit_id" => $wohneinheit->id]);
if($preorder) {
$preorder->resetSaveNesting();
@@ -247,7 +188,6 @@ class AddressDB {
$log->debug(__METHOD__.": Setting Preorder Status to ".$preorderstatus);
$preorder->setNewStatusCode($preorderstatus);
$preorder->save();
$preorder = PreorderModel::getFirstActive(["adb_wohneinheit_id" => $wohneinheit->id]);
$preorder->resetSaveNesting();
}
if($preorderstatus_flag) {
@@ -281,7 +221,7 @@ class AddressDB {
}
$wohneinheit = new ADBWohneinheit($wohneinheit->id);
//$wohneinheit = new ADBWohneinheit($wohneinheit->id);
$wohneinheit_status = $matrix["w"];
if($wohneinheit_status) {
+8 -21
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,26 @@ 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(!$val) continue; // only set flags from 0 to 1
$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($pflag->value->value != $val) {
$pflag->value->value = $val;
$pflag->value->save();
}
$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";
}
return true;
+4 -1
View File
@@ -276,6 +276,7 @@ class PreorderModel
// if not in cache, load regularly
$item = new Preorder($data);
if ($item->id) {
mfValuecache::singleton()->set("mfObjectmodel-preorder-".$data->id, $item);
return $item;
} else {
return null;
@@ -570,7 +571,9 @@ class PreorderModel
if($item) {
$items[] = $item;
} else {
$items[] = new Preorder($data);
$item = new Preorder($data);
mfValuecache::singleton()->set("mfObjectmodel-preorder-".$data->id, $item);
$items[] = $item;
}
}
}
@@ -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::create([
"preorder_id" => $this->preorder_id,
"flag_id" => $this->id
]);
$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;
}