diff --git a/app.js b/app.js index efc5093..9714b4b 100644 --- a/app.js +++ b/app.js @@ -1240,10 +1240,19 @@ document.addEventListener('DOMContentLoaded', async () => { // ALKIS aus Datenbank IMMER laden console.log("Lade ALKIS-Layer aus Datenbank..."); - const resp = await fetch('/api/layers/alkis').catch(() => null); + const resp = await fetch('/api/layers/alkis').catch(err => { + console.error("Netzwerkfehler beim Laden des ALKIS-Layers:", err); + return null; + }); + if (resp && resp.ok) { const data = await resp.json(); await processALKISData(data, "Eigentümer (ALKIS DB)"); + } else { + const errorText = resp ? await resp.text() : "Server nicht erreichbar"; + console.warn("ALKIS-Layer konnte nicht geladen werden:", errorText); + // Optional: Kurzer Hinweis für den User + document.getElementById('statusInfo').innerHTML += ` | ALKIS-Layer Fehler`; } statusEl.innerText = "Layer geladen (ALKIS DB integriert)."; diff --git a/server.js b/server.js index 2679832..514960b 100644 --- a/server.js +++ b/server.js @@ -147,34 +147,22 @@ app.post('/api/sicherung', async (req, res) => { const searchNachname = (nachname || '').trim(); const searchVorname = (vorname || '').trim(); - // Wir aktualisieren alle Einträge, die auf diesen Namen passen + // Normalisierte Suche (TRIM und COALESCE für ALKIS-Daten) const updateRes = await client.query( `UPDATE ${schema}.flaecheneigentuemer_alkis SET status = $1, notiz = $2 WHERE - ("GNA" = $3 AND "VNA" = $4) OR - ("VNA" = $5 AND "GNA" IS NULL) OR - ("GNA" = $5 AND "VNA" IS NULL)`, + (TRIM(COALESCE("GNA", '')) = TRIM(COALESCE($3, '')) AND TRIM(COALESCE("VNA", '')) = TRIM(COALESCE($4, ''))) OR + (TRIM(COALESCE("VNA", '')) = TRIM(COALESCE($5, '')) AND TRIM(COALESCE("GNA", '')) = '') OR + (TRIM(COALESCE("GNA", '')) = TRIM(COALESCE($5, '')) AND TRIM(COALESCE("VNA", '')) = '') OR + (LOWER(TRIM(COALESCE("GNA", ''))) = LOWER(TRIM(COALESCE($3, ''))) AND LOWER(TRIM(COALESCE("VNA", ''))) = LOWER(TRIM(COALESCE($4, ''))))`, [targetStatus, notiz, searchNachname, searchVorname, `${searchVorname} ${searchNachname}`.trim()] ); if (updateRes.rowCount === 0) { - log(`Kein Eigentümer für ${vorname} ${nachname} zum Aktualisieren gefunden.`); - // Optional: Fallback Suche mit LOWER - const updateResLower = await client.query( - `UPDATE ${schema}.flaecheneigentuemer_alkis - SET status = $1, notiz = $2 - WHERE - (LOWER("GNA") = LOWER($3) AND LOWER("VNA") = LOWER($4)) OR - (LOWER("VNA") = LOWER($5) AND "GNA" IS NULL) OR - (LOWER("GNA") = LOWER($5) AND "VNA" IS NULL)`, - [targetStatus, notiz, searchNachname, searchVorname, `${searchVorname} ${searchNachname}`.trim()] - ); - - if (updateResLower.rowCount === 0) { - await client.query('ROLLBACK'); - return res.status(404).json({ error: 'Eigentümer nicht in der Datenbank gefunden.' }); - } + log(`Kein Eigentümer für ${vorname} ${nachname} gefunden.`); + await client.query('ROLLBACK'); + return res.status(404).json({ error: `Eigentümer '${vorname} ${nachname}' nicht in der ALKIS-Tabelle gefunden.` }); } await client.query('COMMIT');