Merge branch 'spidev' into 'master'
Qgis Preorder sync um Felder erweitert See merge request fronk/thetool!2034
This commit is contained in:
@@ -96,6 +96,10 @@ CREATE TABLE IF NOT EXISTS $targetSchema."$targetTable" (
|
||||
type_label VARCHAR(100),
|
||||
strasse VARCHAR(255),
|
||||
hausnummer VARCHAR(50),
|
||||
block VARCHAR(50),
|
||||
stiege VARCHAR(50),
|
||||
stock VARCHAR(50),
|
||||
tuer VARCHAR(50),
|
||||
plz VARCHAR(10),
|
||||
ort VARCHAR(100),
|
||||
geom geometry(Point, 4326),
|
||||
@@ -104,6 +108,7 @@ CREATE TABLE IF NOT EXISTS $targetSchema."$targetTable" (
|
||||
lastname VARCHAR(255),
|
||||
phone VARCHAR(100),
|
||||
email VARCHAR(255),
|
||||
note TEXT,
|
||||
status_code INTEGER,
|
||||
status_id INTEGER,
|
||||
oaid VARCHAR(255),
|
||||
@@ -119,20 +124,29 @@ SQL;
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS lastname VARCHAR(255)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS phone VARCHAR(100)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS email VARCHAR(255)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS note TEXT");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS status_code INTEGER");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS status_id INTEGER");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS oaid VARCHAR(255)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS block VARCHAR(50)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS stiege VARCHAR(50)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS stock VARCHAR(50)");
|
||||
$pdo->exec("ALTER TABLE $targetSchema.\"$targetTable\" ADD COLUMN IF NOT EXISTS tuer VARCHAR(50)");
|
||||
|
||||
$sqlUpsert = <<<SQL
|
||||
INSERT INTO $targetSchema."$targetTable"
|
||||
(id, type, type_label, strasse, hausnummer, plz, ort, geom, company, firstname, lastname, phone, email, status_code, status_id, oaid, updated_at)
|
||||
(id, type, type_label, strasse, hausnummer, block, stiege, stock, tuer, plz, ort, geom, company, firstname, lastname, phone, email, note, status_code, status_id, oaid, updated_at)
|
||||
VALUES
|
||||
(:id, :type, :type_label, :strasse, :hausnummer, :plz, :ort, ST_SetSRID(ST_MakePoint(:lon, :lat), 4326), :company, :firstname, :lastname, :phone, :email, :status_code, :status_id, :oaid, NOW())
|
||||
(:id, :type, :type_label, :strasse, :hausnummer, :block, :stiege, :stock, :tuer, :plz, :ort, ST_SetSRID(ST_MakePoint(:lon, :lat), 4326), :company, :firstname, :lastname, :phone, :email, :note, :status_code, :status_id, :oaid, NOW())
|
||||
ON CONFLICT (id) DO UPDATE SET
|
||||
type = EXCLUDED.type,
|
||||
type_label = EXCLUDED.type_label,
|
||||
strasse = EXCLUDED.strasse,
|
||||
hausnummer = EXCLUDED.hausnummer,
|
||||
block = EXCLUDED.block,
|
||||
stiege = EXCLUDED.stiege,
|
||||
stock = EXCLUDED.stock,
|
||||
tuer = EXCLUDED.tuer,
|
||||
plz = EXCLUDED.plz,
|
||||
ort = EXCLUDED.ort,
|
||||
geom = EXCLUDED.geom,
|
||||
@@ -141,6 +155,7 @@ ON CONFLICT (id) DO UPDATE SET
|
||||
lastname = EXCLUDED.lastname,
|
||||
phone = EXCLUDED.phone,
|
||||
email = EXCLUDED.email,
|
||||
note = EXCLUDED.note,
|
||||
status_code = EXCLUDED.status_code,
|
||||
status_id = EXCLUDED.status_id,
|
||||
oaid = EXCLUDED.oaid,
|
||||
@@ -150,6 +165,10 @@ WHERE
|
||||
"$targetTable".type_label IS DISTINCT FROM EXCLUDED.type_label OR
|
||||
"$targetTable".strasse IS DISTINCT FROM EXCLUDED.strasse OR
|
||||
"$targetTable".hausnummer IS DISTINCT FROM EXCLUDED.hausnummer OR
|
||||
"$targetTable".block IS DISTINCT FROM EXCLUDED.block OR
|
||||
"$targetTable".stiege IS DISTINCT FROM EXCLUDED.stiege OR
|
||||
"$targetTable".stock IS DISTINCT FROM EXCLUDED.stock OR
|
||||
"$targetTable".tuer IS DISTINCT FROM EXCLUDED.tuer OR
|
||||
"$targetTable".plz IS DISTINCT FROM EXCLUDED.plz OR
|
||||
"$targetTable".ort IS DISTINCT FROM EXCLUDED.ort OR
|
||||
"$targetTable".geom IS DISTINCT FROM EXCLUDED.geom OR
|
||||
@@ -158,6 +177,7 @@ WHERE
|
||||
"$targetTable".lastname IS DISTINCT FROM EXCLUDED.lastname OR
|
||||
"$targetTable".phone IS DISTINCT FROM EXCLUDED.phone OR
|
||||
"$targetTable".email IS DISTINCT FROM EXCLUDED.email OR
|
||||
"$targetTable".note IS DISTINCT FROM EXCLUDED.note OR
|
||||
"$targetTable".status_code IS DISTINCT FROM EXCLUDED.status_code OR
|
||||
"$targetTable".status_id IS DISTINCT FROM EXCLUDED.status_id OR
|
||||
"$targetTable".oaid IS DISTINCT FROM EXCLUDED.oaid;
|
||||
@@ -191,6 +211,10 @@ SQL;
|
||||
':type_label' => $po->type_label,
|
||||
':strasse' => $po->adb_strasse,
|
||||
':hausnummer' => $po->adb_hausnummer,
|
||||
':block' => $po->block,
|
||||
':stiege' => $po->stiege,
|
||||
':stock' => $po->stock,
|
||||
':tuer' => $po->tuer,
|
||||
':plz' => $po->adb_plz,
|
||||
':ort' => $po->adb_ort,
|
||||
':company' => $po->company,
|
||||
@@ -198,6 +222,7 @@ SQL;
|
||||
':lastname' => $po->lastname,
|
||||
':phone' => $po->phone,
|
||||
':email' => $po->email,
|
||||
':note' => $po->note,
|
||||
':status_code' => $po->status_code,
|
||||
':status_id' => $po->status_id,
|
||||
':oaid' => $po->oaid,
|
||||
@@ -205,6 +230,7 @@ SQL;
|
||||
':lon' => $lonVal
|
||||
];
|
||||
|
||||
|
||||
$stmt->execute($params);
|
||||
$processedIds[] = $id;
|
||||
if ($stmt->rowCount() > 0) {
|
||||
|
||||
Reference in New Issue
Block a user