From 19ac94e0b8aa4824c20b23b2c8d3885799aa571b Mon Sep 17 00:00:00 2001 From: Sven Carstensen Date: Wed, 18 Feb 2026 13:30:11 +0100 Subject: [PATCH] Erweiterungen --- HANDBUCH.md | 441 ++++++++++++++++++ HANDBUCH.pdf | Bin 0 -> 299671 bytes .../java/de/assecutor/votianlt/model/Job.java | 9 + .../pages/base/ui/view/AdminLayout.java | 2 - .../service/AddressValidationService.java | 3 - .../votianlt/pages/view/AddJobView.java | 78 +++- .../pages/view/CreateInvoiceView.java | 154 +++--- .../votianlt/pages/view/PdfTestView.java | 98 ---- 8 files changed, 572 insertions(+), 213 deletions(-) create mode 100644 HANDBUCH.md create mode 100644 HANDBUCH.pdf delete mode 100644 src/main/java/de/assecutor/votianlt/pages/view/PdfTestView.java diff --git a/HANDBUCH.md b/HANDBUCH.md new file mode 100644 index 0000000..0d15159 --- /dev/null +++ b/HANDBUCH.md @@ -0,0 +1,441 @@ +# VotianLT - Benutzerhandbuch + +**Version:** 1.0 +**Stand:** Februar 2026 +**Anwendung:** VotianLT - Ihr digitaler Transportpartner + +--- + +## Inhaltsverzeichnis + +1. [Einleitung](#1-einleitung) +2. [Registrierung und Anmeldung](#2-registrierung-und-anmeldung) +3. [Dashboard](#3-dashboard) +4. [Auftragsverwaltung](#4-auftragsverwaltung) +5. [Kundenverwaltung](#5-kundenverwaltung) +6. [App-Nutzer verwalten](#6-app-nutzer-verwalten) +7. [Nachrichten](#7-nachrichten) +8. [Rechnungen](#8-rechnungen) +9. [KI-Statistiken](#9-ki-statistiken) +10. [Profil bearbeiten](#10-profil-bearbeiten) +11. [Administration](#11-administration) + +--- + +## 1. Einleitung + +VotianLT ist eine webbasierte Anwendung zur digitalen Verwaltung von Transportaufträgen. Die Software richtet sich an Solo-Selbstständige und Kleinunternehmer im Transportgewerbe und bietet folgende Kernfunktionen: + +- **Auftragserstellung und -verwaltung** mit vollständiger Abwicklung von der Erstellung bis zur Fertigstellung +- **Digitale Auftragsbearbeitung** über eine mobile App für Fahrer und Mitarbeiter im Außendienst +- **Echtzeit-Kommunikation** zwischen Disponent und App-Nutzern per Chat +- **Rechnungserstellung** für abgeschlossene Aufträge +- **KI-gestützte Statistiken** zur Auswertung von Geschäftsdaten +- **GPS-Tracking** zur Nachverfolgung von Lieferungen in Echtzeit + +--- + +## 2. Registrierung und Anmeldung + +### 2.1 Neues Konto registrieren + +1. Öffnen Sie die Startseite und klicken Sie auf **"Jetzt kostenlos testen"** oder **"Registrieren"**. +2. Füllen Sie das Registrierungsformular aus: + - **Firmenname** (Pflichtfeld) + - **E-Mail-Adresse** (wird als Benutzername verwendet) + - **Passwort** und **Passwort bestätigen** (mindestens 6 Zeichen) + - **Vorname** und **Nachname** + - **Telefonnummer** + - **Anschrift** (Straße, Hausnummer, PLZ, Ort) +3. Klicken Sie auf **"Registrieren"**. Ein 6-stelliger Bestätigungscode wird an Ihre E-Mail-Adresse gesendet. +4. Geben Sie den Code im angezeigten Feld ein und klicken Sie auf **"Code prüfen und registrieren"**. +5. Nach erfolgreicher Registrierung werden Sie zur Anmeldeseite weitergeleitet. + +> **Hinweis:** Der Bestätigungscode ist 10 Minuten gültig. Über den Button **"Code erneut senden"** können Sie nach 60 Sekunden einen neuen Code anfordern. + +### 2.2 Anmelden + +1. Geben Sie auf der Anmeldeseite Ihre **E-Mail-Adresse** und Ihr **Passwort** ein. +2. Klicken Sie auf **"Anmelden"**. +3. Falls die Zwei-Faktor-Authentifizierung (2FA) aktiviert ist, wird ein 6-stelliger Code an Ihre E-Mail gesendet. Geben Sie diesen im angezeigten Feld ein und klicken Sie auf **"Code prüfen"**. + +### 2.3 Passwort zurücksetzen + +1. Klicken Sie auf der Anmeldeseite auf **"Passwort vergessen?"**. +2. Geben Sie Ihre registrierte E-Mail-Adresse ein und klicken Sie auf **"E-Mail senden"**. +3. Sie erhalten eine E-Mail mit einem Link zum Zurücksetzen. Klicken Sie auf den Link. +4. Vergeben Sie ein neues Passwort und bestätigen Sie es. Klicken Sie auf **"Passwort speichern"**. + +--- + +## 3. Dashboard + +Nach der Anmeldung gelangen Sie zum Dashboard. Es zeigt eine Willkommensnachricht und eine Übersicht der wichtigsten Funktionen: + +- **Einrichtungsassistent** - Hilfe beim Einstieg in die Anwendung +- **Kunden- und Auftragsverwaltung** - Schnellzugriff auf die Verwaltungsbereiche +- **Auftragserstellung** - Direkter Link zur Erstellung neuer Aufträge + +Die **Hauptnavigation** am linken Rand bietet Zugriff auf alle Bereiche der Anwendung. + +--- + +## 4. Auftragsverwaltung + +### 4.1 Aufträge anzeigen + +Öffnen Sie den Bereich **"Aufträge"** über die Navigation oder den Pfad `/jobs`. + +**Filtermöglichkeiten:** +- **Zeitraum**: Wählen Sie Start- und Enddatum (Standard: letzte 30 Tage) +- **Auftragsnummer**: Suchen Sie nach einer bestimmten Auftragsnummer +- **Status**: Filtern Sie nach "Alle", "Offen" oder "Erledigt" + - *Offen* umfasst: Erstellt, In Bearbeitung, Abholung geplant, Abgeholt, In Zustellung + - *Erledigt* umfasst: Zugestellt, Abgeschlossen, Storniert + +Klicken Sie auf **"Anwenden"**, um die Filter zu übernehmen. + +**Verfügbare Aktionen pro Auftrag:** + +| Symbol | Aktion | Sichtbar wenn | +|--------|--------|---------------| +| Häkchen | Auftrag manuell abschließen | Nicht-digitale Aufträge, die noch nicht abgeschlossen sind | +| Dollar | Rechnung erstellen | Auftrag ist abgeschlossen | +| Papierkorb | Auftrag löschen | Auftrag ist nicht abgeschlossen/storniert/zugestellt | + +**CSV-Export:** Klicken Sie auf **"CSV Export"**, um die aktuell gefilterte Auftragsliste als CSV-Datei herunterzuladen. + +Klicken Sie auf eine Zeile, um die **Auftragszusammenfassung** zu öffnen. + +### 4.2 Neuen Auftrag anlegen + +Navigieren Sie zu **"Auftragserstellung"** oder dem Pfad `/add_job`. Das Formular ist in fünf Tabs unterteilt: + +#### Tab 1: Auftraggeber & Adressen + +1. **Auftraggeber wählen**: Wählen Sie aus der Dropdown-Liste einen bestehenden Kunden. Die Abholadresse wird automatisch mit den Kundendaten vorbefüllt. +2. **Abholadresse**: Füllen Sie alle Pflichtfelder aus (Firma, Anrede, Vorname, Nachname, Telefon, Straße, Hausnummer, PLZ, Ort). Optional können Sie die Adresse für zukünftige Aufträge speichern. +3. **Zustelladresse**: Geben Sie die Lieferadresse ein. Firmennamen werden per Autovervollständigung vorgeschlagen. +4. Mit dem Button **"Vorbelegte Adressfelder leeren"** können Sie alle vorausgefüllten Felder zurücksetzen. + +> **Hinweis:** Beim Wechsel zum nächsten Tab werden die Adressen automatisch validiert und eine Routenberechnung (Entfernung und Dauer) durchgeführt. Bei ungültigen Adressen wird ein Hinweisdialog angezeigt. + +#### Tab 2: Termine & Verarbeitung + +1. **Abholtermin**: Wählen Sie Datum und Uhrzeit für die Abholung. +2. **Zustelltermin**: Wählen Sie Datum und Uhrzeit für die Zustellung. +3. **Digitale Abwicklung per App**: Aktivieren Sie diese Option, wenn der Auftrag über die mobile App abgewickelt werden soll. +4. **App-Nutzer**: Wählen Sie den zuständigen App-Nutzer aus (nur sichtbar bei digitaler Abwicklung). + +#### Tab 3: Ladung + +1. Klicken Sie auf **"Ladung hinzufügen"**, um eine neue Ladungsposition anzulegen. +2. Für jede Position geben Sie ein: + - **Beschreibung** der Ladung + - **Menge** + - **Maße** (Länge, Breite, Höhe in cm) + - **Gewicht** in kg +3. Über das Papierkorb-Symbol können Sie einzelne Positionen entfernen. + +#### Tab 4: Aufgaben (nur bei digitaler Abwicklung) + +Aufgaben definieren, welche Schritte der App-Nutzer bei der Ausführung des Auftrags erledigen muss. + +**Verfügbare Aufgabentypen:** + +| Typ | Beschreibung | +|-----|-------------| +| Bestätigung | Der App-Nutzer bestätigt eine Aktion (z.B. "Ware übernommen") | +| Unterschrift | Einholen einer digitalen Unterschrift | +| Foto | Aufnahme eines Fotos (z.B. Liefernachweis) | +| Barcode | Scannen eines Barcodes | +| Checkliste | Abarbeiten einer Aufgabenliste | +| Kommentar | Freitextfeld für Anmerkungen | + +1. Optional: Wählen Sie eine **Aufgabenvorlage** aus der Dropdown-Liste, um vordefinierte Aufgaben zu laden. +2. Klicken Sie auf **"Aufgabe hinzufügen"** und wählen Sie den gewünschten Typ. +3. Geben Sie eine Beschreibung für die Aufgabe ein. +4. Die Reihenfolge der Aufgaben kann per **Drag-and-Drop** angepasst werden. + +#### Tab 5: Leistungen und Preis + +1. **Pflichtleistungen** werden automatisch geladen. +2. Über die Dropdown-Liste können Sie weitere **Leistungen hinzufügen**. +3. Die Berechnung von **Netto**, **MwSt.** und **Brutto** erfolgt automatisch. +4. Die **Routeninformationen** (Entfernung und Fahrtdauer) werden aus der Adressvalidierung angezeigt. +5. Im Feld **Bemerkung** können Sie zusätzliche Anmerkungen zum Auftrag hinterlegen. + +Klicken Sie abschließend auf **"Auftrag anlegen"**, um den Auftrag zu erstellen. Bei digitaler Abwicklung wird der Auftrag automatisch an den ausgewählten App-Nutzer übermittelt. + +### 4.3 Auftragszusammenfassung + +Die Zusammenfassung zeigt alle Details eines Auftrags auf einen Blick: + +- **Abholinformationen**: Adresse, Ansprechpartner, Termin +- **Zustellinformationen**: Adresse, Ansprechpartner, Termin +- **Aufgaben**: Übersicht aller Aufgaben mit Erledigungsstatus. Abgeschlossene Aufgaben zeigen das Ergebnis (Foto, Barcode-Wert, Unterschrift-Vorschau etc.) +- **Ladung**: Liste aller Ladungspositionen mit Maßen und Gewicht +- **Auftragsinformationen**: Preis, Bemerkung, Verarbeitungsart, zugewiesener App-Nutzer +- **Routenkarte**: Google Maps mit der Route von Abhol- zu Zustelladresse. Bei aktiver digitaler Abwicklung wird die aktuelle **GPS-Position des App-Nutzers** in Echtzeit angezeigt. + +**Verfügbare Aktionen:** +- **"Nachricht senden"**: Öffnet den Chat mit dem zugewiesenen App-Nutzer im Kontext dieses Auftrags +- **"Job Historie"**: Zeigt den vollständigen Änderungsverlauf des Auftrags +- **"Auftrag manuell abschließen"**: Schließt nicht-digitale Aufträge manuell ab (nach Bestätigung) + +### 4.4 Auftragsverlauf (Job Historie) + +Die Job Historie zeigt eine chronologische Zeitleiste aller Ereignisse eines Auftrags: + +- **Statusänderungen** (z.B. "Erstellt", "In Bearbeitung", "Zugestellt") +- **Aufgabenabschlüsse** mit zugehörigen Daten (Fotos, Barcodes, Unterschriften) +- **Änderungen** an Auftragsdaten + +Jeder Eintrag zeigt den **Zeitstempel**, die **Art der Änderung** und ggf. **zugehörige Daten** (z.B. Foto-Vorschau). + +--- + +## 5. Kundenverwaltung + +### 5.1 Kunden anzeigen + +Navigieren Sie zu **"Kunden"** (`/customers`). Die Kundenliste zeigt alle Ihre Kunden mit folgenden Spalten: + +- Firma, Name, E-Mail, Telefon, Straße, Ort + +Die Liste ist **sortierbar** (Klick auf Spaltenüberschrift). Klicken Sie auf einen Eintrag, um den Kunden zu bearbeiten. + +### 5.2 Neuen Kunden anlegen + +1. Klicken Sie auf **"Kunde hinzufügen"** oder navigieren Sie zu `/add-customer`. +2. Füllen Sie das Formular aus: + - **Firmenname** (Pflichtfeld) + - **Anrede** (Herr / Frau / Divers) + - **Vorname** und **Nachname** (Pflichtfelder) + - **Telefon** (Pflichtfeld) + - **Fax** (optional) + - **E-Mail** (Pflichtfeld, wird auf Gültigkeit geprüft) + - **Straße** und **Hausnummer** (Pflichtfelder) + - **Adresszusatz** (optional) + - **PLZ** und **Ort** (Pflichtfelder) +3. Klicken Sie auf **"Kunden anlegen"**. + +### 5.3 Kunden bearbeiten + +1. Klicken Sie in der Kundenliste auf den gewünschten Kunden. +2. Ändern Sie die gewünschten Felder. +3. Klicken Sie auf **"Speichern"**, um die Änderungen zu übernehmen. +4. Über **"Löschen"** können Sie den Kunden nach Bestätigung endgültig entfernen. + +--- + +## 6. App-Nutzer verwalten + +App-Nutzer sind Fahrer oder Mitarbeiter, die die mobile VotianLT-App verwenden, um Aufträge digital abzuwickeln. + +### 6.1 App-Nutzer anzeigen + +Navigieren Sie zu **"App-Nutzer"** (`/app-user`). Die Liste zeigt alle Ihre App-Nutzer mit: + +- Bezeichnung (Kennzeichen/Code), Vorname, Nachname, Telefon, App-Code, E-Mail + +### 6.2 Neuen App-Nutzer anlegen + +1. Klicken Sie auf **"Neuen App-Nutzer anlegen"**. +2. Füllen Sie das Formular aus: + - **Bezeichnung** (z.B. Fahrzeugkennzeichen im Format "HH H 000", Pflichtfeld) + - **Vorname** und **Nachname** (Pflichtfelder) + - **Telefon** (Pflichtfeld) + - **E-Mail** (Pflichtfeld, muss eindeutig sein) + - **Passwort** und **Passwort bestätigen** (mindestens 6 Zeichen) +3. Klicken Sie auf **"App-Nutzer anlegen"**. + +> **Hinweis:** Der App-Nutzer meldet sich in der mobilen App mit seiner E-Mail-Adresse und dem vergebenen Passwort an. + +### 6.3 App-Nutzer bearbeiten + +1. Klicken Sie in der Liste auf den gewünschten App-Nutzer. +2. Ändern Sie die gewünschten Felder. +3. **Passwort ändern**: Lassen Sie die Passwortfelder leer, wenn das Passwort nicht geändert werden soll. Füllen Sie beide Felder aus, um ein neues Passwort zu vergeben. +4. Klicken Sie auf **"Speichern"**. +5. Über **"Löschen"** können Sie den App-Nutzer nach Bestätigung entfernen. + +--- + +## 7. Nachrichten + +Das Nachrichtensystem ermöglicht die Echtzeit-Kommunikation zwischen Ihnen (Disponent) und Ihren App-Nutzern. + +### 7.1 Nachrichtenübersicht + +Navigieren Sie zu **"Nachrichten"** (`/messages`). Die Übersicht zeigt alle Ihre App-Nutzer als Kontakte mit: + +- **Status-Anzeige** (farbiger Punkt bei ungelesenen Nachrichten) +- **Name** und **E-Mail** des App-Nutzers +- **Gesamtanzahl** der Nachrichten +- **Ungelesene Nachrichten** (fett hervorgehoben) +- **Letzte Nachricht** (Vorschau, Datum und Uhrzeit) + +> **Hinweis:** Die Übersicht aktualisiert sich automatisch. Bei eingehenden Nachrichten ertönt ein **Benachrichtigungston** und es wird eine **Browser-Benachrichtigung** angezeigt (sofern Benachrichtigungen im Browser erlaubt sind). + +### 7.2 Konversationen eines App-Nutzers + +Klicken Sie auf einen App-Nutzer, um dessen Konversationen zu sehen: + +- **Allgemeine Nachrichten**: Ein allgemeiner Chat ohne Auftragsbezug +- **Nachrichten zu Aufträgen**: Separate Konversationen für jeden Auftrag (gruppiert nach Auftragsnummer) + +Jede Konversation zeigt eine Vorschau, den Zeitpunkt der letzten Nachricht und die Anzahl ungelesener Nachrichten. + +### 7.3 Chat / Nachrichtenverlauf + +Öffnen Sie eine Konversation, um den Chatverlauf zu sehen. Die Darstellung ähnelt bekannten Messenger-Apps: + +- **Ihre Nachrichten** (vom Disponenten): rechts, grüner Hintergrund +- **Nachrichten des App-Nutzers**: links, weißer Hintergrund +- **Datumstrenner** zwischen verschiedenen Tagen +- **Zeitstempel** bei jeder Nachricht + +**Nachricht senden:** +1. Geben Sie Ihre Nachricht im Textfeld am unteren Rand ein. +2. Klicken Sie auf **"Senden"**. + +**Bild senden:** +1. Klicken Sie auf das **Büroklammer-Symbol** neben dem Textfeld. +2. Wählen Sie ein Bild aus (PNG, JPEG, GIF oder WebP, max. 32 MB). +3. Eine Vorschau wird angezeigt. Bestätigen Sie den Versand. + +> **Hinweis:** Neue Nachrichten erscheinen in Echtzeit. Die Ansicht scrollt automatisch zur neuesten Nachricht. Geöffnete Nachrichten werden automatisch als gelesen markiert. + +--- + +## 8. Rechnungen + +### 8.1 Rechnung für einen Auftrag erstellen + +1. Navigieren Sie zur **Auftragsliste** (`/jobs`). +2. Filtern Sie nach Status **"Erledigt"**. +3. Klicken Sie auf das **Dollar-Symbol** neben dem gewünschten Auftrag. +4. Das Rechnungsformular zeigt: + - **Auftragsdetails** (Abhol- und Zustelladresse, Termine) + - **Leistungsdaten**: Geben Sie Kilometer und Zeitaufwand ein + - **Leistungen**: Wählen Sie die abzurechnenden Leistungen aus Ihrem Leistungskatalog + - **Zusammenfassung**: Automatische Berechnung von Netto, MwSt. und Brutto +5. Klicken Sie auf **"Rechnung erstellen"**. + +### 8.2 Meine Rechnungen + +Unter **"Meine Rechnungen"** (`/my-invoices`) finden Sie eine Übersicht aller erstellten Rechnungen: + +- **Statusanzeige**: Offen (gelb), Bezahlt (grün), Überfällig (rot) +- **Rechnungsnummer**, **Datum**, **Betrag** +- **Suchfunktion** zum Filtern nach Rechnungsnummer, Status oder Betrag + +Klicken Sie auf eine Rechnung, um die **PDF-Version** herunterzuladen. + +--- + +## 9. KI-Statistiken + +Der KI-Statistik-Assistent (`/statistics`) bietet eine interaktive Auswertung Ihrer Geschäftsdaten per Chat-Schnittstelle. + +### Verwendung + +1. Navigieren Sie zu **"KI-Statistiken"**. +2. Verwenden Sie die **Schnellaktionen** für häufige Abfragen: + - **"Aufträge zählen"**: Zeigt die Gesamtanzahl Ihrer Aufträge + - **"Umsatz"**: Berechnet Ihren Gesamtumsatz + - **"Monatstrend"**: Zeigt die monatliche Entwicklung als Diagramm +3. Oder geben Sie eine **freie Frage** in das Textfeld ein, z.B.: + - "Wie viele Aufträge hatte ich im Januar?" + - "Zeige mir den Umsatz der letzten 6 Monate als Diagramm" + - "Welcher Kunde hat die meisten Aufträge?" + +Der Assistent analysiert Ihre Daten und antwortet mit **Text** und/oder **interaktiven Diagrammen** (Balken-, Linien-, Kreis- und weitere Diagrammtypen). + +--- + +## 10. Profil bearbeiten + +Unter **"Profil bearbeiten"** (`/edit-profile`) können Sie Ihre persönlichen Daten und Rechnungseinstellungen verwalten. Die Seite ist in drei Tabs unterteilt: + +### Tab 1: Persönliche Daten / Kontakt + +- **Firmendaten**: Firmenname (Pflicht), Firmenzusatz +- **Persönliche Daten**: Vorname, Nachname +- **Kontakt**: Telefon (Pflicht), Fax, Mobil, E-Mail (Pflicht) +- **Anschrift**: Straße, Hausnummer (Pflicht), Adresszusatz, PLZ, Ort (Pflicht) +- **Abweichende Rechnungsadresse**: Separate Adressfelder für die Rechnungsstellung +- **Digitale Abwicklung per App vorausgewählt**: Wenn aktiviert, wird bei neuen Aufträgen die digitale Abwicklung standardmäßig vorausgewählt +- **Zwei-Faktor-Authentifizierung (2FA)**: Aktivieren/deaktivieren Sie die zusätzliche Sicherheitsabfrage beim Login + +### Tab 2: Rechnungsdaten + +- **Rechnungspräfix** (z.B. "VLT" - wird der Rechnungsnummer vorangestellt) +- **USt-IdNr.** und **Steuernummer** +- **Bankverbindung**: Bankname und IBAN +- **Steuersatz** (z.B. 19%) +- **Einleitungstext**: Freitext, der auf Rechnungen als Einleitung erscheint +- **AGB/Zahlungsbedingungen**: Text für die Rechnungsfußzeile +- **Logo hochladen**: Laden Sie Ihr Firmenlogo hoch, das auf Rechnungen angezeigt wird +- **Abrechnung aktiviert**: Aktivieren Sie die Rechnungsfunktion + +### Tab 3: Leistungen / Preisliste + +Verwalten Sie Ihren **Leistungskatalog**, der bei der Auftragserstellung und Rechnungsstellung verwendet wird: + +1. Klicken Sie auf **"Leistung hinzufügen"**, um eine neue Leistung anzulegen. +2. Wählen Sie die **Leistungsbezeichnung** aus oder geben Sie eine neue ein. +3. Geben Sie den **Preis** und den **MwSt.-Satz** ein. +4. Über das Papierkorb-Symbol können Sie einzelne Leistungen entfernen. + +Rechts neben dem Formular wird eine **Live-Vorschau** Ihrer Rechnungsvorlage angezeigt, die sich bei Änderungen automatisch aktualisiert. + +--- + +## 11. Administration + +Die folgenden Bereiche stehen nur Benutzern mit Administratorrechten zur Verfügung. + +### 11.1 Admin Dashboard + +Das Admin Dashboard (`/admin-dashboard`) bietet eine Gesamtübersicht des Systems: + +- **System-Übersicht**: Anzahl Aufträge, Benutzer, App-Benutzer +- **Job-Statistiken**: Offene, in Bearbeitung befindliche und abgeschlossene Aufträge sowie Frachtgüter +- **Aufgaben-Statistiken**: Gesamtanzahl, abgeschlossene und offene Aufgaben mit Erfolgsquote +- **Benutzer-Aktivität**: Anzahl Fotos, Barcodes, Unterschriften und Kommentare +- **System-Status**: Datenbankverbindung, WebSocket-Status, Anwendungsstatus, Speicherverbrauch + +### 11.2 Preis-Tabelle + +Unter **"Preis-Tabelle"** (`/admin-price-table`) können Administratoren die Systempreise konfigurieren: + +- **Monatliche Grundpauschale** +- **App-Nutzungslizenz** +- **Umsatzbeteiligung** (in Prozent) + +### 11.3 Rechnungsgenerator + +Der Rechnungsgenerator (`/invoice-generator`) ist ein visueller Editor zum Erstellen von Rechnungsvorlagen: + +- **Drag-and-Drop** von Vorlagenblöcken (Textfeld, Überschrift, Datum, Kundeninfo, Firmeninfo, Betrag, Linie, Bild) auf eine Arbeitsfläche +- **Eigenschaften-Panel** zur Bearbeitung des ausgewählten Elements +- **Funktionen**: Speichern, Laden, PDF-Vorschau, Template-Verwaltung + +### 11.4 PDF-Test + +Unter `/pdf-test` können Administratoren die PDF-Generierung testen: + +- **System-Rechnung generieren**: Erzeugt eine PDF aus der System-Rechnungsvorlage +- **Kunden-Rechnung generieren**: Erzeugt eine PDF aus der Kunden-Rechnungsvorlage + +--- + +## Impressum + +Das Impressum ist unter `/impressum` einsehbar und enthält die gesetzlich vorgeschriebenen Angaben des Betreibers. + +--- + +*Dieses Handbuch beschreibt den Funktionsumfang von VotianLT. Bei Fragen oder Problemen wenden Sie sich bitte an den Support.* diff --git a/HANDBUCH.pdf b/HANDBUCH.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0c82ac5656a86186e5fa7b076f5b72b935b4764f GIT binary patch literal 299671 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

