66 lines
2.7 KiB
Markdown
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.
|