OAID / Rimo Workorder update:

- OAIDs are now auto assigned to preorders/wohneinheiten on save
- OAIDs can be exported to rimo via Preorder Admin functions
- Preorder admin function createWorkorder automatically creates, exports and assigns OAIDs
This commit is contained in:
Frank Schubert
2023-08-09 09:02:44 +02:00
parent 85ab465862
commit 9f051b4cf3
27 changed files with 1150 additions and 81 deletions
@@ -0,0 +1,71 @@
#!/usr/bin/php
<?php
die("disabled");
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG',false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$me = new User(1);
define("INTERNAL_USER_ID", $me->id);
define("INTERNAL_USER_USERNAME", $me->username);
$params['apiKey'] = RIMO_API_JSON_APIKEY;
$params['limit'] = 1000;
$params['offset'] = 1;
$ctx_opts = [
'http' => [
'method' => 'GET',
'header' => 'accept: application/json'
]
];
$qs = http_build_query($params);
//echo $qs."\n";
$createOrderEp = RIMO_API_JSON_URL."/v1/oaid-management/oaids";
$get_url = $createOrderEp."?".$qs;
$ctx = stream_context_create($ctx_opts);
echo " Getting all OAIDs in Rimo: $get_url\n";
$response = file_get_contents($get_url, false, $ctx);
//var_dump($response);exit;
if($response === false) {
echo "Fehler beim Auslesen der OAIDs aus RIMO\n";
$workorders_failed++;
return false;
}
$all_oaids_json = json_decode($response);
$all_oaids = $all_oaids_json->item;
foreach($all_oaids as $oaid_obj) {
if(!$oaid_obj->name) continue;
$params = [];
$params['apiKey'] = RIMO_API_JSON_APIKEY;
$params['oaidName'] = $oaid_obj->name;
$ctx_opts = [
'http' => [
'method' => 'DELETE',
'header' => 'accept: application/json'
]
];
$qs = http_build_query($params);
//echo $qs."\n";
$createOrderEp = RIMO_API_JSON_URL."/v1/oaid-management/oaids";
$delete_url = $createOrderEp."?".$qs;
$ctx = stream_context_create($ctx_opts);
echo " Deleting OAID ".$oaid_obj->name." from Rimo: $delete_url\n";
$response = file_get_contents($delete_url, false, $ctx);
echo "$response\n";
}
@@ -171,9 +171,11 @@ while($csv = fgetcsv($input, 0)) {
continue;
}
//echo $campaign->name." (".$network->name.")\n";
$create_oaid = false;
if($campaign->oaid_origin == "thetool") {
$create_oaid = true;
}
//var_dump($data);exit;
$hausnummer = new ADBHausnummer($data->hausnummer_id);
$wohneinheiten = ADBWohneinheitModel::search(["hausnummer_id" => $hausnummer->id]);
@@ -250,7 +252,7 @@ while($csv = fgetcsv($input, 0)) {
continue;
}
if(!$unit->oaid) {
if($create_oaid && !$unit->oaid) {
$unit->oaid = $unit->getNewOAID();
$unit->save();
}
@@ -312,7 +314,7 @@ while($csv = fgetcsv($input, 0)) {
continue;
}
if(!$unit->oaid) {
if($create_oaid && !$unit->oaid) {
$unit->oaid = $unit->getNewOAID();
$unit->save();
}
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/php
<?php
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG',false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$me = new User(1);
define("INTERNAL_USER_ID", $me->id);
define("INTERNAL_USER_USERNAME", $me->username);
foreach(PreorderModel::search(["workorder_export_date" => true, "deleted" => 0]) as $preorder) {
$wo_data = json_decode(($preorder->workorder_export_data));
//var_dump($preorder->id, $wo_data);exit;
echo "rimo id: ".$wo_data->id."\n";
echo "rimo name: ".$wo_data->name."\n";
$rimo_id = $wo_data->id;
$rimo_name = $wo_data->name;
if(RimoWorkorderModel::getFirst(["rimo_id" => $rimo_id])) {
echo "Gibts scho! $rimo_id $rimo_name\n";
continue;
}
if(RimoWorkorderModel::getFirst(["rimo_name" => $rimo_name])) {
echo "Gibts scho(2)! $rimo_id $rimo_name\n";
continue;
}
$workorder = RimoWorkorderModel::create([
"rimo_id" => $rimo_id,
"rimo_name" => $rimo_name,
"adb_wohneinheit_id" => $preorder->adb_wohneinheit_id,
"create_data" => $preorder->workorder_export_data
]);
if(!$workorder->save()) {
echo "Error saving new Workorder (Preorder ".$preorder->id." $rimo_id $rimo_name";
continue;
}
}
+9 -4
View File
@@ -20,8 +20,12 @@ $mainlog = mfLoghandler::singleton();
$log = new mfLog_File();
$log->init(BASEDIR."/var/log/rimo-import.log");
$apiUrl = RIMO_API_JSON_URL_PROD;
$apiToken = RIMO_API_JSON_APIKEY_PROD;
$apiOwner = "rml";
$apiEdition = "prod";
$apiData = TT_RIMO_API_CREDS[$apiOwner][$apiEdition];
$apiUrl = $apiData["url"];
$apiToken = $apiData["key"];
$epGetClusters = $apiUrl.RIMO_API_JSON_EP_GET_CLUSTERS;
$epGetBuildings = $apiUrl.RIMO_API_JSON_EP_GET_BUILDINGS;
@@ -33,7 +37,7 @@ if(!defined("RIMO_API_JSON_APIKEY_PROD")) {
$import_count = 0;
$baseParams = ['apiKey' => RIMO_API_JSON_APIKEY_PROD];
$baseParams = ['apiKey' => $apiToken];
$ctxOptsPost = [
'http' => [
@@ -67,7 +71,8 @@ if($responseText === false) {
}
$clustersResponse = json_decode($responseText);
//var_dump($clustersResponse);
var_dump($clustersResponse);
exit;
if(is_object($clustersResponse) && property_exists($clustersResponse, "item") && is_array($clustersResponse->item) && count($clustersResponse->item)) {
foreach($clustersResponse->item as $cluster) {