Script Preorder Sync erweitert auf Netzgebiete:
ON Leibnitz ON Bad Gleichenberg ON Semriach ON Straden ON St.Anna am Aigen
This commit is contained in:
@@ -408,7 +408,7 @@ foreach ($devicesall as $deviceall) {
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ($devicesconfig->success == "true" && $devicesconfig->data > 0) {
|
||||
if ($devicesconfig->success == "true" && $devicesconfig->data) {
|
||||
?>
|
||||
<div>
|
||||
<table class="table table-sm">
|
||||
@@ -711,7 +711,7 @@ foreach ($devicesall as $deviceall) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($devices->devicetype->devicemanufactor->config_backup > 0):
|
||||
<?php if ($devices->devicetype->devicemanufactor->config_backup > count()):
|
||||
|
||||
$year = date("Y", time());
|
||||
$month = date("n", time());
|
||||
|
||||
@@ -14,9 +14,32 @@ $pgPort = '5432';
|
||||
$pgDb = QGIS_DBNAME;
|
||||
$pgUser = QGIS_DBUSER;
|
||||
$pgPass = QGIS_DBPASS;
|
||||
$targetSchema = '"ON Leibnitz"';
|
||||
|
||||
$targetTable = 'Preorders';
|
||||
|
||||
$campaigns = [
|
||||
[
|
||||
'targetSchema' => '"ON Leibnitz"',
|
||||
'campaignId' => 99
|
||||
],
|
||||
[
|
||||
'targetSchema' => '"ON Semriach"',
|
||||
'campaignId' => 101
|
||||
],
|
||||
[
|
||||
'targetSchema' => '"ON Bad Gleichenberg"',
|
||||
'campaignId' => 108
|
||||
],
|
||||
[
|
||||
'targetSchema' => '"ON Straden"',
|
||||
'campaignId' => 107
|
||||
],
|
||||
[
|
||||
'targetSchema' => '"ON St.Anna am Aigen"',
|
||||
'campaignId' => 106
|
||||
]
|
||||
];
|
||||
|
||||
define("INTERNAL_USER_ID", 154);
|
||||
|
||||
class PreorderSyncWrapper extends PreorderController {
|
||||
@@ -32,24 +55,6 @@ class PreorderSyncWrapper extends PreorderController {
|
||||
}
|
||||
}
|
||||
|
||||
$apiParams = [
|
||||
'mod' => 'Preorder',
|
||||
'action' => 'api',
|
||||
'do' => 'getFilteredPreorders',
|
||||
'filter' => [
|
||||
'preordercampaign_id' => 99
|
||||
]
|
||||
];
|
||||
|
||||
new PreorderSyncWrapper($apiParams);
|
||||
$response = PreorderSyncWrapper::$capturedResult;
|
||||
|
||||
if (!$response || !isset($response['status']) || $response['status'] !== 'OK') {
|
||||
die("Fehler beim Abrufen der Daten oder keine Daten erhalten.\n");
|
||||
}
|
||||
|
||||
$preorders = $response['result']['preorders'] ?? [];
|
||||
|
||||
try {
|
||||
$dsn = "pgsql:host=$pgHost;port=$pgPort;dbname=$pgDb";
|
||||
$pdo = new PDO($dsn, $pgUser, $pgPass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
|
||||
@@ -57,6 +62,30 @@ try {
|
||||
die("Verbindung zu PostgreSQL fehlgeschlagen: " . $e->getMessage() . "\n");
|
||||
}
|
||||
|
||||
foreach ($campaigns as $campaign) {
|
||||
$targetSchema = $campaign['targetSchema'];
|
||||
$campaignId = $campaign['campaignId'];
|
||||
|
||||
$apiParams = [
|
||||
'mod' => 'Preorder',
|
||||
'action' => 'api',
|
||||
'do' => 'getFilteredPreorders',
|
||||
'filter' => [
|
||||
'preordercampaign_id' => $campaignId
|
||||
]
|
||||
];
|
||||
|
||||
PreorderSyncWrapper::$capturedResult = null;
|
||||
new PreorderSyncWrapper($apiParams);
|
||||
$response = PreorderSyncWrapper::$capturedResult;
|
||||
|
||||
if (!$response || !isset($response['status']) || $response['status'] !== 'OK') {
|
||||
echo "Fehler beim Abrufen der Daten oder keine Daten erhalten fuer Schema $targetSchema (ID: $campaignId).\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
$preorders = $response['result']['preorders'] ?? [];
|
||||
|
||||
$pdo->exec("CREATE SCHEMA IF NOT EXISTS $targetSchema");
|
||||
|
||||
$createTableSql = <<<SQL
|
||||
@@ -196,9 +225,4 @@ if (!empty($processedIds)) {
|
||||
}
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
//echo "Sync fertig.\n";
|
||||
//echo "Neu erstellt oder aktualisiert: $countUpsert\n";
|
||||
//echo "Unverändert (kein Update nötig): $countUnchanged\n";
|
||||
//echo "Ohne Koordinaten (übersprungen): $countSkipped\n";
|
||||
//echo "Gelöscht (nicht mehr in Quelle): $deletedCount\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user