Merge branch 'fronkdev' into 'master'

Added Preding to rimo import; added workorder team

See merge request fronk/thetool!298
This commit is contained in:
Frank Schubert
2024-03-21 12:38:18 +00:00
10 changed files with 248 additions and 12 deletions

View File

@@ -358,7 +358,14 @@
</tr><tr>
<th>Status</th>
<td><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_status?></td>
</tr><tr>
</tr>
<?php if($preorder->adb_wohneinheit->rimo_workorder->rimo_team_name): ?>
<tr>
<th>Zugewiesen an:</th>
<td><?=$preorder->adb_wohneinheit->rimo_workorder->rimo_team_name?></td>
</tr>
<?php endif; ?>
<tr>
<th>Erstellt</th>
<td class="text-monospace"><?=(is_object($preorder->adb_wohneinheit->rimo_workorder)) ? date("d.m.Y H:i:s", $preorder->adb_wohneinheit->rimo_workorder->create) : ""?></td>
</tr>

View File

@@ -5,6 +5,8 @@ class RimoWorkorderModel {
public $rimo_name;
public $adb_wohneinheit_id;
public $termination_id;
public $rimo_team_id;
public $rimo_team_name;
public $create_data;
public $create_by;

View File

@@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class RimoWorkorderAddTeam extends AbstractMigration
{
public function up(): void
{
if($this->getEnvironment() == "thetool") {
$table = $this->table("RimoWorkorder");
$table->addColumn("rimo_team_id", "string", ["null" => true, "default" => null, "limit" => 64, "after" => "rimo_status"]);
$table->addColumn("rimo_team_name", "string", ["null" => true, "default" => null, "limit" => 64, "after" => "rimo_team_id"]);
$table->update();
}
if($this->getEnvironment() == "addressdb") {
}
}
public function down(): void
{
if($this->getEnvironment() == "thetool") {
$table = $this->table("RimoWorkorder");
$table->removeColumn("rimo_team_name");
$table->removeColumn("rimo_team_id");
$table->save();
}
if($this->getEnvironment() == "addressdb") {
}
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace ADBRimoImport\ADBAddressHelper\Network;
/*
* Netzgebiet
* Premstätten Süd
*/
class Network_60324 {
public function checkAddress($data) {
/*
* array keys are a reference their original variables and must be manipulated directly
*/
// dererence input array keys into copies
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$$var = $data[$var];
}
if($strasse_name == "Gewerbepark" && $hausnummer_name == "2a") $strasse_name = "Gewerbepark Süd";
if($strasse_name == "Meinhold Weg") $strasse_name = "Meinholdweg";
if($strasse_name == "Meinholf Weg") $strasse_name = "Meinholdweg";
if($strasse_name == "Grazerstraße") $strasse_name = "Grazer Straße";
if($strasse_name == "Preding") $strasse_name = "Predinger Straße";
if($strasse_name == "Gantschenberg") $strasse_name = "Gantschenbergstraße";
if($strasse_name == "Wieselsdorf" || $strasse_name == "Wieselsdorf Straße") $strasse_name = "Wieselsdorfer Straße";
if($ort_name == "Deutschlandsberg") $ort_name = "Preding";
if($gem_kz == "60350") $gem_kz = "60324";
// put new values back into original pointer
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$data[$var] = $$var;
}
return true;
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace ADBRimoImport\ADBAddressHelper\Network;
/*
* Netzgebiet
* Premstätten Süd
*/
class Network_P_J5B3J {
public function checkAddress($data) {
/*
* array keys are a reference their original variables and must be manipulated directly
*/
// dereference input array keys into copies
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$$var = $data[$var];
}
// put new values back into original pointer
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$data[$var] = $$var;
}
return true;
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace ADBRimoImport\ADBAddressHelper\Network;
/*
* Netzgebiet
* Premstätten Süd
*/
class Network_P_J5B3K {
public function checkAddress($data) {
/*
* array keys are a reference their original variables and must be manipulated directly
*/
// dereference input array keys into copies
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$$var = $data[$var];
}
// put new values back into original pointer
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$data[$var] = $$var;
}
return true;
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace ADBRimoImport\ADBAddressHelper\Network;
/*
* Netzgebiet
* Premstätten Süd
*/
class Network_P_J5B3L {
public function checkAddress($data) {
/*
* array keys are a reference their original variables and must be manipulated directly
*/
// dereference input array keys into copies
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$$var = $data[$var];
}
// put new values back into original pointer
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$data[$var] = $$var;
}
return true;
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace ADBRimoImport\ADBAddressHelper\Network;
/*
* Netzgebiet
* Premstätten Süd
*/
class Network_P_J5B3R {
public function checkAddress($data) {
/*
* array keys are a reference their original variables and must be manipulated directly
*/
// dereference input array keys into copies
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$$var = $data[$var];
}
// put new values back into original pointer
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$data[$var] = $$var;
}
return true;
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace ADBRimoImport\ADBAddressHelper\Network;
/*
* Netzgebiet
* Premstätten Süd
*/
class Network_P_J5B42 {
public function checkAddress($data) {
/*
* array keys are a reference their original variables and must be manipulated directly
*/
// dereference input array keys into copies
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$$var = $data[$var];
}
// put new values back into original pointer
foreach(["name", "strasse_name", "hausnummer_name", "addresszusatz", "gem_kz", "gem_name", "ort_name", "plz_name"] as $var) {
$data[$var] = $$var;
}
return true;
}
}

View File

@@ -40,13 +40,15 @@ if($argc > 1) {
//$netowners = ["estmk", "rml"];
$netowners = ["estmk"];
//$netowners = ["rml"];
$apiEdition = "prod";
foreach($netowners as $apiOwner) {
$apiEdition = "prod";
$apiData = TT_RIMO_API_CREDS[$apiOwner][$apiEdition];
$apiUrl = $apiData["url"];
$apiToken = $apiData["key"];
$processType = $apiData["type"];
if(!$apiUrl || !$apiToken) {
echo "Api Daten für $apiOwner unvollständig\n";
@@ -117,10 +119,10 @@ foreach($netowners as $apiOwner) {
}
if($cluster_rimo_id != "SDIRolloutRegion_330545538305_1709728959") {
// lieboch vorab
/*if($cluster_rimo_id != "SDIRolloutRegion_411273870081_1710940292") {
// preding
continue;
}
}*/
/*
* get Cluster Outline Coords
@@ -134,7 +136,7 @@ foreach($netowners as $apiOwner) {
//echo $req_url."\n";
$responseText = file_get_contents($req_url, false, $req_ctx);
if($responseText === false) {
//echo "Error fetching Workorders for building $rimo_building_id\n";
//echo "Error fetching GeoJson for cluster $cluster_rimo_id\n";
continue;
}
$geodataResponse = json_decode($responseText);
@@ -230,7 +232,7 @@ foreach($netowners as $apiOwner) {
$home_rimo_id = $home->id;
$home_name = $home->name;
//echo "$home_rimo_id\n";
//echo "$home_rimo_id\n";continue;
if(array_key_exists($home_rimo_id, $existing_units)) {
$unit = $existing_units[$home_rimo_id];
@@ -247,8 +249,8 @@ foreach($netowners as $apiOwner) {
"extref" => $home_rimo_id,
"num" => ++$last_unit_num
]);
if(!$unit->save()) {
die("Error saving new unit\n".print_r($home, true));
if(!$unit->save()) {
die("Error saving new unit\n".print_r($home, true));
}
}
@@ -401,7 +403,7 @@ foreach($netowners as $apiOwner) {
}
//continue;
/*
* get workorders
*/
@@ -431,7 +433,9 @@ foreach($netowners as $apiOwner) {
$rimo_workorder_name = $workorder->name;
$workorder_status = $workorder->state->userLabel;
$workorder_home_id = $workorder->home->id;
$team_id = (is_array($workorder->teams->item) && count($workorder->teams->item)) ? $workorder->teams->item[0]->id : null;
$team_name = (is_array($workorder->teams->item) && count($workorder->teams->item)) ? $workorder->teams->item[0]->name : null;
$wo = \RimoWorkorderModel::getFirst(["rimo_id" => $rimo_workorder_id]);
if($wo && $workorder_status != $wo->rimo_status) {
@@ -453,7 +457,9 @@ foreach($netowners as $apiOwner) {
"adb_wohneinheit_id" => $wo_home->id,
"rimo_id" => $rimo_workorder_id,
"rimo_name" => $rimo_workorder_name,
"rimo_status" => $workorder_status
"rimo_status" => $workorder_status,
"rimo_team_id" => $team_id,
"rimo_team_name" => $team_name
]);
if(!$wo->save()) {
echo "Fehler beim Erstellen der RimoWorkorder $rimo_workorder_id ($workorder_home_id)\n";