196 lines
4.9 KiB
Markdown
196 lines
4.9 KiB
Markdown
# WSID System - Quick Start Guide
|
|
|
|
## 🚀 Schnellstart in 5 Minuten
|
|
|
|
### Schritt 1: Collection in Appwrite erstellen
|
|
|
|
1. Gehe zu **https://appwrite.webklar.com**
|
|
2. Login mit deinen Credentials
|
|
3. Öffne Projekt **woms**
|
|
4. Gehe zu **Databases** → **woms-database**
|
|
5. Klicke **Create Collection**
|
|
- Collection ID: `worksheets`
|
|
- Name: `Work Sheets`
|
|
6. Klicke **Create**
|
|
|
|
### Schritt 2: Attribute hinzufügen
|
|
|
|
Klicke auf **Attributes** und füge folgende Attribute hinzu:
|
|
|
|
#### Required Attributes (Pflicht):
|
|
|
|
```
|
|
1. wsid | String | Size: 10 | Required: ✓ | Default: -
|
|
2. woid | String | Size: 10 | Required: ✓ | Default: -
|
|
3. workorderId | String | Size: 50 | Required: ✓ | Default: -
|
|
4. employeeId | String | Size: 50 | Required: ✓ | Default: -
|
|
5. employeeName | String | Size: 255 | Required: ✓ | Default: -
|
|
6. serviceType | String | Size: 50 | Required: ✓ | Default: Remote
|
|
7. oldStatus | String | Size: 50 | Required: ✓ | Default: -
|
|
8. newStatus | String | Size: 50 | Required: ✓ | Default: -
|
|
9. totalTime | Integer | - | Required: ✓ | Default: 0
|
|
10. startDate | String | Size: 50 | Required: ✓ | Default: -
|
|
11. endDate | String | Size: 50 | Required: ✓ | Default: -
|
|
12. details | String | Size: 10000 | Required: ✓ | Default: -
|
|
13. createdAt | DateTime| - | Required: - | Default: -
|
|
```
|
|
|
|
#### Optional Attributes (Optional):
|
|
|
|
```
|
|
14. employeeShort | String | Size: 10 | Required: - | Default: -
|
|
15. oldResponseLevel | String | Size: 50 | Required: - | Default: -
|
|
16. newResponseLevel | String | Size: 50 | Required: - | Default: -
|
|
17. startTime | String | Size: 10 | Required: - | Default: -
|
|
18. endTime | String | Size: 10 | Required: - | Default: -
|
|
19. isComment | Boolean | - | Required: - | Default: false
|
|
```
|
|
|
|
### Schritt 3: Permissions setzen
|
|
|
|
1. Gehe zu **Settings** → **Permissions**
|
|
2. Setze folgende Berechtigungen:
|
|
|
|
**Read Access:**
|
|
- ✅ `Users` (All users)
|
|
|
|
**Create Access:**
|
|
- ✅ `Users` (All users)
|
|
|
|
**Update Access:**
|
|
- ✅ `Users` (All users)
|
|
|
|
**Delete Access:**
|
|
- ❌ Keine (für Audit Trail)
|
|
|
|
### Schritt 4: Indexes erstellen
|
|
|
|
Gehe zu **Indexes** und erstelle:
|
|
|
|
1. **woid_index**
|
|
- Key: `woid`
|
|
- Type: `key`
|
|
- Order: `DESC`
|
|
|
|
2. **employee_index**
|
|
- Key: `employeeId`
|
|
- Type: `key`
|
|
- Order: `DESC`
|
|
|
|
3. **date_index**
|
|
- Key: `startDate`
|
|
- Type: `key`
|
|
- Order: `DESC`
|
|
|
|
### Schritt 5: Collection ID kopieren
|
|
|
|
1. Gehe zurück zur Collection-Übersicht
|
|
2. Kopiere die **Collection ID** (z.B. `694xyz123abc456def789`)
|
|
|
|
### Schritt 6: Collection ID im Code eintragen
|
|
|
|
Öffne `src/lib/appwrite.js` und trage die Collection ID ein:
|
|
|
|
```javascript
|
|
export const COLLECTIONS = {
|
|
WORKORDERS: '6943bf7d001901baa60c',
|
|
CUSTOMERS: '694bd1fb002b2e583d13',
|
|
EMPLOYEES: '695280510031c6c6153b',
|
|
WORKSHEETS: '694xyz123abc456def789', // ← Hier deine Collection ID eintragen!
|
|
// ...
|
|
}
|
|
```
|
|
|
|
### Schritt 7: Optional - WSID aus workorders entfernen
|
|
|
|
Falls du bereits ein `wsid`-Attribut in der `workorders` Collection hast:
|
|
|
|
1. Gehe zu **workorders** Collection
|
|
2. Gehe zu **Attributes**
|
|
3. Lösche Attribut `wsid` (falls vorhanden)
|
|
|
|
⚠️ **Hinweis:** Stelle sicher, dass du ein Backup hast!
|
|
|
|
### Schritt 8: Anwendung neu starten
|
|
|
|
```bash
|
|
# Terminal öffnen
|
|
npm run dev
|
|
```
|
|
|
|
### Schritt 9: Testen!
|
|
|
|
1. Öffne die Anwendung im Browser
|
|
2. Gehe zu **Tickets**
|
|
3. Öffne ein Ticket (Lock-Icon klicken)
|
|
4. Klicke **"Add Worksheet"**
|
|
5. Fülle das Formular aus:
|
|
- Service Type: `Remote`
|
|
- New Status: `Occupied`
|
|
- Start Time: `1000`
|
|
- End Time: `1030`
|
|
- Details: `Test-Worksheet`
|
|
6. Klicke **"CREATE NOW"**
|
|
|
|
**Erwartetes Ergebnis:**
|
|
- WSID sollte `100000` sein
|
|
- Worksheet sollte in der Liste erscheinen
|
|
- Statistiken sollten angezeigt werden
|
|
|
|
---
|
|
|
|
## ✅ Fertig!
|
|
|
|
Das WSID-System ist jetzt einsatzbereit!
|
|
|
|
### Nächste Schritte:
|
|
|
|
- Erstelle weitere Worksheets
|
|
- Prüfe Statistiken
|
|
- Teste Status-Änderungen
|
|
- Prüfe Zeitaggregation
|
|
|
|
---
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
### Problem: "Collection nicht gefunden"
|
|
|
|
**Lösung:**
|
|
- Überprüfe Collection ID in `src/lib/appwrite.js`
|
|
- Stelle sicher, dass Collection wirklich existiert
|
|
|
|
### Problem: "Unauthorized"
|
|
|
|
**Lösung:**
|
|
- Überprüfe Permissions in Appwrite
|
|
- `Users` muss Read/Create Zugriff haben
|
|
|
|
### Problem: "Attribute nicht gefunden"
|
|
|
|
**Lösung:**
|
|
- Überprüfe, ob alle Required Attributes erstellt wurden
|
|
- Attribute-Namen müssen exakt übereinstimmen (case-sensitive!)
|
|
|
|
### Problem: "WSID wird nicht generiert"
|
|
|
|
**Lösung:**
|
|
- Überprüfe Browser-Konsole auf Fehler
|
|
- Stelle sicher, dass `wsid` Attribut existiert
|
|
- Überprüfe, ob Collection ID korrekt ist
|
|
|
|
---
|
|
|
|
## 📚 Weitere Dokumentation
|
|
|
|
- **Detaillierte Setup-Anleitung:** `WORKSHEETS_COLLECTION_SETUP.md`
|
|
- **Implementierungs-Details:** `WSID_IMPLEMENTATION_SUMMARY.md`
|
|
- **Appwrite Setup:** `APPWRITE_SETUP.md`
|
|
|
|
---
|
|
|
|
## 🎉 Viel Erfolg!
|
|
|
|
Bei Fragen: Siehe ausführliche Dokumentation oder Code-Kommentare.
|
|
|