docs(work-orders): document overdue=true instead of types=99

This commit is contained in:
Arthur Bassi 2026-07-21 14:31:58 -03:00
parent bea41b7e4d
commit bb8961cc71

View file

@ -36,26 +36,27 @@ Paths no FE: `API_PATHS.workOrder.board`, `boardSearch`, `lookupsDispatchers`.
| — | `weekEnd` | `weekStart + 4` (sexta) | | — | `weekEnd` | `weekStart + 4` (sexta) |
| `dispatcherIds` | `dispatchers` | `__unassigned` → `__unassigned__` | | `dispatcherIds` | `dispatchers` | `__unassigned` → `__unassigned__` |
| "My WOs" | `dispatchers={userId}` | Equivalente a `myWorkOrders=true` | | "My WOs" | `dispatchers={userId}` | Equivalente a `myWorkOrders=true` |
| `typeFilter` | `types` | PM=2, Emergency=3, Reactive=6, Add-On=7, **Overdue=99** | | `typeFilter` | `types` / `overdue` | Tipos reais em `types`; past-due via `overdue=true` (OR) |
## Advanced → `GET /board/search` ## Advanced → `GET /board/search`
| FE state | API param | Regra | | FE state | API param | Regra |
| ---------------- | --------------------- | ------------------------------------------ | | ---------------- | --------------------- | ------------------------------------------- |
| `page` | `page` | **0-based** (primeira página = `0`) | | `page` | `page` | **0-based** (primeira página = `0`) |
| `pageSize` | `pageSize` | Default `100`, max `100` | | `pageSize` | `pageSize` | Default `100`, max `100` |
| `sortBy` | `sortBy` | `scheduledDate` \| `woNumber` \| `dueDate` | | `sortBy` | `sortBy` | `scheduledDate` \| `woNumber` \| `dueDate` |
| `sortDir` | `sortDir` | `asc` \| `desc` | | `sortDir` | `sortDir` | `asc` \| `desc` |
| `search` | `search` | `>= 2` chars | | `search` | `search` | `>= 2` chars |
| `dateRange` | `datePreset` | PascalCase (ver abaixo) | | `dateRange` | `datePreset` | PascalCase (ver abaixo) |
| `customFrom/To` | `dateFrom` / `dateTo` | Obrigatórios se `datePreset=Custom` | | `customFrom/To` | `dateFrom` / `dateTo` | Obrigatórios se `datePreset=Custom` |
| `sites` (IDs UI) | `sites` | **Site codes**, não location ID | | `sites` (IDs UI) | `sites` | **Site codes**, não location ID |
| `types` | `types` | Integers; Overdue → `99` | | `types` | `types` | Integers de `WorkOrderType` reais |
| `dispatchers` | `dispatchers` | `__unassigned` → `__unassigned__` | | overdue (UI) | `overdue` | `true` = past-due (`isPastDue`); ver abaixo |
| `statuses` | `statuses` | Integers 1–10 | | `dispatchers` | `dispatchers` | `__unassigned` → `__unassigned__` |
| `pmTypes` | `pmTypes` | Strings (labels Problem dropdown) | | `statuses` | `statuses` | Integers 1–10 |
| `vendorTechs` | `vendorIds` | Integers (resolvidos por companyName) | | `pmTypes` | `pmTypes` | Strings (labels Problem dropdown) |
| `docs` | `docStatuses` | No=2, Yes=1, NN=3 | | `vendorTechs` | `vendorIds` | Integers (resolvidos por companyName) |
| `docs` | `docStatuses` | No=2, Yes=1, NN=3 |
### `datePreset` ### `datePreset`
@ -69,15 +70,31 @@ Paths no FE: `API_PATHS.workOrder.board`, `boardSearch`, `lookupsDispatchers`.
| `next-month` | `NextMonth` | | `next-month` | `NextMonth` |
| `custom` | `Custom` | | `custom` | `Custom` |
### `types` — WorkOrderType / overdue ### `types` — WorkOrderType
| Label FE | API | Somente tipos reais de work order. **Não** use sentinel `99` para overdue.
| --------- | ------------------------- |
| PM | `2` | | Label FE | API |
| Emergency | `3` | | --------- | -------------------------------------------- |
| Reactive | `6` | | PM | `2` |
| Add-On | `7` | | Emergency | `3` |
| Overdue | `99` (filtra `isPastDue`) | | Reactive | `6` |
| Add-On | `7` |
| Other | tipo real do enum (não é filtro de past-due) |
### `overdue` — past-due
| FE / UI | API param | Regra |
| ------- | -------------- | ----------------------------------------- |
| Overdue | `overdue=true` | Filtra work orders past-due (`isPastDue`) |
`types` e `overdue` combinam com **OR**: uma WO entra no resultado se corresponder a algum `types` **ou** estiver overdue (quando `overdue=true`).
Exemplos:
- Só PM e Emergency: `types=2&types=3`
- Só past-due: `overdue=true`
- PM **ou** past-due: `types=2&overdue=true`
### `statuses` — LifecycleStatus ### `statuses` — LifecycleStatus