chore: import DH V2 D5.6.4 production baseline
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# Fase C2 — Ejecución y validación de relevamientos
|
||||
|
||||
Versión: `0.14.0`
|
||||
|
||||
## Objetivo
|
||||
|
||||
Ejecutar en campo los objetivos planificados en C1 y consolidar su resultado en
|
||||
el único Maestro de Activos. C2 no crea una segunda ficha ni un inventario
|
||||
paralelo: el informe referencia al objetivo y al activo originales.
|
||||
|
||||
## Flujo operativo
|
||||
|
||||
1. El responsable inicia un objetivo asignado.
|
||||
2. Guarda un borrador con resultado, fecha observada, GPS, precisión, notas y
|
||||
fotografías protegidas.
|
||||
3. Si detecta diferencias, actualiza el activo original desde el Maestro.
|
||||
4. Envía el informe. C2 actualiza la procedencia del activo, crea una versión de
|
||||
activo y congela una versión inmutable del informe con los hashes de evidencia.
|
||||
5. Un revisor aprueba o rechaza. La aprobación sólo continúa si el activo conserva
|
||||
exactamente la versión enviada.
|
||||
6. Al aprobar, el activo queda validado y el objetivo completado. Al rechazar,
|
||||
vuelve a ejecución con el motivo registrado.
|
||||
|
||||
Los resultados admitidos son activo confirmado, cambios registrados y no
|
||||
localizado. GPS con precisión y al menos una fotografía son obligatorios para el
|
||||
envío. Cambios registrados y no localizado requieren una explicación.
|
||||
|
||||
## Inmutabilidad y Maestro único
|
||||
|
||||
- `survey_target_reports` conserva el estado actual del informe;
|
||||
- `survey_target_report_media` vincula evidencia existente del activo;
|
||||
- `survey_target_report_versions` conserva cada envío y decisión como JSON
|
||||
inmutable, incluyendo identificación, versión del activo y hash SHA-256 de cada
|
||||
evidencia;
|
||||
- las tres tablas revocan `DELETE` al usuario runtime;
|
||||
- las versiones congeladas revocan también `UPDATE`;
|
||||
- el envío actualiza procedencia y estado del activo original mediante el historial
|
||||
ya existente del Maestro.
|
||||
|
||||
Un informe enviado no puede editarse. Las correcciones requieren rechazo,
|
||||
nuevo borrador y un nuevo envío; las versiones anteriores permanecen disponibles.
|
||||
|
||||
## Permisos
|
||||
|
||||
- `surveys.read_reports`: admin, director, supervisor, inspector y auditor;
|
||||
- `surveys.capture`: admin, supervisor e inspector;
|
||||
- `surveys.review`: admin, director y supervisor.
|
||||
|
||||
Además se conservan los permisos de C1 para planificación y avance y los de B4
|
||||
para cargar fotografías protegidas.
|
||||
|
||||
## API e interfaz
|
||||
|
||||
Rutas nuevas:
|
||||
|
||||
- `GET|PUT /api/v3/survey-campaign-targets/:targetId/report`;
|
||||
- `POST /api/v3/survey-campaign-targets/:targetId/report/submit`;
|
||||
- `POST /api/v3/survey-campaign-targets/:targetId/report/review`.
|
||||
|
||||
La pantalla de campaña abre cada objetivo en una vista de ejecución con captura
|
||||
GPS, carga y selección de evidencia, envío, control de calidad y consulta de todas
|
||||
las versiones inmutables.
|
||||
|
||||
Las inspecciones, visitas, actas y hallazgos continúan siendo un dominio separado
|
||||
para una fase posterior.
|
||||
Reference in New Issue
Block a user