Add Linear XLSX initial import
This commit is contained in:
parent
c633e78cd4
commit
bfdd048269
20 changed files with 932 additions and 85 deletions
|
|
@ -643,7 +643,7 @@ PostgreSQL ist bewusst nicht implementiert. Die Domainregeln und
|
|||
Transaktionsgrenzen sollen portabel bleiben; Schema und Betriebsmodell benötigen
|
||||
bei einem späteren Wechsel trotzdem einen eigenen PostgreSQL-Adapter.
|
||||
|
||||
## Revit-Anbindung: Linear-XLSX-Grundlage nach R3
|
||||
## Revit-Anbindung: Linear-XLSX-Erstimport nach R5
|
||||
|
||||
R3 hat den Backend- und Persistenz-Cutover abgeschlossen. Migration `0014`
|
||||
entfernt die alten externen CSV-Entwicklungsdaten, nachdem verknüpfte
|
||||
|
|
@ -663,9 +663,20 @@ CSV-Zustand sowie alte CSV-History-Commands werden mit einer deutschen Meldung
|
|||
abgelehnt.
|
||||
|
||||
Der XLSX-Adapter liegt unter `src/external-model/xlsx`. Der Backend-CSV-Parser,
|
||||
seine Endpunkte und Laufzeitverträge sind entfernt. Die noch sichtbare alte
|
||||
Projektseiten-Oberfläche ist bis R4 ohne Backend-Anbindung und wird dort durch
|
||||
die Route `/projects/:projectId/revit` ersetzt.
|
||||
seine Endpunkte und Laufzeitverträge sind entfernt. Die Route
|
||||
`/projects/:projectId/revit` enthält Einstellungen, Importstatus und den
|
||||
sechsstufigen Erstimportwizard.
|
||||
|
||||
`POST /api/projects/:projectId/external-model/initial-import/plan` liest eine
|
||||
lokale XLSX zustandslos, gruppiert Quellräume und exakte Familie-und-Typ-Werte
|
||||
und liefert die vorhandenen Raum-, Verteiler- und ProjectDevice-Kataloge.
|
||||
Unbekannte Familien bleiben blockierend; fehlender GZF wird sichtbar mit 1
|
||||
vorbelegt. `apply` erhält die Datei erneut, parst sie erneut und vergleicht den
|
||||
Vorschau-SHA-256. Der Command `external-model.apply-initial-import` speichert
|
||||
die dabei verwendete Konfiguration und den vollständigen externen Zustand in
|
||||
derselben Transaktion. Er erzeugt weder CircuitDeviceRows noch Circuits oder
|
||||
BMKs. Seine vollständige Inverse macht Undo/Redo nach Neustart möglich, ohne
|
||||
Workbookbytes erneut einzulesen oder zu parsen.
|
||||
|
||||
### Historische Ausgangslage vor R3
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ Der alte CSV-Plan 14.0–14.6 ist abgelöst und wird nicht fortgeschrieben.
|
|||
| R2 | abgeschlossen und freigegeben | XLSX-Adapter, Parser, synthetische Fixtures, lokaler Referenzprüfer und reale Rückgabedatei sind erstellt; der korrigierte Rückimport wurde am 30.09.2026 erfolgreich in Linear getestet. |
|
||||
| R3 | abgeschlossen | Konfiguration ohne eigene Revision, Worksharing-ID-Datenmodell, Migration 0014, Snapshot 10, Transfer und Backend-CSV-Entfernung sind umgesetzt und geprüft. |
|
||||
| R4 | abgeschlossen | Revit-Seite, Navigation und revisionierte XLSX-Einstellungen mit Musterdateiprüfung sind umgesetzt; das alte Projektseitenmodal ist entfernt. |
|
||||
| R5 | offen | Erstimportwizard mit Gerätearten, Familienregeln und optionalen ProjectDevices. |
|
||||
| R5 | abgeschlossen | Zustandslose XLSX-Vorschau, sechsstufiger Erstimportwizard und atomarer Importcommand mit parserfreiem Undo/Redo. |
|
||||
| R6 | offen | Virtualisierte Objekttabelle und Sammelzuordnungen. |
|
||||
| R7 | offen | Editorbereich, Gruppierung, Drag-and-drop, Lösen und integrierte Löschübergänge. |
|
||||
| R8 | offen | Rückgabe-Excel und append-only Exportnachweis. |
|
||||
|
|
@ -121,6 +121,17 @@ vollständiges UUID-Remapping. Pflicht: echte SQLite-Commit-/Rollback-Tests.
|
|||
- ein atomarer Importcommand, keine Row-/Circuit-Erzeugung;
|
||||
- Undo/Redo aus Commandzuständen ohne Workbook-Parsing.
|
||||
|
||||
Implementierungsstand vom 30.09.2026: Vorschau und Apply verwenden die
|
||||
projektweite XLSX-Konfiguration; Apply überträgt und parst die Datei erneut und
|
||||
vergleicht den SHA-256 der Vorschau. Der Wizard führt über Vorschau, Räume,
|
||||
Standardverteiler einschließlich Objekten ohne Raum, exakte Familienregeln,
|
||||
optionale ProjectDevices und Bestätigung. Unbekannte Familien können als
|
||||
Geräteart mit stabilen Client-UUIDs und sichtbarem GZF-Startwert 1 klassifiziert
|
||||
werden. `external-model.apply-initial-import` schreibt Konfiguration, Quelle,
|
||||
vollständigen letzten Batch, Raumzuordnungen und Objekte in einer Revision;
|
||||
alle `circuitDeviceRowId` bleiben `null`. Seine Inverse speichert beide
|
||||
Zustände vollständig, sodass Undo/Redo weder Datei noch Parser benötigen.
|
||||
|
||||
## R6 – Objekttabelle und Sammelaktionen
|
||||
|
||||
- kompakte Objektliste einmal laden;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue