Files

66 lines
2.7 KiB
Markdown

# 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.