Document program processes and source systems

This commit is contained in:
2026-05-08 09:00:19 +02:00
parent bbd1f62062
commit 57cb09bc50
4 changed files with 582 additions and 0 deletions
@@ -0,0 +1,45 @@
# Programm-Diagramme
## Empfohlene Diagrammarten
Fuer das Programm bieten sich zwei Diagrammarten an:
- **User Story Map** fuer Rollen, fachliche Aktivitaeten und Ausbaustufen.
- **Swimlane-Prozessdiagramm** fuer den Ablauf von Quellsystem bis Finance-Abgleich, weil Verantwortung und Datenfluss getrennt sichtbar werden.
## Dateien
- `docs/program-user-stories.svg`
- zeigt Finance, Power User/Admin und IT/SAP als Rollen
- ordnet Stories nach Quellenpflege, Mapping, Import, Konsolidierung, Finance-Abgleich und Betrieb
- markiert Kernfunktionen, naechsten Ausbau und Kontrollpunkte
- `docs/program-process-plan.svg`
- zeigt den Prozess als Swimlanes
- enthaelt SAP ZSCHWEIZ, SAP OData, SAP HANA/BI1, Manual Excel/CSV
- zeigt den zentralen Weg ueber grafisches Mapping, `MappedSalesRecordComposer`, `CentralSalesRecords`, Finance-Abgleich und Export
- markiert bewusste Rest-Doppelspuren wie HANA-B1-Legacy und den offenen Ausbau fuer Finance-Regelpflege
## Abgleich gegen Quellcode
Die Diagramme wurden gegen folgende Codebereiche abgeglichen:
- `Program.cs`: registrierte Adapter und Services
- `Services/DataSources/*`: HANA, SAP Gateway und Manual Excel/CSV Adapter
- `Services/SiteExportService.cs`: Standortexport, Transformation, Excel-Erzeugung, zentrale Speicherung, SharePoint-Upload
- `Services/ExportOrchestrationService.cs`: Export aller aktiven Standorte und anschliessender konsolidierter Export
- `Services/ConsolidatedExportService.cs`: zentrale Datei aus `CentralSalesRecords`
- `Services/MappedSalesRecordComposer.cs`: gemeinsame Mapping-Engine fuer SAP OData und generisches HANA-Mapping
- `Services/FinanceReconciliationService.cs`: Soll/Ist-Kandidaten, Budgetkurse, IC-Regeln und Ampelstatus
- `Services/DatabaseSeedService.cs`: Seed fuer Quellsysteme, ZSCHWEIZ, Finance-Referenzen, Budgetkurse und IC-Regeln
- `Data/AppDbContext.cs`: relevante Tabellen
Wichtige Praezisierung aus dem Code:
- `SalesPriceValue` wird im Finance-Abgleich positionsweise summiert.
- Belegkopfwerte wie `DocTotal - VatSum` werden vor der Summierung pro Beleg dedupliziert.
- Der ausgewaehlte Finance-Wert ist daher ein Ist-Kandidat, nicht pauschal immer eine Positionssumme.
## Einsatz
Die SVG-Dateien koennen direkt im Browser geoeffnet, in Markdown verlinkt oder in Praesentationen eingefuegt werden.