Files
MABEA/ergebnisse/material_bereinigung_log.md
patrickandClaude Sonnet 5 13ff2838fa
CI / backend-tests (push) Failing after 1m18s
CI / frontend-build (push) Successful in 24s
Materialstamm: Blutdruckmanschette ALT geklärt + Zuständigkeitsliste mit Suche
89 "Blutdruckmanschette" <- 91 "Blutdruckmanschette ALT" zusammengelegt
(152 Materialien). Echter Konflikt an 7 Objekten geprüft und dokumentiert -
kein Datenverlust (Konfliktzeilen alle im Default-Zustand, einziger echter
Historie-Treffer korrekt umgehängt statt gelöscht).

ZustaendigkeitSection: gleiches zweispaltiges Layout mit Suche wie Material-/
Objektliste. screenshots/ ins .gitignore (lokale Debug-Bilder, nicht für
den Remote gedacht).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-05 00:10:22 +02:00

5.3 KiB
Raw Permalink Blame History

Materialstamm-Bereinigung Log

Laufender Log für Bereinigungsläufe gegen den Materialstamm (Dubletten aus dem Excel-Import, Datentyp-Fehler). Skripte liegen unter backend/scripts/material_bereinigung_<datum>.py, jeweils gegen die Live-DB auf 192.168.1.238 ausgeführt (nicht Teil der Alembic-Migrationskette, da reine Datenbereinigung, kein Schema-Wechsel).

2026-09-04

Ausgangslage: 172 Materialien, per Fuzzy-Matching (Normalisierung + difflib) auf Dubletten/Tippfehler geprüft. Skript: material_bereinigung_2026-09-04.py.

Zusammengelegt (19 Paare, 172 → 153 Materialien)

Behalten Entfernt Grund
E 153 E153 Leerzeichen-Variante
Rettungsdecke Rettungsdecke (Leerzeichen) Leerzeichen-Variante
Verbandspäckchen klein Verbandspäckchen klein (Leerzeichen) Leerzeichen-Variante
Thomasholder Kind Thomas Holder Kind Schreibweise
Samsplint Samsplint (Leerzeichen) Leerzeichen-Variante
Rollenpflaster Rollenpflaster (Leerzeichen) Leerzeichen-Variante
Stethoskop Stetoskop Tippfehler
Pupillenleuchte Puppillenleuchte Tippfehler
Aluderm Strips 1,9x7,2 Aluderm Stripes 1,9x7,2 Tippfehler
Farbkodierte Blockerspritze Farbcodierte Blockerspritze Schreibvariante
Infusionssystem Infussionssystem Tippfehler
Verbandspäckchen Groß Verbandspäckchen gross Schreibvariante
Wundschnellverband 10x6 a 8 Wundschnelölverband 10x6 Tippfehler
Handschuhe Handschuh lose Nutzer-Entscheidung: gleiches Material
Schlingentupfer Schlinggazetupfer Nutzer-Entscheidung: gleiches Material
Verbandtuch 60x80 Verbandstuch 160x80 Nutzer-Entscheidung: Tippfehler ("1" zu viel)
Elastische Binde Elastische Binden Nutzer-Entscheidung: reiner Plural-Unterschied
Beatmungsmasken S Beatmunsmaske Excel-Kontext + Nutzer-Bestätigung, siehe Nachtrag unten
Rollenpflaster gross Rollenpflaster Kein Größenhinweis, Default-Entscheidung, siehe Nachtrag unten

Ein echter Konflikt trat bei "Aluderm Strips/Stripes" auf: beide Varianten waren bereits unabhängig in denselben Vorlagen (1, 4) bzw. demselben Objekt (1) verwendet die Dublettenzeile wurde dort gelöscht statt umgehängt (siehe _merge()-Logik im Skript, UNIQUE-Constraint-Konfliktbehandlung).

Datentyp-Fehler korrigiert

  • Material 148: Name war "Manometer SN 1308409" (Seriennummer im Namensfeld statt in einem Geräte-Feld), materialtyp='ablauf_charge'. Korrigiert zu Name "Manometer", materialtyp='geraet_sn', SN 1308409 als erste geraet_instanz-Zeile an der betroffenen Objektposition angelegt (Karte 14).

Nachtrag 2026-09-04 (später): "Beatmunsmaske" geklärt

161 "Beatmungsmasken S"102 "Beatmunsmaske" zusammengelegt (154 Materialien). Klärung über Original-Excel (Rettungsrucksack.xlsx, Zeile 50): "Beatmunsmaske" steht dort direkt nach "Beatmungsbeutel Kind" im Kinder-Abschnitt der Liste Nutzer bestätigt Größe S. Andere Rucksäcke führen "Beatmungsmaske S/M/L" bereits einzeln, S/M/L bleiben eigenständige Materialien (keine Zusammenlegung der Größen selbst).

Nachtrag 2026-09-04 (später): "Rollenpflaster" 151 geklärt

53 "Rollenpflaster gross"151 "Rollenpflaster" zusammengelegt (153 Materialien). Original-Excel (Rettungsrucksack.xlsx Zeile 10, Rucksack PAX SEG.xlsx Zeile 20) nutzt in beiden Fällen unspezifiziertes "Rollenpflaster" ohne Größenangabe kein Kontexthinweis auf schmal/breit/gross. "Rollenpflaster gross" stammt aus Handball Rucksack.xlsx (Zeile 64), "schmal"/"breit" (106/107) aus keiner der drei Repo-Excel-Dateien. Nutzer-Entscheidung mangels Evidenz: Default auf "gross".

Nachtrag 2026-09-04 (später): Nachkontrolle + Whitespace-Trim

Nach allen Merges erneute Prüfung (153 Materialien): keine exakten Dubletten, keine materialtyp-Fehler mehr. 6 Namen hatten führende/nachgestellte Leerzeichen (Elastische Binde, Plastiktüten, Absaugkatheter weiß, Kindermanschette, Dreieckstücher, Masken) getrimmt, rein kosmetisch, keine Referenzen betroffen.

2026-09-05

Nachkontrolle (153 → 152 Materialien) nach neuen Objektanlagen (GA San, Karte "Rettungsrucksack Standart... 6 Stück"). Fuzzy-Check erneut gelaufen, alle bisher bestätigten Größenvarianten (Güdeltubus/Laryntubus/ Endotrachealtubus/Spritzen/Beatmungsmasken) weiterhin unauffällig.

89 "Blutdruckmanschette" ← 91 "Blutdruckmanschette ALT" zusammengelegt. Echter Konflikt: beide Varianten waren bereits an denselben Objekten (Vorlage 2, Objekte 2 sowie die 6 neuen GA-San-Rucksäcke 49) gleichzeitig vorhanden Konfliktzeilen wurden gelöscht statt umgehängt (UNIQUE(objekt_id, material_id)). Vor dem Merge geprüft: der einzige Historie-Treffer zu Material 91 war ein kontrollposition-Eintrag (istmenge 1/sollmenge 1, 2026-09-03), der korrekt auf 89 umgehängt wurde (kontrollposition hat kein UNIQUE-Constraint, kein Löschfall). Die gelöschten objektposition-Zeilen standen alle im Default (istmenge 0, keine Ablauf/Charge/SN/Override) kein Datenverlust.

Bewusst als eigenständig bestätigt (kein Fund, nur Ähnlichkeits-Rauschen)

Güdeltubus/Laryntubus Gr. 25, Flexüle-Farbvarianten, Spritzen-Größen (2er/5er/ 10er/20er), Endotubus-Größen (3,08,0), "Größe 1/3/4/5" alles legitime, unterschiedliche Produktvarianten, keine Dubletten.