[SALGEN-1782047917440-b9n5xf] Request received: jobIds=34,33 invoicePeriodStart=2026-06-15 invoicePeriodEnd=2026-06-21
[SALGEN-1782047917440-b9n5xf] Normalized invoice period: start=2026-06-15 end=2026-06-21
[SALGEN-1782047917440-b9n5xf] Auth context: userId=1 roleId=1
[SALGEN-1782047917440-b9n5xf] Database query interface acquired
[SALGEN-1782047917440-b9n5xf] Validating Job ID: 34
[SALGEN-1782047917440-b9n5xf] [SALGEN-1782047917440-b9n5xf] Validating Job ID: 34 (started)
[SALGEN-1782047917440-b9n5xf] Job validation passed jobId=34 (took 7ms)
[SALGEN-1782047917440-b9n5xf] Validating Job ID: 33
[SALGEN-1782047917440-b9n5xf] [SALGEN-1782047917440-b9n5xf] Validating Job ID: 33 (started)
[SALGEN-1782047917440-b9n5xf] Job validation passed jobId=33 (took 6ms)
[SALGEN-1782047917440-b9n5xf] Validation completed. validJobIds=34,33 totalValid=2

========================================
SALARY GENERATION STARTED
========================================
Processing 2 job(s)
----------------------------------------
[SALGEN-1782047917440-b9n5xf] Transaction begin (took 2ms)
[SALGEN-1782047917440-b9n5xf] Loaded existing invoice sequences rows=0 (took 5ms)
[SALGEN-1782047917440-b9n5xf] Fetched wages jobId=34 rows=1 (took 4ms)
[SALGEN-1782047917440-b9n5xf] Fetched wages jobId=33 rows=2 (took 2ms)
[SALGEN-1782047917440-b9n5xf] Invoice header inserted employeeId=187 invno=INV-2026-26001-321A-0001 (took 8ms)
[SALGEN-1782047917440-b9n5xf] Invoice created employeeId=187 invoiceId=1 invno=INV-2026-26001-321A-0001 jobs=2 period=2026-06-15..2026-06-21
[SALGEN-1782047917440-b9n5xf] Invoice details inserted invoiceId=1 count=2 (took 8ms)
[SALGEN-1782047917440-b9n5xf] Employee invoice complete employeeId=187 invno=INV-2026-26001-321A-0001 (took 19ms)
[SALGEN-1782047917440-b9n5xf] Invoice header inserted employeeId=191 invno=INV-2026-26001-444A-0001 (took 9ms)
[SALGEN-1782047917440-b9n5xf] Invoice created employeeId=191 invoiceId=2 invno=INV-2026-26001-444A-0001 jobs=1 period=2026-06-15..2026-06-21
[SALGEN-1782047917440-b9n5xf] Invoice details inserted invoiceId=2 count=1 (took 3ms)
[SALGEN-1782047917440-b9n5xf] Employee invoice complete employeeId=191 invno=INV-2026-26001-444A-0001 (took 14ms)
[SALGEN-1782047917440-b9n5xf] Transaction commit (took 2ms)
[SALGEN-1782047917440-b9n5xf] Job updated isInvoiced=1 jobId=34 (took 5ms)
[SALGEN-1782047917440-b9n5xf] Job updated isInvoiced=1 jobId=33 (took 2ms)

📲 Sending notifications to employees...
   ⚠️ No token for HIDAYAT WADI (employeeId=187)
   ⚠️ No token for VALENTIA (employeeId=191)
   ⚠️ Skipping notifications: tokens=0, serviceReady=true

========================================
SALARY GENERATION COMPLETED
========================================
✅ Total Invoices Generated: 2
✅ Total Employees: 2
✅ Total Jobs Processed: 2

📋 Generated Invoice Summary:
┌────────────────────────────────────────────────────────────────────┐
│ Invoice Number     │ Employee Name          │ Jobs            │
├────────────────────────────────────────────────────────────────────┤
│ INV-2026-26001-321A-0001 │ HIDAYAT WADI           │ 34, 33          │
│ INV-2026-26001-444A-0001 │ VALENTIA               │ 33              │
└────────────────────────────────────────────────────────────────────┘

📁 Log file saved to: /home/vysar/valet.vysar.com/storage/logs/salary-generation-2026-06-21T13-18-37.log

[SALGEN-1782047917440-b9n5xf] Request completed successfully totalInvoices=2 totalEmployees=2 totalJobs=2 totalTimeMs=94
