Nach allen Merges keine Dubletten/materialtyp-Fehler mehr. Führende/ nachgestellte Leerzeichen bei 6 Namen entfernt (kosmetisch). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
4.3 KiB
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', SN1308409als erstegeraet_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.
Bewusst als eigenständig bestätigt (kein Fund, nur Ähnlichkeits-Rauschen)
Güdeltubus/Laryntubus Gr. 2–5, Flexüle-Farbvarianten, Spritzen-Größen (2er/5er/ 10er/20er), Endotubus-Größen (3,0–8,0), "Größe 1/3/4/5" – alles legitime, unterschiedliche Produktvarianten, keine Dubletten.