Files

65 lines
2.5 KiB
Markdown

# Fase D2 — Base de actas y versiones
Versión: `0.16.0`
## Objetivo
Crear la base documental de las actas. D2.1 corrige posteriormente la
cardinalidad para que cada visita contenga una única acta. El acta conserva
identidad oficial, activos vinculados y todas sus versiones, sin duplicar
información del Maestro de Activos.
## Numeración oficial
Al crear un acta el servidor asigna `ACTA-AAAA-NNNNNN`. El contador es global
para todas las actas del año y se incrementa dentro de la misma transacción que
crea el documento. Los números cancelados no se reutilizan.
`document_annual_sequences` reserva también la serie `REPORT` para el futuro
informe consolidado, pero D2 sólo emite números de tipo `ACT`.
## Modelo e integridad
- `inspection_acts`: identidad, visita, número, estado y contenido actual;
- `inspection_act_assets`: referencias a activos incluidos en la visita;
- `inspection_act_versions`: snapshots inmutables de cada guardado;
- `document_annual_sequences`: contadores transaccionales por tipo y año.
Los snapshots congelan el contenido del acta, el contexto de la visita y la
identidad y versión actual de cada activo seleccionado. La API runtime no tiene
permisos para borrar estas tablas ni para modificar versiones históricas.
## Flujo D2
- la visita debe estar `IN_PROGRESS`;
- un integrante asignado, o gestión, puede crear y editar el acta;
- cada acta nace `DRAFT` y recibe número oficial inmediatamente;
- sólo un borrador puede editarse;
- admin o supervisor pueden cancelar un borrador con motivo obligatorio;
- la cancelación agrega una versión y conserva el número y todo el historial.
Los estados `READY`, `CLOSED` y `RECTIFIED` quedan reservados. D2 no implementa
todavía cierre, firma, PDF, hash, token público ni rectificación.
## Permisos y rutas
- `inspection_acts.read`: consultar actas y versiones;
- `inspection_acts.create`: crear actas en visitas asignadas;
- `inspection_acts.update`: actualizar borradores;
- `inspection_acts.cancel`: cancelar borradores.
Rutas:
- `GET|POST /api/v3/inspection-visits/:visitId/acts`;
- `GET|PATCH /api/v3/inspection-acts/:id`;
- `POST /api/v3/inspection-acts/:id/cancel`.
La pantalla de visita contiene su acta. El editor permite elegir los activos de
esa visita y consultar las versiones inmutables.
## Continuidad
D2.1 garantiza un acta por visita. La siguiente subfase incorporará múltiples
hallazgos dentro de esa acta. Luego se agregarán cierre y firma, documentos
verificables, rectificativas e informe técnico de la visita.