65 lines
2.5 KiB
Markdown
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.
|