H)vTo@hD>4K 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 literal 0 HcmV?d00001 diff --git a/src/main/java/de/assecutor/votianlt/model/Job.java b/src/main/java/de/assecutor/votianlt/model/Job.java index 52d0166..f373039 100644 --- a/src/main/java/de/assecutor/votianlt/model/Job.java +++ b/src/main/java/de/assecutor/votianlt/model/Job.java @@ -12,6 +12,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.math.BigDecimal; +import java.util.List; @Data @Document(collection = "jobs") @@ -141,6 +142,14 @@ public class Job { @Field("time_in_15min_units") private Integer timeIn15MinUnits; + // Service-IDs für die Rechnung + @Field("service_ids") + private List serviceIds; + + // Streckeninformation für die Rechnung (in km) + @Field("route_distance_km") + private Double routeDistanceKm; + /** * Returns the ObjectId as string for JSON serialization. This ensures that the * job id is returned as a string when jobs are retrieved via API. diff --git a/src/main/java/de/assecutor/votianlt/pages/base/ui/view/AdminLayout.java b/src/main/java/de/assecutor/votianlt/pages/base/ui/view/AdminLayout.java index 9c56a4e..db294e4 100644 --- a/src/main/java/de/assecutor/votianlt/pages/base/ui/view/AdminLayout.java +++ b/src/main/java/de/assecutor/votianlt/pages/base/ui/view/AdminLayout.java @@ -77,7 +77,6 @@ public final class AdminLayout extends AppLayout { // Only admin-specific menu items SideNavItem dashboard = new SideNavItem("Dashboard", "admin-dashboard", new Icon(VaadinIcon.DASHBOARD)); - SideNavItem pdfTest = new SideNavItem("PDF Test", "pdf-test", new Icon(VaadinIcon.FILE_TEXT_O)); SideNavItem invoiceGenerator = new SideNavItem("Rechnungsgenerator", "invoice-generator", new Icon(VaadinIcon.FILE_PROCESS)); SideNavItem priceTable = new SideNavItem("Preis-Tabelle", "admin-price-table", new Icon(VaadinIcon.COG)); @@ -89,7 +88,6 @@ public final class AdminLayout extends AppLayout { // Icon(VaadinIcon.FILE_TEXT)); nav.addItem(dashboard); - nav.addItem(pdfTest); nav.addItem(invoiceGenerator); nav.addItem(priceTable); // nav.addItem(systemSettings); diff --git a/src/main/java/de/assecutor/votianlt/pages/service/AddressValidationService.java b/src/main/java/de/assecutor/votianlt/pages/service/AddressValidationService.java index b8ff04e..db8ced8 100644 --- a/src/main/java/de/assecutor/votianlt/pages/service/AddressValidationService.java +++ b/src/main/java/de/assecutor/votianlt/pages/service/AddressValidationService.java @@ -123,8 +123,6 @@ public class AddressValidationService { String locationType = geometry.path("location_type").asText(); boolean isPrecise = "ROOFTOP".equals(locationType) || "RANGE_INTERPOLATED".equals(locationType); - // Adresskomponenten prüfen - boolean hasStreetNumber = false; boolean hasPostalCode = false; JsonNode addressComponents = firstResult.path("address_components"); @@ -133,7 +131,6 @@ public class AddressValidationService { for (JsonNode type : types) { String typeStr = type.asText(); if ("street_number".equals(typeStr)) { - hasStreetNumber = true; } else if ("postal_code".equals(typeStr)) { hasPostalCode = true; } diff --git a/src/main/java/de/assecutor/votianlt/pages/view/AddJobView.java b/src/main/java/de/assecutor/votianlt/pages/view/AddJobView.java index ab00768..ef58cc5 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/AddJobView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/AddJobView.java @@ -675,11 +675,22 @@ public class AddJobView extends Main { return ""; }).setHeader("Berechnung").setSortable(true); servicesGrid.addColumn(service -> { - if (service.getEffectivePrice() != null) { - return service.getEffectivePrice().setScale(2, RoundingMode.HALF_UP) + " €"; + // Get route distance for distance-based calculations + Double routeDistance = (routeCalculationResult != null && routeCalculationResult.isValid()) + ? routeCalculationResult.getDistanceKm() + : null; + BigDecimal price = calculateServicePrice(service, routeDistance); + if (price.compareTo(BigDecimal.ZERO) > 0) { + return price.setScale(2, RoundingMode.HALF_UP) + " €"; } - return ""; - }).setHeader("Preis").setSortable(true); + // Show price info if no route calculated yet + if (service.getCalculationBasis() == Service.CalculationBasis.DISTANCE && routeDistance == null) { + return service.getPricePerKilometer().setScale(2, RoundingMode.HALF_UP) + " €/km (Route fehlt)"; + } + return service.getEffectivePrice() != null + ? service.getEffectivePrice().setScale(2, RoundingMode.HALF_UP) + " €" + : ""; + }).setHeader("Preis").setSortable(false); servicesGrid.addColumn(service -> { if (service.getVatRate() != null) { return service.getVatRate().multiply(new BigDecimal("100")).setScale(0, RoundingMode.HALF_UP) + " %"; @@ -687,6 +698,10 @@ public class AddJobView extends Main { return ""; }).setHeader("MwSt").setSortable(true); servicesGrid.addComponentColumn(service -> { + // Verbindliche Leistungen können nicht gelöscht werden + if (service.isMandatory()) { + return new Span(""); // Leeres Element statt Löschen-Button + } Button removeButton = new Button(new Icon(VaadinIcon.TRASH)); removeButton.addThemeVariants(ButtonVariant.LUMO_ERROR, ButtonVariant.LUMO_TERTIARY, ButtonVariant.LUMO_SMALL); @@ -822,8 +837,13 @@ public class AddJobView extends Main { BigDecimal vatTotal = BigDecimal.ZERO; BigDecimal grossTotal = BigDecimal.ZERO; + // Get route distance for distance-based calculations + Double routeDistance = (routeCalculationResult != null && routeCalculationResult.isValid()) + ? routeCalculationResult.getDistanceKm() + : null; + for (Service service : selectedServices) { - BigDecimal price = service.getEffectivePrice() != null ? service.getEffectivePrice() : BigDecimal.ZERO; + BigDecimal price = calculateServicePrice(service, routeDistance); BigDecimal vatRate = service.getVatRate() != null ? service.getVatRate() : BigDecimal.ZERO; netTotal = netTotal.add(price); @@ -837,6 +857,35 @@ public class AddJobView extends Main { grossTotalLabel.setText(grossTotal.setScale(2, RoundingMode.HALF_UP).toString().replace(".", ",") + " €"); } + /** + * Calculates the actual price for a service based on its calculation basis and + * route distance (for distance-based services). + */ + private BigDecimal calculateServicePrice(Service service, Double routeDistance) { + if (service.getCalculationBasis() == null) { + return BigDecimal.ZERO; + } + + switch (service.getCalculationBasis()) { + case FLAT_RATE: + return service.getPrice() != null ? service.getPrice() : BigDecimal.ZERO; + + case DISTANCE: + if (service.getPricePerKilometer() != null && routeDistance != null && routeDistance > 0) { + return service.getPricePerKilometer().multiply(BigDecimal.valueOf(routeDistance)); + } + return BigDecimal.ZERO; + + case TIME: + // For time-based services, we would need time units + // For now, return the price per 15 minutes as base value + return service.getPricePer15Minutes() != null ? service.getPricePer15Minutes() : BigDecimal.ZERO; + + default: + return BigDecimal.ZERO; + } + } + private VerticalLayout createPickupSection() { VerticalLayout section = new VerticalLayout(); section.setSpacing(true); @@ -1407,8 +1456,13 @@ public class AddJobView extends Main { .reduce(BigDecimal.ZERO, BigDecimal::add); job.setPrice(totalPrice); - // Store selected service IDs in job (optional - if Job has serviceIds field) - // job.setServiceIds(selectedServices.stream().map(Service::getId).toList()); + // Store selected service IDs in job for invoice creation + job.setServiceIds(selectedServices.stream().map(Service::getId).toList()); + + // Store route distance in job for invoice creation + if (routeCalculationResult != null && routeCalculationResult.isValid()) { + job.setRouteDistanceKm(routeCalculationResult.getDistanceKm()); + } // Validate all required fields using the binder if (binder.writeBeanIfValid(job)) { @@ -2802,10 +2856,6 @@ public class AddJobView extends Main { return field.getValue() != null ? field.getValue().trim() : ""; } - private String getComboValueOrEmpty(ComboBox field) { - return field.getValue() != null ? field.getValue().trim() : ""; - } - /** * Zeigt den Adressvalidierungsdialog an. Die Prüfung erfolgt im Hintergrund und * der Dialog wird aktualisiert, sobald die Ergebnisse vorliegen. @@ -3034,6 +3084,12 @@ public class AddJobView extends Main { routeDistanceLabel.setText(String.format("%.1f km", routeCalculationResult.getDistanceKm())); routeDurationLabel.setText(routeCalculationResult.getFormattedDurationLong()); routeInfoBox.setVisible(true); + + // Update price summary and grid with new route distance + updatePriceSummary(); + if (servicesGrid != null) { + servicesGrid.getDataProvider().refreshAll(); + } } else { routeInfoBox.setVisible(false); } diff --git a/src/main/java/de/assecutor/votianlt/pages/view/CreateInvoiceView.java b/src/main/java/de/assecutor/votianlt/pages/view/CreateInvoiceView.java index f8c0060..2725883 100644 --- a/src/main/java/de/assecutor/votianlt/pages/view/CreateInvoiceView.java +++ b/src/main/java/de/assecutor/votianlt/pages/view/CreateInvoiceView.java @@ -43,10 +43,7 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter private Job currentJob; private List gridRows = new ArrayList<>(); - private List allUserServices; private Grid servicesGrid; - private IntegerField kilometersField; - private IntegerField timeField; private Div servicesSection; /** @@ -88,6 +85,20 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter setSpacing(true); } + /** + * Lädt die Services, die beim Job-Erstellen ausgewählt wurden. + */ + private void loadSelectedServicesFromJob() { + if (currentJob.getServiceIds() != null && !currentJob.getServiceIds().isEmpty()) { + gridRows.clear(); + for (String serviceId : currentJob.getServiceIds()) { + serviceRepository.findById(serviceId).ifPresent(service -> { + gridRows.add(new ServiceRow(service)); + }); + } + } + } + @Override public void setParameter(BeforeEvent event, String jobIdHex) { try { @@ -116,13 +127,18 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter H2 title = new H2("Rechnung erstellen für Auftrag " + currentJob.getJobNumber()); add(title); + // Load previously selected services from job + loadSelectedServicesFromJob(); + // Job Details Section Div jobDetailsSection = createJobDetailsSection(); add(jobDetailsSection); - // Performance Data Section - Div performanceDataSection = createPerformanceDataSection(); - add(performanceDataSection); + // Route Information Section (if available) + if (currentJob.getRouteDistanceKm() != null && currentJob.getRouteDistanceKm() > 0) { + Div routeInfoSection = createRouteInfoSection(); + add(routeInfoSection); + } // Services Selection Section Div servicesSection = createServicesSelectionSection(); @@ -164,46 +180,28 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter return section; } - private Div createPerformanceDataSection() { + private Div createRouteInfoSection() { Div section = new Div(); - section.getStyle().set("border", "1px solid var(--lumo-contrast-20pct)") + section.getStyle().set("border", "1px solid var(--lumo-primary-color-50pct)") .set("border-radius", "var(--lumo-border-radius-m)").set("padding", "var(--lumo-space-m)") - .set("margin-bottom", "var(--lumo-space-m)").set("width", "100%").set("box-sizing", "border-box"); + .set("margin-bottom", "var(--lumo-space-m)").set("width", "100%").set("box-sizing", "border-box") + .set("background-color", "var(--lumo-primary-color-10pct)"); - H3 sectionTitle = new H3("Leistungsdaten"); + H3 sectionTitle = new H3("Streckeninformation"); + sectionTitle.getStyle().set("color", "var(--lumo-primary-text-color)"); section.add(sectionTitle); - VerticalLayout performanceLayout = new VerticalLayout(); - performanceLayout.setSpacing(true); - performanceLayout.setWidthFull(); + VerticalLayout routeInfo = new VerticalLayout(); + routeInfo.setSpacing(true); + routeInfo.setWidthFull(); - // Kilometers field - HorizontalLayout kilometersLayout = new HorizontalLayout(); - kilometersLayout.setWidthFull(); - Span kilometersLabel = new Span("Gefahrene Kilometer:"); - kilometersLabel.getStyle().set("width", "200px"); - kilometersField = new IntegerField(); - kilometersField.setWidth("150px"); - kilometersField.setMin(0); - kilometersField.setValue(currentJob.getKilometersDriven() != null ? currentJob.getKilometersDriven() : 0); - kilometersField.addValueChangeListener(e -> updateSummarySection()); - kilometersLayout.add(kilometersLabel, kilometersField); - performanceLayout.add(kilometersLayout); + Double distance = currentJob.getRouteDistanceKm(); + if (distance != null) { + routeInfo.add(new HorizontalLayout(new Span("Berechnete Entfernung:"), + new Span(String.format("%.1f km", distance)))); + } - // Time field (in 15-minute units) - HorizontalLayout timeLayout = new HorizontalLayout(); - timeLayout.setWidthFull(); - Span timeLabel = new Span("Arbeitszeit (15-Minuten-Einheiten):"); - timeLabel.getStyle().set("width", "200px"); - timeField = new IntegerField(); - timeField.setWidth("150px"); - timeField.setMin(0); - timeField.setValue(currentJob.getTimeIn15MinUnits() != null ? currentJob.getTimeIn15MinUnits() : 0); - timeField.addValueChangeListener(e -> updateSummarySection()); - timeLayout.add(timeLabel, timeField); - performanceLayout.add(timeLayout); - - section.add(performanceLayout); + section.add(routeInfo); return section; } @@ -213,46 +211,23 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter .set("border-radius", "var(--lumo-border-radius-m)").set("padding", "var(--lumo-space-m)") .set("margin-bottom", "var(--lumo-space-m)").set("width", "100%").set("box-sizing", "border-box"); - H3 sectionTitle = new H3("Leistungen auswählen"); + H3 sectionTitle = new H3("Leistungen"); servicesSection.add(sectionTitle); - // Load services for current user (only once) - if (allUserServices == null) { - String currentUserId = securityService.getCurrentUserId().toHexString(); - allUserServices = serviceRepository.findByUserId(currentUserId); - } - - // Initialize with 2 empty rows if gridRows is empty - if (gridRows.isEmpty()) { - gridRows.add(new ServiceRow()); - gridRows.add(new ServiceRow()); - } - - // Create grid with editable rows + // Create grid with read-only rows servicesGrid = new Grid<>(); servicesGrid.setWidthFull(); servicesGrid.setAllRowsVisible(true); - // Service selection column (ComboBox) - servicesGrid.addComponentColumn(row -> { - ComboBox serviceCombo = new ComboBox<>(); - serviceCombo.setItems(allUserServices); - serviceCombo.setItemLabelGenerator(Service::getName); - serviceCombo.setPlaceholder("Leistung auswählen..."); - serviceCombo.setWidthFull(); - serviceCombo.setValue(row.getService()); - - serviceCombo.addValueChangeListener(event -> { - row.setService(event.getValue()); - // Refresh the grid to show updated calculation basis and price - servicesGrid.getDataProvider().refreshItem(row); - updateSummarySection(); - }); - - return serviceCombo; + // Service name column (read-only) + servicesGrid.addColumn(row -> { + if (row.getService() != null) { + return row.getService().getName(); + } + return ""; }).setHeader("Leistung").setAutoWidth(true).setFlexGrow(2); - // Calculation basis column + // Calculation basis column (read-only) servicesGrid.addColumn(row -> { if (row.getService() != null && row.getService().getCalculationBasis() != null) { return switch (row.getService().getCalculationBasis()) { @@ -264,7 +239,7 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter return ""; }).setHeader("Berechnungsgrundlage").setAutoWidth(true).setFlexGrow(1); - // Price column + // Price column (read-only) servicesGrid.addColumn(row -> { if (row.getService() != null) { BigDecimal price = calculateServicePrice(row.getService()); @@ -278,15 +253,6 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter servicesGrid.setItems(gridRows); servicesSection.add(servicesGrid); - // Add button to add new row - Button addButton = new Button("Leistung hinzufügen", e -> { - ServiceRow newRow = new ServiceRow(); - gridRows.add(newRow); - servicesGrid.getDataProvider().refreshAll(); - }); - addButton.getStyle().set("margin-top", "var(--lumo-space-m)"); - servicesSection.add(addButton); - return servicesSection; } @@ -342,13 +308,12 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter if (service.getCalculationBasis() == Service.CalculationBasis.FLAT_RATE && service.getPrice() != null) { return service.getPrice(); } else if (service.getCalculationBasis() == Service.CalculationBasis.DISTANCE - && service.getPricePerKilometer() != null && kilometersField != null - && kilometersField.getValue() != null) { - BigDecimal kilometers = new BigDecimal(kilometersField.getValue()); + && service.getPricePerKilometer() != null && currentJob.getRouteDistanceKm() != null) { + BigDecimal kilometers = BigDecimal.valueOf(currentJob.getRouteDistanceKm()); return service.getPricePerKilometer().multiply(kilometers); } else if (service.getCalculationBasis() == Service.CalculationBasis.TIME - && service.getPricePer15Minutes() != null && timeField != null && timeField.getValue() != null) { - BigDecimal timeUnits = new BigDecimal(timeField.getValue()); + && service.getPricePer15Minutes() != null && currentJob.getTimeIn15MinUnits() != null) { + BigDecimal timeUnits = new BigDecimal(currentJob.getTimeIn15MinUnits()); return service.getPricePer15Minutes().multiply(timeUnits); } @@ -362,14 +327,13 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter if (service.getCalculationBasis() == Service.CalculationBasis.FLAT_RATE && service.getPrice() != null) { total = total.add(service.getPrice()); } else if (service.getCalculationBasis() == Service.CalculationBasis.DISTANCE - && service.getPricePerKilometer() != null && kilometersField != null - && kilometersField.getValue() != null) { - BigDecimal kilometers = new BigDecimal(kilometersField.getValue()); + && service.getPricePerKilometer() != null && currentJob.getRouteDistanceKm() != null) { + BigDecimal kilometers = BigDecimal.valueOf(currentJob.getRouteDistanceKm()); BigDecimal serviceTotal = service.getPricePerKilometer().multiply(kilometers); total = total.add(serviceTotal); } else if (service.getCalculationBasis() == Service.CalculationBasis.TIME - && service.getPricePer15Minutes() != null && timeField != null && timeField.getValue() != null) { - BigDecimal timeUnits = new BigDecimal(timeField.getValue()); + && service.getPricePer15Minutes() != null && currentJob.getTimeIn15MinUnits() != null) { + BigDecimal timeUnits = new BigDecimal(currentJob.getTimeIn15MinUnits()); BigDecimal serviceTotal = service.getPricePer15Minutes().multiply(timeUnits); total = total.add(serviceTotal); } @@ -402,14 +366,6 @@ public class CreateInvoiceView extends VerticalLayout implements HasUrlParameter } private void updateSummarySection() { - // Update the job with new values - if (kilometersField != null && kilometersField.getValue() != null) { - currentJob.setKilometersDriven(kilometersField.getValue()); - } - if (timeField != null && timeField.getValue() != null) { - currentJob.setTimeIn15MinUnits(timeField.getValue()); - } - // Refresh the services grid to update calculated prices refreshServicesGrid(); diff --git a/src/main/java/de/assecutor/votianlt/pages/view/PdfTestView.java b/src/main/java/de/assecutor/votianlt/pages/view/PdfTestView.java deleted file mode 100644 index a5ebeac..0000000 --- a/src/main/java/de/assecutor/votianlt/pages/view/PdfTestView.java +++ /dev/null @@ -1,98 +0,0 @@ -package de.assecutor.votianlt.pages.view; - -import com.vaadin.flow.component.button.Button; -import com.vaadin.flow.component.html.H2; -import com.vaadin.flow.component.html.IFrame; -import com.vaadin.flow.component.notification.Notification; -import com.vaadin.flow.component.orderedlayout.HorizontalLayout; -import com.vaadin.flow.component.orderedlayout.VerticalLayout; -import com.vaadin.flow.router.PageTitle; -import com.vaadin.flow.router.Route; -import com.vaadin.flow.server.StreamResource; -import de.assecutor.votianlt.pages.base.ui.view.AdminLayout; -import de.assecutor.votianlt.service.CustomerInvoiceService; -import de.assecutor.votianlt.service.SystemInvoiceService; -import jakarta.annotation.security.RolesAllowed; - -import java.io.ByteArrayInputStream; - -@Route(value = "pdf-test", layout = AdminLayout.class) -@PageTitle("PDF Test") -@RolesAllowed("ADMIN") -public class PdfTestView extends VerticalLayout { - private final SystemInvoiceService systemInvoiceService; - private final CustomerInvoiceService customerInvoiceService; - - public PdfTestView(SystemInvoiceService systemInvoiceService, CustomerInvoiceService customerInvoiceService) { - this.systemInvoiceService = systemInvoiceService; - this.customerInvoiceService = customerInvoiceService; - - setSpacing(false); - setPadding(false); - getStyle().set("margin", "14px"); - setWidth("90%"); - - H2 title = new H2("PDF Test"); - add(title); - - Button generateHtmlPdfButton = new Button("PDF aus system_invoice.html generieren"); - generateHtmlPdfButton.addClickListener(e -> generateHtmlPdf()); - - Button generateCustomerInvoicePdfButton = new Button("PDF aus customer_invoice.html generieren"); - generateCustomerInvoicePdfButton.addClickListener(e -> generateCustomerInvoicePdf()); - - // Create button layout - HorizontalLayout buttonLayout = new HorizontalLayout(); - buttonLayout.add(generateHtmlPdfButton, generateCustomerInvoicePdfButton); - buttonLayout.setSpacing(true); - - // Initialize PDF viewer - IFrame pdfViewer = new IFrame(); - pdfViewer.setWidth("100%"); - pdfViewer.setHeight("800px"); - pdfViewer.getStyle().set("border", "1px solid #ccc"); - pdfViewer.setVisible(false); - - add(buttonLayout); - add(pdfViewer); - } - - private void generateHtmlPdf() { - try { - byte[] pdfBytes = systemInvoiceService.generateInvoicePdfFromHtml(); - - StreamResource resource = new StreamResource("vlt-invoice.pdf", () -> new ByteArrayInputStream(pdfBytes)); - resource.setContentType("application/pdf"); - - getUI().ifPresent(ui -> { - var registration = ui.getSession().getResourceRegistry().registerResource(resource); - ui.getPage().open(registration.getResourceUri().toString(), "_blank"); - }); - - Notification.show("PDF aus HTML erfolgreich generiert!", 3000, Notification.Position.BOTTOM_CENTER); - } catch (Exception ex) { - Notification.show("Fehler beim Generieren des PDFs aus HTML: " + ex.getMessage(), 5000, - Notification.Position.BOTTOM_CENTER); - } - } - - private void generateCustomerInvoicePdf() { - try { - byte[] pdfBytes = customerInvoiceService.generateCustomerInvoicePdf(); - - StreamResource resource = new StreamResource("customer-invoice.pdf", - () -> new ByteArrayInputStream(pdfBytes)); - resource.setContentType("application/pdf"); - - getUI().ifPresent(ui -> { - var registration = ui.getSession().getResourceRegistry().registerResource(resource); - ui.getPage().open(registration.getResourceUri().toString(), "_blank"); - }); - - Notification.show("Customer PDF erfolgreich generiert!", 3000, Notification.Position.BOTTOM_CENTER); - } catch (Exception ex) { - Notification.show("Fehler beim Generieren des Customer PDFs: " + ex.getMessage(), 5000, - Notification.Position.BOTTOM_CENTER); - } - } -}