/**
 * Erstellt ein vollständiges Dummy-Ticket mit WOID 10001
 * Zeigt alle möglichen Funktionen, Felder und Kombinationen
 */

export function createDummyTicket10001() {
  const now = new Date()
  const yesterday = new Date(now.getTime() - 24 * 60 * 60 * 1000)
  const lastWeek = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000)

  // Haupt-Ticket mit allen Feldern ausgefüllt
  const dummyTicket = {
    $id: 'dummy-10001',
    woid: '10001',
    topic: 'Kompletter Systemausfall - Server & Netzwerk',
    status: 'Assigned',
    priority: 4, // Critical
    type: 'Emergency Call',
    systemType: 'Server',
    responseLevel: '24/7',
    serviceType: 'On Site',
    customerId: 'customer-a-id',
    customerName: 'Kunde A',
    customerLocation: 'Hauptstraße 123, 12345 Musterstadt',
    assignedTo: 'user-max-id', // Max Mustermann
    requestedBy: 'Dr. Anna Schmidt',
    requestedFor: 'IT-Abteilung Kunde A',
    startDate: '30.12.2025',
    startTime: '0800',
    deadline: '31.12.2025',
    endTime: '1800',
    estimate: '480',
    mailCopyTo: 'admin@kunde-a.de, it@kunde-a.de',
    sendNotification: true,
    details: `KRITISCHER SYSTEMAUSFALL - SOFORTIGE BEARBEITUNG ERFORDERLICH

Problembeschreibung:
- Kompletter Serverausfall im Rechenzentrum
- Alle Server sind offline (keine Verbindung möglich)
- Netzwerk-Infrastruktur betroffen
- Keine Backup-Systeme verfügbar

Betroffene Systeme:
- Hauptserver (Windows Server 2022)
- Datenbankserver (SQL Server 2019)
- Fileserver
- Exchange Server
- Netzwerk-Switches

Auswirkungen:
- Keine E-Mail-Kommunikation möglich
- Alle Anwendungen offline
- Kein Zugriff auf Datenbanken
- Produktion steht still

Dringlichkeit: KRITISCH - Produktionsausfall

Erwartete Bearbeitungszeit: 8 Stunden
Benötigte Ressourcen: 2 Techniker, Hardware-Ersatzteile`,
    approvalStatus: 'approved',
    createdAt: lastWeek.toISOString(),
    $createdAt: lastWeek.toISOString()
  }

  // Mehrere Worksheets mit verschiedenen Status-Änderungen und Benutzern
  const dummyWorksheets = [
    {
      $id: 'ws-10001-001',
      wsid: '100001',
      woid: '10001',
      workorderId: 'dummy-10001',
      employeeId: 'user-max-id',
      employeeName: 'Max Mustermann',
      employeeShort: 'MM',
      serviceType: 'Remote',
      oldStatus: 'Open',
      newStatus: 'Occupied',
      oldResponseLevel: '',
      newResponseLevel: '24/7',
      totalTime: 30,
      startDate: '23.12.2025',
      startTime: '0800',
      endDate: '23.12.2025',
      endTime: '0830',
      details: 'Erste Analyse durchgeführt. Server komplett offline. Keine Remote-Verbindung möglich. Vor-Ort-Einsatz erforderlich.',
      isComment: false,
      createdAt: yesterday.toISOString(),
      $createdAt: yesterday.toISOString()
    },
    {
      $id: 'ws-10001-002',
      wsid: '100002',
      woid: '10001',
      workorderId: 'dummy-10001',
      employeeId: 'user-lisa-id',
      employeeName: 'Lisa Schneider',
      employeeShort: 'LS',
      serviceType: 'On Site',
      oldStatus: 'Occupied',
      newStatus: 'Assigned',
      oldResponseLevel: '24/7',
      newResponseLevel: '24/7',
      totalTime: 120,
      startDate: '23.12.2025',
      startTime: '1000',
      endDate: '23.12.2025',
      endTime: '1200',
      details: 'Vor-Ort-Einsatz: Hardware-Check durchgeführt. Netzteil des Hauptservers defekt. Ersatzteil bestellt. Notfall-Backup-Server gestartet.',
      isComment: false,
      createdAt: yesterday.toISOString(),
      $createdAt: yesterday.toISOString()
    },
    {
      $id: 'ws-10001-003',
      wsid: '100003',
      woid: '10001',
      workorderId: 'dummy-10001',
      employeeId: 'user-tom-id',
      employeeName: 'Tom Klein',
      employeeShort: 'TK',
      serviceType: 'On Site',
      oldStatus: 'Assigned',
      newStatus: 'Assigned',
      oldResponseLevel: '24/7',
      newResponseLevel: '24/7',
      totalTime: 0,
      startDate: '24.12.2025',
      startTime: '1400',
      endDate: '24.12.2025',
      endTime: '1400',
      details: 'Warte auf Ersatzteil-Lieferung. Kunde informiert. Backup-System läuft stabil.',
      isComment: true,
      createdAt: new Date(yesterday.getTime() - 12 * 60 * 60 * 1000).toISOString(),
      $createdAt: new Date(yesterday.getTime() - 12 * 60 * 60 * 1000).toISOString()
    },
    {
      $id: 'ws-10001-004',
      wsid: '100004',
      woid: '10001',
      workorderId: 'dummy-10001',
      employeeId: 'user-max-id',
      employeeName: 'Max Mustermann',
      employeeShort: 'MM',
      serviceType: 'On Site',
      oldStatus: 'Assigned',
      newStatus: 'In Test',
      oldResponseLevel: '24/7',
      newResponseLevel: '24/7',
      totalTime: 180,
      startDate: '25.12.2025',
      startTime: '0900',
      endDate: '25.12.2025',
      endTime: '1200',
      details: 'Ersatzteil eingebaut. Server gestartet. Alle Dienste wiederhergestellt. System-Tests durchgeführt. Datenbank-Verbindungen geprüft.',
      isComment: false,
      createdAt: new Date(yesterday.getTime() - 24 * 60 * 60 * 1000).toISOString(),
      $createdAt: new Date(yesterday.getTime() - 24 * 60 * 60 * 1000).toISOString()
    },
    {
      $id: 'ws-10001-005',
      wsid: '100005',
      woid: '10001',
      workorderId: 'dummy-10001',
      employeeId: 'user-lisa-id',
      employeeName: 'Lisa Schneider',
      employeeShort: 'LS',
      serviceType: 'Remote',
      oldStatus: 'In Test',
      newStatus: 'Awaiting',
      oldResponseLevel: '24/7',
      newResponseLevel: 'Support',
      totalTime: 45,
      startDate: '26.12.2025',
      startTime: '1000',
      endDate: '26.12.2025',
      endTime: '1045',
      details: 'Remote-Monitoring eingerichtet. Warte auf Kunden-Feedback nach 24h Testphase. Alle Systeme laufen stabil.',
      isComment: false,
      createdAt: new Date(yesterday.getTime() - 48 * 60 * 60 * 1000).toISOString(),
      $createdAt: new Date(yesterday.getTime() - 48 * 60 * 60 * 1000).toISOString()
    },
    {
      $id: 'ws-10001-006',
      wsid: '100006',
      woid: '10001',
      workorderId: 'dummy-10001',
      employeeId: 'user-tom-id',
      employeeName: 'Tom Klein',
      employeeShort: 'TK',
      serviceType: 'COMMENT',
      oldStatus: 'Awaiting',
      newStatus: 'Closed',
      oldResponseLevel: 'Support',
      newResponseLevel: 'Backoffice',
      totalTime: 0,
      startDate: '30.12.2025',
      startTime: '0900',
      endDate: '30.12.2025',
      endTime: '0900',
      details: 'Kunde bestätigt: Alle Systeme funktionieren einwandfrei. Problem vollständig behoben. Ticket kann geschlossen werden.',
      isComment: true,
      createdAt: now.toISOString(),
      $createdAt: now.toISOString()
    }
  ]

  return {
    ticket: dummyTicket,
    worksheets: dummyWorksheets
  }
}

/**
 * Fügt das Dummy-Ticket zu den Demo-Daten hinzu
 */
export function addDummyTicketToDemo(workorders, worksheets) {
  const { ticket, worksheets: ticketWorksheets } = createDummyTicket10001()
  
  // Prüfe ob Ticket bereits existiert
  const exists = workorders.some(wo => wo.woid === '10001')
  if (exists) {
    console.log('Dummy-Ticket 10001 existiert bereits')
    return { workorders, worksheets }
  }

  return {
    workorders: [ticket, ...workorders],
    worksheets: [...ticketWorksheets, ...worksheets]
  }
}



