From 6afcb60cdd626b0650e81fc5b0932e3b844aa744 Mon Sep 17 00:00:00 2001 From: Sven Carstensen Date: Wed, 18 Mar 2026 21:25:32 +0100 Subject: [PATCH] chore: bump version to 0.9.11 and remove deprecated JOB_JSON docs --- docs/JOB_JSON.md | 343 ----------------------------------------------- pom.xml | 2 +- 2 files changed, 1 insertion(+), 344 deletions(-) delete mode 100644 docs/JOB_JSON.md diff --git a/docs/JOB_JSON.md b/docs/JOB_JSON.md deleted file mode 100644 index 8b1dbea..0000000 --- a/docs/JOB_JSON.md +++ /dev/null @@ -1,343 +0,0 @@ -# Job JSON Struktur - -Diese Dokumentation beschreibt die JSON-Struktur eines Jobs mit allen zugehörigen Tasks. - -## Job Objekt - -```json -{ - "id": "507f1f77bcf86cd799439011", - "jobNumber": "JOB-2024-001", - "status": "CREATED", - "createdAt": "2024-01-15T10:30:00", - "updatedAt": "2024-01-15T14:45:00", - "createdBy": "admin@example.com", - "isDraft": false, - - "customerSelection": "Kunde01", - - "pickupCompany": "Absender GmbH", - "pickupSalutation": "Herr", - "pickupFirstName": "Max", - "pickupLastName": "Mustermann", - "pickupPhone": "+49 123 456789", - "pickupStreet": "Musterstraße", - "pickupHouseNumber": "42", - "pickupAddressAddition": "2. OG", - "pickupZip": "12345", - "pickupCity": "Musterstadt", - - "deliveryCompany": "Empfänger AG", - "deliverySalutation": "Frau", - "deliveryFirstName": "Erika", - "deliveryLastName": "Musterfrau", - "deliveryPhone": "+49 987 654321", - "deliveryStreet": "Beispielweg", - "deliveryHouseNumber": "7", - "deliveryAddressAddition": null, - "deliveryZip": "54321", - "deliveryCity": "Beispielstadt", - - "digitalProcessing": true, - "appUser": "fahrer01", - - "pickupDate": "2024-01-20", - "deliveryDate": "2024-01-21", - - "remark": "Bitte zwischen 9-12 Uhr liefern", - "price": 150.00 -} -``` - -## Job Status Werte - -| Status | Display Name | Beschreibung | -|--------|-------------|--------------| -| `CREATED` | Erstellt | Job wurde angelegt | -| `IN_PROGRESS` | In Bearbeitung | Job wird bearbeitet | -| `PICKUP_SCHEDULED` | Abholung geplant | Abholtermin wurde festgelegt | -| `PICKED_UP` | Abgeholt | Ware wurde abgeholt | -| `IN_TRANSIT` | Unterwegs | Ware ist auf dem Transportweg | -| `DELIVERED` | Zugestellt | Ware wurde zugestellt | -| `COMPLETED` | Abgeschlossen | Job vollständig abgeschlossen | -| `CANCELLED` | Storniert | Job wurde storniert | - -## Task Struktur - -Tasks sind polymorph und haben eine gemeinsame Basisstruktur plus typspezifische Daten. - -### Basis Task Felder - -```json -{ - "id": "507f1f77bcf86cd799439012", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "PHOTO", - "taskOrder": 1, - "description": "Fotos der Ware bei Abholung", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { ... } -} -``` - -### Task Typen - -| TaskType | Display Name | Beschreibung | -|----------|-------------|--------------| -| `CONFIRMATION` | Bestätigung | Einfache Bestätigung per Button | -| `SIGNATURE` | Unterschrift | Unterschrift erfassen | -| `TODOLIST` | To-Do Liste | Checkliste mit Punkten | -| `PHOTO` | Foto | Fotos aufnehmen | -| `BARCODE` | Barcode | Barcodes scannen | -| `COMMENT` | Kommentar | Textkommentar eingeben | - ---- - -## Task Beispiele nach Typ - -### CONFIRMATION Task - -```json -{ - "id": "507f1f77bcf86cd799439012", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "CONFIRMATION", - "taskOrder": 1, - "description": "Bitte bestätigen Sie die Übernahme der Ware", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "CONFIRMATION", - "buttonText": "Ware übernommen" - } -} -``` - -### SIGNATURE Task - -```json -{ - "id": "507f1f77bcf86cd799439013", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "SIGNATURE", - "taskOrder": 2, - "description": "Unterschrift des Empfängers", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "SIGNATURE" - } -} -``` - -### PHOTO Task - -```json -{ - "id": "507f1f77bcf86cd799439014", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "PHOTO", - "taskOrder": 3, - "description": "Fotos der Ware bei Abholung", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "PHOTO", - "minPhotoCount": 1, - "maxPhotoCount": 5 - } -} -``` - -### BARCODE Task - -```json -{ - "id": "507f1f77bcf86cd799439015", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "BARCODE", - "taskOrder": 4, - "description": "Scannen Sie alle Pakete", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "BARCODE", - "minBarcodeCount": 1, - "maxBarcodeCount": 10 - } -} -``` - -### TODOLIST Task - -```json -{ - "id": "507f1f77bcf86cd799439016", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "TODOLIST", - "taskOrder": 5, - "description": "Checkliste vor Auslieferung", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "TODOLIST", - "todoItems": [ - "Verpackung auf Beschädigungen prüfen", - "Anzahl der Pakete kontrollieren", - "Lieferschein beiliegen" - ] - } -} -``` - -### COMMENT Task - -```json -{ - "id": "507f1f77bcf86cd799439017", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "COMMENT", - "taskOrder": 6, - "description": "Anmerkungen zur Lieferung", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "COMMENT", - "commentText": null, - "required": false - } -} -``` - ---- - -## Vollständiges Beispiel: Job mit Tasks - -```json -{ - "job": { - "id": "507f1f77bcf86cd799439011", - "jobNumber": "JOB-2024-001", - "status": "IN_PROGRESS", - "createdAt": "2024-01-15T10:30:00", - "updatedAt": "2024-01-15T14:45:00", - "createdBy": "admin@example.com", - "isDraft": false, - "customerSelection": "Kunde01", - "pickupCompany": "Absender GmbH", - "pickupSalutation": "Herr", - "pickupFirstName": "Max", - "pickupLastName": "Mustermann", - "pickupPhone": "+49 123 456789", - "pickupStreet": "Musterstraße", - "pickupHouseNumber": "42", - "pickupAddressAddition": "2. OG", - "pickupZip": "12345", - "pickupCity": "Musterstadt", - "deliveryCompany": "Empfänger AG", - "deliverySalutation": "Frau", - "deliveryFirstName": "Erika", - "deliveryLastName": "Musterfrau", - "deliveryPhone": "+49 987 654321", - "deliveryStreet": "Beispielweg", - "deliveryHouseNumber": "7", - "deliveryAddressAddition": null, - "deliveryZip": "54321", - "deliveryCity": "Beispielstadt", - "digitalProcessing": true, - "appUser": "fahrer01", - "pickupDate": "2024-01-20", - "deliveryDate": "2024-01-21", - "remark": "Bitte zwischen 9-12 Uhr liefern", - "price": 150.00 - }, - "tasks": [ - { - "id": "507f1f77bcf86cd799439012", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "CONFIRMATION", - "taskOrder": 1, - "description": "Ware übernommen bestätigen", - "completed": true, - "completedAt": "2024-01-20T09:15:00", - "completedBy": "fahrer01", - "taskSpecificData": { - "taskType": "CONFIRMATION", - "buttonText": "Ware übernommen" - } - }, - { - "id": "507f1f77bcf86cd799439013", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "PHOTO", - "taskOrder": 2, - "description": "Fotos bei Abholung", - "completed": true, - "completedAt": "2024-01-20T09:20:00", - "completedBy": "fahrer01", - "taskSpecificData": { - "taskType": "PHOTO", - "minPhotoCount": 2, - "maxPhotoCount": 5 - } - }, - { - "id": "507f1f77bcf86cd799439014", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "BARCODE", - "taskOrder": 3, - "description": "Pakete scannen", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "BARCODE", - "minBarcodeCount": 1, - "maxBarcodeCount": 3 - } - }, - { - "id": "507f1f77bcf86cd799439015", - "jobId": "507f1f77bcf86cd799439011", - "taskType": "SIGNATURE", - "taskOrder": 4, - "description": "Unterschrift Empfänger", - "completed": false, - "completedAt": null, - "completedBy": null, - "taskSpecificData": { - "taskType": "SIGNATURE" - } - } - ] -} -``` - ---- - -## Feldtypen Referenz - -| Feld | Typ | Nullable | Beschreibung | -|------|-----|----------|--------------| -| `id` | String (ObjectId) | Nein | MongoDB ObjectId als String | -| `jobNumber` | String | Nein | Eindeutige Auftragsnummer | -| `status` | String (Enum) | Nein | Siehe Job Status Werte | -| `createdAt` | ISO DateTime | Nein | Erstellungszeitpunkt | -| `updatedAt` | ISO DateTime | Ja | Letzter Änderungszeitpunkt | -| `createdBy` | String | Nein | Benutzername des Erstellers | -| `isDraft` | Boolean | Nein | Entwurf-Kennzeichen | -| `pickupDate` | ISO Date | Ja | Abholdatum | -| `deliveryDate` | ISO Date | Ja | Lieferdatum | -| `price` | Decimal | Ja | Preis in EUR (netto) | -| `taskOrder` | Integer | Nein | Reihenfolge der Tasks (0-basiert) | -| `completed` | Boolean | Nein | Task abgeschlossen | -| `completedAt` | ISO DateTime | Ja | Abschlusszeitpunkt | -| `completedBy` | String | Ja | App-User der den Task abgeschlossen hat | diff --git a/pom.xml b/pom.xml index 98ed03b..c7a7d45 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ de.assecutor.votianlt votianlt - 0.9.10 + 0.9.11 jar