2.6 KiB
2.6 KiB
Journal: ZNS-Import Polishing (Status & Einzeldatei-Support)
Datum: 2026-04-16
1. Problemstellung
- Status-Feedback: Das Frontend zeigte keinen Fortschritt an (0%, "Warte auf Server"), obwohl der Import im Hintergrund lief.
- Einzeldatei-Upload: Der Upload einer einzelnen
.dat-Datei (z.B.VEREIN01.DAT) schlug fehl, da das System fest auf ZIP-Archive ausgelegt war. - Archivierung: Die Archivierung versuchte immer ein
.zipzu speichern, auch wenn eine.dathochgeladen wurde.
2. Analyse
- Das Backend lieferte ein
ImportJob-Objekt mit dem Feldfortschritt(deutsch). - Das Frontend erwartete in
JobStatusResponsedas Feldprogress(englisch) underrorsstattfehler. - Der
ZnsImportOrchestratorrief direktimportiereZipauf, ohne den Dateityp zu prüfen. - Die Extraktionslogik für ZIP-Dateien warf Exceptions, wenn der Stream kein ZIP-Format hatte.
3. Durchgeführte Änderungen
Backend (zns-import-service & infrastructure)
- ZnsImportService: Neue Methode
importiereStream(inputStream, fileName, mode)implementiert. Diese erkennt anhand der Dateiendung, ob es sich um ein ZIP-Archiv oder eine einzelne DAT-Datei handelt. - ZnsImportOrchestrator:
- Signatur der
starteImportMethode erweitert, um den Original-Dateinamen zu übernehmen. - Archivierungslogik (
archiviereDatei) verallgemeinert: Die Datei wird nun mit ihrer originalen Erweiterung im Archiv abgelegt. - Fortschrittsmeldungen neutraler formuliert ("Bereite Datei vor..." statt "Entpacke ZIP...").
- Signatur der
- ZnsImportController: Übergibt nun den
originalFilenamean den Orchestrator.
Frontend (zns-import-feature)
- ZnsImportViewModel:
JobStatusResponseDTO an die Feldnamen des Backends angepasst (fortschritt,meldungen,fehler).- Mapping der Status-Updates korrigiert, sodass der Ladebalken und die Detailmeldungen nun korrekt angezeigt werden.
4. Ergebnis
- Einzelne
.dat-Dateien können nun direkt hochgeladen werden (nützlich für schnelle Updates einzelner Stammdaten). - Das ZIP-Archiv wird weiterhin vollständig unterstützt.
- Der Benutzer sieht im Frontend einen echten Fortschrittsbalken und die aktuellen Verarbeitungsschritte.
- Alle hochgeladenen Dateien werden revisionssicher im
/data/zns/archiveOrdner mit Zeitstempel und korrekter Endung gespeichert.
🧹 [Curator]: ZNS-Import Workflow für Einzeldateien und Status-Feedback stabilisiert. 🎨 [Frontend Expert]: UI-Synchronisation durch DTO-Matching wiederhergestellt. 👷 [Backend Developer]: Orchestrierung flexibilisiert und robuste Fehlerbehandlung für Archivierung sichergestellt.