Fix 404 status update error with flexible SQL matching and add ALKIS layer loading error diagnostics
Deploy Bürgerwind / deploy (push) Successful in 17s
Details
Deploy Bürgerwind / deploy (push) Successful in 17s
Details
This commit is contained in:
parent
dd6e875e2c
commit
29fe0b1352
11
app.js
11
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 += ` | <span style="color: #ff8800;">ALKIS-Layer Fehler</span>`;
|
||||
}
|
||||
|
||||
statusEl.innerText = "Layer geladen (ALKIS DB integriert).";
|
||||
|
|
|
|||
28
server.js
28
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');
|
||||
|
|
|
|||
Loading…
Reference in New Issue