70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# Fase D1 — Planificación y apertura de visitas
|
|
|
|
Versión: `0.15.0`
|
|
|
|
## Objetivo
|
|
|
|
Iniciar el dominio de inspecciones con la regla funcional acordada: una
|
|
inspección representa una visita. D1 planifica y abre esa visita; no incorpora
|
|
todavía actas, hallazgos ni el informe consolidado.
|
|
|
|
## Modelo
|
|
|
|
`inspection_visits` conserva identidad, título, objetivo, estado, fechas,
|
|
ubicación o alcance principal, responsable, instrucciones y trazabilidad.
|
|
|
|
La visita utiliza el Maestro de Activos de dos maneras:
|
|
|
|
- `scope_asset_id` referencia cualquier activo que represente su ubicación o
|
|
alcance principal;
|
|
- `inspection_visit_assets` vincula los activos concretos a inspeccionar.
|
|
|
|
No se copian nombres, ubicaciones ni atributos. Todos los vínculos apuntan a los
|
|
activos originales y respetan la jerarquía dinámica: si se define un alcance,
|
|
los activos seleccionados deben pertenecer a esa rama.
|
|
|
|
`inspection_visit_members` vincula usuarios activos con permiso de ejecución.
|
|
Un integrante se designa como inspector responsable y debe pertenecer al equipo.
|
|
|
|
## Flujo controlado
|
|
|
|
- `DRAFT`: admite cambios generales, activos y equipo;
|
|
- `PLANNED`: el plan está confirmado, pero aún puede volver a borrador;
|
|
- `IN_PROGRESS`: la visita fue iniciada y su planificación queda congelada;
|
|
- `CANCELLED`: estado terminal con motivo obligatorio;
|
|
- `CLOSED`: reservado para la futura operación de cierre e informe consolidado.
|
|
|
|
Antes de confirmar o iniciar se exige ubicación, fecha de inicio, al menos un
|
|
activo, un equipo válido y un responsable incluido. Sólo un integrante asignado
|
|
o un usuario con gestión puede iniciar la visita.
|
|
|
|
## Permisos
|
|
|
|
- `inspections.read`: admin, director, supervisor, inspector y auditor;
|
|
- `inspections.manage`: admin y supervisor;
|
|
- `inspections.assign`: admin y supervisor;
|
|
- `inspections.execute`: admin, supervisor e inspector.
|
|
|
|
Las tres tablas conceden al usuario runtime lectura, inserción y actualización,
|
|
pero revocan borrado físico.
|
|
|
|
## API e interfaz
|
|
|
|
Rutas principales:
|
|
|
|
- `GET|POST /api/v3/inspection-visits`;
|
|
- `GET|PATCH /api/v3/inspection-visits/:id`;
|
|
- `PUT /api/v3/inspection-visits/:id/assets`;
|
|
- `PUT /api/v3/inspection-visits/:id/team`;
|
|
- `PUT /api/v3/inspection-visits/:id/status`;
|
|
- `POST /api/v3/inspection-visits/:id/start`.
|
|
|
|
La sección **Inspecciones** reemplaza el placeholder por un listado y un editor
|
|
completo de visita.
|
|
|
|
## Continuidad
|
|
|
|
La próxima subfase agregará el acta única de cada visita. Después se
|
|
incorporarán hallazgos y evidencias, y finalmente firmas, rectificativas y el
|
|
informe técnico que incorporará el acta y sus hallazgos.
|