Files
dh-inspeccion-v2/docs/PHASE_D5_3_23.md
T

2.2 KiB

D5.3.23.1 · Altas de campo y revisión de Inventarios

Objetivo

Permitir que un inspector registre durante una inspección un elemento que no existe todavía en el Inventario, siga trabajando con ese registro provisional y deje la decisión definitiva para oficina.

Flujo

  1. Sólo un inspector autenticado desde la aplicación móvil puede generar un alta de campo.
  2. La visita debe estar IN_PROGRESS y el inspector debe integrar el equipo asignado.
  3. El elemento se crea como DRAFT, con origen FIELD_SURVEY, referencia a la visita y trazabilidad completa.
  4. El elemento se incorpora inmediatamente a la visita y, si el Acta ya existe y sigue abierta, también al Acta para poder registrar Hallazgos sobre él.
  5. En oficina, la bandeja Inventarios → Altas de campo permite:
    • abrir y corregir la ficha;
    • aprobarla, pasando a VALIDATED;
    • conciliarla con un registro existente de la misma Empresa y Área;
    • rechazarla.
  6. Conciliar o rechazar nunca elimina el registro provisional: se archiva como INACTIVE para conservar las referencias históricas.
  7. Actas y Hallazgos ya emitidos no cambian de asset_id; el vínculo con un registro existente se registra aparte mediante matched_asset_id.

Validación mínima al aprobar

La ficha debe mantener como mínimo Empresa, Área, Tipo de elemento y Nombre/código. El esquema ya exige Nombre y Código; la aprobación agrega el control explícito de Empresa y Área.

Seguridad

  • Creación en campo: permiso assets.create + política de inspector móvil.
  • Bandeja: assets.read.
  • Aprobar, conciliar y rechazar: assets.change_status.
  • No se agregan permisos nuevos ni se amplían roles en esta fase.

Persistencia

Nueva tabla asset_field_discoveries, append-preserving, con estado PENDING | APPROVED | MATCHED | REJECTED, visita, inspector, decisión de oficina y eventual coincidencia.

SMTP no forma parte de esta fase y puede continuar sin configurar.

Parche 23.1

El enlace del objeto provisional con inspection_visit_assets y inspection_act_assets se aisló en FieldDiscoveryInspectionLinkService, manteniendo AssetsService libre de escrituras directas sobre tablas de inspección y conservando el test arquitectónico de D5.3.14.