This commit is contained in:
2026-04-17 07:08:04 +02:00
parent ca91af9682
commit 0d3bd47f7a
34 changed files with 17503 additions and 160 deletions
+149
View File
@@ -2,6 +2,10 @@
Stand: 2026-04-15
## Nachtrag 2026-04-16
Seit dem letzten Handoff wurden weitere Funktionen umgesetzt, die unten im alten Stand noch nicht voll enthalten sind.
## Zielbild
Die App wurde von einem reinen BI1/HANA-Exporter zu einer kombinierten Plattform erweitert:
@@ -211,6 +215,132 @@ Aktuell enthalten:
- Datenqualitaetshinweise
- automatische Management-Aussagen
### 11. Manueller Excel-Import pro Standort
Es gibt jetzt einen vierten `SourceSystem`-Typ:
- `MANUAL_EXCEL`
Gedanke:
- Standort ohne Netz-/Systemanbindung liefert nur Excel
- Datei wird im Standort hochgeladen
- Export liest diese Datei statt SAP/HANA
- Daten werden in `CentralSalesRecords` fuer diesen Standort ersetzt
- der zentrale Export liest weiter nur aus `CentralSalesRecords`
Neue Site-Felder:
- `ManualImportFilePath`
- `ManualImportLastUploadedAtUtc`
Wichtig:
- das ist kein Excel-zu-Excel-Merge
- die App importiert ins zentrale Schema und erzeugt danach die zentrale Datei neu
### 12. Dashboard erweitert
Im Dashboard gibt es jetzt zusaetzlich:
- separaten Bereich `Zentrale Datei`
- `Excel oeffnen` fuer die neueste zentrale Datei `Sales_All_*.xlsx`
- Button `Alle exportieren`
- Button `Zentrale Datei neu erzeugen`
Bedeutung:
- `Alle exportieren` liest alle Quellen neu und erzeugt danach die zentrale Datei
- `Zentrale Datei neu erzeugen` schreibt nur aus `CentralSalesRecords` eine neue zentrale Excel
### 13. Management Cockpit Roh-Auswertung aus Zentraldaten
Zusaetzlich zur dateibasierten Cockpit-Analyse gibt es jetzt eine Roh-Auswertung direkt aus `CentralSalesRecords`.
Aktuell umgesetzt:
- Auswahl Jahr
- optional Auswahl Monat
- Jahresumsatz
- Monatsumsatz
- Tagesumsatz im gewaehlten Monat
- Umsatz nach Quelle
- Umsatz nach Land
- Periodenabdeckung / Zeilen / Rechnungen / Standorte / Laender / Waehrungen
Bewusst noch nicht enthalten:
- kein Intercompany-Filter
- keine CHF-Umrechnung
- kein Budgetvergleich
- keine Spartenlogik
- keine Gruppenlogik
- keine Margenlogik
### 14. Transformationssystem erweitert
Das Transformationssystem kann jetzt zwei Ebenen:
- `Value` fuer einfache feldweise Regeln aus der GUI
- `Record` fuer komplexere C#-Strategien per Strategy Pattern
Umgesetzt:
- neues Feld `RuleScope` auf `FieldTransformationRule`
- dynamischer Strategiekatalog
- GUI liest verfuegbare Typen aus dem Katalog
- erste `Record`-Strategie: `FirstNonEmpty`
Beispiel:
- `TargetField = CustomerName`
- `TransformationType = FirstNonEmpty`
- `Argument = CustomerName|SupplierName|Name`
### 15. Schema-Lookup fuer HANA-Standorte
Im Standortdialog fuer HANA-basierte Standorte gibt es jetzt:
- Button `Schemas laden`
- Lookup mit gueltigen Schemas aus HANA
Die Liste wird nicht blind aus allen Schemas gelesen, sondern auf typische B1-Schemas eingeschraenkt, in denen z. B. Tabellen wie
- `OINV`
- `INV1`
- `ORIN`
- `RIN1`
- `OCRD`
- `OITM`
vorhanden sind.
Wichtig:
- manuelle Eingabe bleibt moeglich
- fuer `BI1` und `SAGE` werden beim Lookup die effektiven Credentials inkl. zentraler Zugangsdaten / Overrides verwendet
- das reduziert Fehler wie `invalid schema name`
### 16. Testabdeckung ausgebaut
Es gibt jetzt ein separates Testprojekt:
- `TrafagSalesExporter.Tests`
Automatisiert getestet werden aktuell:
- Transformationsstrategien
- `RecordTransformationService`
- `TransformationCatalog`
- `ManualExcelImportService`
- `ManagementCockpitService`
- `ConfigTransferService`
Wichtiger bereits gefundener Bug:
- deutsches Dezimalformat wie `1,50` wurde im manuellen Excel-Import falsch interpretiert
- Parsing wurde korrigiert
## Wichtige Dateien
### Modelle
@@ -224,6 +354,7 @@ Aktuell enthalten:
- `Models/SapFieldMapping.cs`
- `Models/ManagementCockpitModels.cs`
- `Models/ConfigTransferPackage.cs`
- `Models/FieldTransformationRule.cs`
### Services
@@ -237,6 +368,10 @@ Aktuell enthalten:
- `Services/ManagementCockpitService.cs`
- `Services/DatabaseInitializationService.cs`
- `Services/ExportOrchestrationService.cs`
- `Services/ManualExcelImportService.cs`
- `Services/TransformationCatalog.cs`
- `Services/RecordTransformationService.cs`
- `Services/TransformationStrategies.cs`
### UI
@@ -245,8 +380,18 @@ Aktuell enthalten:
- `Components/Pages/Dashboard.razor`
- `Components/Pages/Logs.razor`
- `Components/Pages/ManagementCockpit.razor`
- `Components/Pages/Transformations.razor`
- `Components/Layout/NavMenu.razor`
### Tests
- `TrafagSalesExporter.Tests/TransformationStrategiesTests.cs`
- `TrafagSalesExporter.Tests/RecordTransformationServiceTests.cs`
- `TrafagSalesExporter.Tests/TransformationCatalogTests.cs`
- `TrafagSalesExporter.Tests/ManualExcelImportServiceTests.cs`
- `TrafagSalesExporter.Tests/ManagementCockpitServiceTests.cs`
- `TrafagSalesExporter.Tests/ConfigTransferServiceTests.cs`
## Datenbank / Migrationen
Viele Aenderungen laufen ueber `DatabaseInitializationService`.
@@ -261,11 +406,15 @@ Wichtige neue oder erweiterte Tabellen/Felder:
- `SapEntitySetsCache`
- `SapEntitySetsRefreshedAtUtc`
- `LocalExportFolderOverride`
- `ManualImportFilePath`
- `ManualImportLastUploadedAtUtc`
- `ExportSettings`
- zentrale SAP/BI1/SAGE Credentials
- `LocalSiteExportFolder`
- `LocalConsolidatedExportFolder`
- `DebugLoggingEnabled`
- `FieldTransformationRules`
- `RuleScope`
- `ExportLogs`
- `FilePath`
- neue Tabellen: