mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-10-01 12:13:13 +00:00
86 lines
3.7 KiB
Markdown
86 lines
3.7 KiB
Markdown
# Field Ownership Matrix — Work Orders
|
|
|
|
**Fase:** 0
|
|
**Depende de:** [data-ownership-model.md](data-ownership-model.md)
|
|
**Status:** Draft para sign-off CTO + PO
|
|
|
|
---
|
|
|
|
## Legenda
|
|
|
|
- **Owner escritor:** ator autorizado a criar/alterar o valor canônico.
|
|
- **Sync sobrescreve?:** se ingest DynamoDB pode substituir após WO existir.
|
|
- **ManualEditFlag:** primeira edição SHOC bloqueia Sync no campo (ver [manual-edit-flag-design.md](manual-edit-flag-design.md)).
|
|
|
|
---
|
|
|
|
## Matriz completa
|
|
|
|
| Campo | Agregado | Owner escritor | Sync sobrescreve? | Conflito SHOC vs Sync |
|
|
|-------|----------|----------------|-------------------|----------------------|
|
|
| LifecycleStatus | Core | SHOC | Não após 1ª edição SHOC | SHOC vence |
|
|
| LegacyStatus | Core | — (read-only) | Não | N/A |
|
|
| AssignTo | Core | SHOC | Não após ManualEditFlag | SHOC vence |
|
|
| ScheduledDate | Scheduling | SHOC | Não | SHOC vence |
|
|
| ScheduledStart | Scheduling | SHOC | Parcial (ingest inicial) | SHOC após flag |
|
|
| ScheduledEnd | Scheduling | SHOC | Não | SHOC vence |
|
|
| TargetWeek | Scheduling | SHOC | Não | SHOC vence |
|
|
| ScheduleWeekOnly | Scheduling | SHOC | Não | SHOC vence |
|
|
| DueDate | Core | SHOC + Sync | Sim se nunca editado SHOC | SHOC se ManualEditFlag |
|
|
| Description | Core | SHOC + Sync | Sim se nunca editado SHOC | SHOC se ManualEditFlag |
|
|
| WorkerOrderTitle | Core | SHOC + Sync | Sim se nunca editado SHOC | SHOC se ManualEditFlag |
|
|
| SiteCode | Core | SHOC + Sync | Sim na criação; não após SHOC | SHOC após flag |
|
|
| Building | Core | SHOC + Sync | Sim na criação | SHOC após flag |
|
|
| LocationId | Core | SHOC + Sync | Sim na criação | SHOC após flag |
|
|
| WorkOrderType | Core | SHOC + Sync | Sim na criação ingest | SHOC após flag |
|
|
| InternalWONumber / WoNumber | Core | SHOC (Sync só na criação) | Não | SHOC only |
|
|
| ExternalWorkOrderId | Core | Sync | Sim (idempotente key) | Sync only |
|
|
| VendorId / VendorName | Dispatch | SHOC + Vendor | Não | Domínios separados |
|
|
| Dispatch Status | Dispatch | Vendor + SHOC | Não | Por contexto |
|
|
| Checklist / Signoff | Dispatch | Vendor | Não | Vendor vence |
|
|
| DocStatus | Completion | SHOC | Não | SHOC only |
|
|
| RescheduleCount | Analytics | Domain events | Não | N/A |
|
|
| CarriedOver | Analytics | Jobs (WeekRolled) | Não | N/A |
|
|
| OriginalWeek / OriginalDate | Tracking | SHOC (set-once) | Não | SHOC vence |
|
|
| POC / WorkOrderContacts.Notes | Contacts | SHOC | Não | SHOC vence |
|
|
| Priority / Severity | Core | SHOC + Sync | Sim se nunca editado | SHOC após flag |
|
|
| Status (legado string) | Core | — (deprecated write) | Não | Migrar para LifecycleStatus |
|
|
| Trade / Problem / SubTrade | Core | SHOC | Parcial Sync ingest | SHOC após flag |
|
|
| Customer / Source | Core | Sync + SHOC | Sim na criação | SHOC após flag |
|
|
| Attachments / Photos | Core | SHOC + Vendor | Não overwrite mútuo | Por domínio |
|
|
|
|
---
|
|
|
|
## Campos board (14 colunas) — ownership resumido
|
|
|
|
| Coluna board | Fonte | Owner |
|
|
|--------------|-------|-------|
|
|
| WO# | Core.InternalWONumber | SHOC |
|
|
| Type | Core.WorkOrderType | SHOC |
|
|
| Site | Core.SiteCode | SHOC |
|
|
| Status | Core.LifecycleStatus | SHOC |
|
|
| Assignee | Core.AssignTo | SHOC |
|
|
| Due | Core.DueDate | SHOC + Sync |
|
|
| Scheduled | Scheduling.ScheduledDate | SHOC |
|
|
| Vendor | Dispatch (primário) | SHOC via Dispatch |
|
|
| Appt | Dispatch.ScheduledDate | Dispatch |
|
|
| Past Due | Derivado | — |
|
|
| Carried | Analytics.CarriedOver | Jobs |
|
|
| Reschedule | Analytics.RescheduleCount | Domain |
|
|
| Doc | Completion.DocStatus | SHOC |
|
|
| Actions | — | SHOC UI |
|
|
|
|
---
|
|
|
|
## Critérios de aceite
|
|
|
|
- [ ] PO valida campos board vs matriz
|
|
- [ ] Sync merge implementado referencia esta matriz
|
|
- [ ] ManualEditFlag design aprovado
|
|
|
|
**Assinaturas**
|
|
|
|
| Papel | Data |
|
|
|-------|------|
|
|
| CTO | |
|
|
| PO | |
|