Materialstamm-Bereinigung: Beatmunsmaske geklärt, zu Größe S gemerged
CI / backend-tests (push) Failing after 1m18s
CI / frontend-build (push) Successful in 19s

Excel-Kontext (Rettungsrucksack.xlsx Zeile 50, direkt nach "Beatmungsbeutel
Kind") + Nutzer-Bestätigung: "Beatmunsmaske" (102) war die S-Größe, andere
Rucksäcke führen Beatmungsmaske S/M/L bereits einzeln. Zusammengelegt mit
161 "Beatmungsmasken S" (154 Materialien).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
2026-09-04 21:27:56 +02:00
co-authored by Claude Sonnet 5
parent 411e67a51f
commit f77d2d6fa6
3 changed files with 27 additions and 6 deletions
+13
View File
@@ -3369,3 +3369,16 @@ Keine Commits in dieser Session.
- frontend/src/pages/admin/ObjektSection.tsx | 71 +++++++++++++++++++++++++++ - frontend/src/pages/admin/ObjektSection.tsx | 71 +++++++++++++++++++++++++++
--- ---
## 2026-09-04 21:23 21:24 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** asb-material
### Commits
- 411e67a Materialstamm-Bereinigung 2026-09-04: 17 Dubletten zusammengelegt
### Geänderte Dateien
- DEVLOG.md | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/scripts/material_bereinigung_2026-09-04.py | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++
- ergebnisse/material_bereinigung_log.md | 66 +++++++++++++++++++++++++++++++
---
@@ -43,6 +43,9 @@ DUBLETTEN_PAARE = [
(170, 9), # "Schlingentupfer" / "Schlinggazetupfer" (170, 9), # "Schlingentupfer" / "Schlinggazetupfer"
(62, 81), # "Verbandtuch 60x80" / "Verbandstuch 160x80" (Tippfehler) (62, 81), # "Verbandtuch 60x80" / "Verbandstuch 160x80" (Tippfehler)
(48, 149), # "Elastische Binde" / "Elastische Binden" (48, 149), # "Elastische Binde" / "Elastische Binden"
(161, 102), # "Beatmungsmasken S" / "Beatmunsmaske" (Excel-Kontext: direkt
# nach "Beatmungsbeutel Kind" - Nutzer bestätigt Größe S,
# andere Rucksäcke führen Beatmungsmaske S/M/L einzeln)
] ]
# Tabellen mit FK auf material.id (Stand 2026-09-04, siehe alembic-Migrationen). # Tabellen mit FK auf material.id (Stand 2026-09-04, siehe alembic-Migrationen).
+11 -6
View File
@@ -11,7 +11,7 @@ Datenbereinigung, kein Schema-Wechsel).
Ausgangslage: 172 Materialien, per Fuzzy-Matching (Normalisierung + `difflib`) Ausgangslage: 172 Materialien, per Fuzzy-Matching (Normalisierung + `difflib`)
auf Dubletten/Tippfehler geprüft. Skript: `material_bereinigung_2026-09-04.py`. auf Dubletten/Tippfehler geprüft. Skript: `material_bereinigung_2026-09-04.py`.
### Zusammengelegt (17 Paare, 172 → 155 Materialien) ### Zusammengelegt (18 Paare, 172 → 154 Materialien)
| Behalten | Entfernt | Grund | | Behalten | Entfernt | Grund |
|---|---|---| |---|---|---|
@@ -32,6 +32,7 @@ auf Dubletten/Tippfehler geprüft. Skript: `material_bereinigung_2026-09-04.py`.
| Schlingentupfer | Schlinggazetupfer | Nutzer-Entscheidung: gleiches Material | | Schlingentupfer | Schlinggazetupfer | Nutzer-Entscheidung: gleiches Material |
| Verbandtuch 60x80 | Verbandstuch 160x80 | Nutzer-Entscheidung: Tippfehler ("1" zu viel) | | Verbandtuch 60x80 | Verbandstuch 160x80 | Nutzer-Entscheidung: Tippfehler ("1" zu viel) |
| Elastische Binde | Elastische Binden | Nutzer-Entscheidung: reiner Plural-Unterschied | | Elastische Binde | Elastische Binden | Nutzer-Entscheidung: reiner Plural-Unterschied |
| Beatmungsmasken S | Beatmunsmaske | Excel-Kontext + Nutzer-Bestätigung, siehe Nachtrag unten |
Ein echter Konflikt trat bei "Aluderm Strips/Stripes" auf: beide Varianten Ein echter Konflikt trat bei "Aluderm Strips/Stripes" auf: beide Varianten
waren bereits unabhängig in denselben Vorlagen (1, 4) bzw. demselben Objekt waren bereits unabhängig in denselben Vorlagen (1, 4) bzw. demselben Objekt
@@ -46,6 +47,15 @@ waren bereits unabhängig in denselben Vorlagen (1, 4) bzw. demselben Objekt
als erste `geraet_instanz`-Zeile an der betroffenen Objektposition angelegt als erste `geraet_instanz`-Zeile an der betroffenen Objektposition angelegt
(Karte 14). (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).
### Bewusst NICHT verändert (Nutzer-Entscheidung) ### Bewusst NICHT verändert (Nutzer-Entscheidung)
- **151 "Rollenpflaster"** (ohne Größenangabe, neben 53 "gross", 106 - **151 "Rollenpflaster"** (ohne Größenangabe, neben 53 "gross", 106
@@ -53,11 +63,6 @@ waren bereits unabhängig in denselben Vorlagen (1, 4) bzw. demselben Objekt
Rettungsrucksack) genutzt, keine Größe aus dem Kontext ableitbar Rettungsrucksack) genutzt, keine Größe aus dem Kontext ableitbar
bleibt eigenständig, bis geklärt ist, welcher Größe die bestehenden bleibt eigenständig, bis geklärt ist, welcher Größe die bestehenden
Verwendungen entsprechen. Verwendungen entsprechen.
- **102 "Beatmunsmaske"** (Tippfehler, neben 161/162/163 "Beatmungsmasken
S/M/L"): wird in Vorlage/Objekt/Kontroll-Historie genutzt (Rettungsrucksack
Standard), aber unklar welcher Größe die bestehende Verwendung entspricht
Nutzer-Feedback: "Schreibfehler, müssen wir uns nochmal anschauen". Noch
offen, bei nächster Gelegenheit klären und nachziehen.
### Bewusst als eigenständig bestätigt (kein Fund, nur Ähnlichkeits-Rauschen) ### Bewusst als eigenständig bestätigt (kein Fund, nur Ähnlichkeits-Rauschen)