buildPlantHoursExceptionCsv() emits a 15-column CSV with the 13 template columns + reason + operator_note, RFC-4180-quoted. The GET /api/plant-hours/exception-report/[batchId] route re-parses the source file from data_import_batches.original_file, diffs against the imported plant_hours_log rows for that batch, and emits the CSV of rows that did NOT import. |
||
|---|---|---|
| .. | ||
| data-import-batches/[id] | ||
| delivery-notes | ||
| fuel-logs/import | ||
| health | ||
| plant-hours | ||
| purchase-orders | ||
| records/[collection]/[id]/verify | ||
| sites | ||
| timesheets/import | ||
| vehicles/[id] | ||