7.7 KiB
DH Inspección Android · release final de campo 0.19.2
Candidata vigente
- Fase funcional: Flujo final de campo · Inspección → Acta → Hallazgos → Firma.
versionName: 0.19.2.versionCode: 30.- Application ID release:
com.korexlabs.dhinspeccion. - Application ID debug/QA:
com.korexlabs.dhinspeccion.debug. - API:
https://dhv2.korexlabs.com/api/v3/.
La variante debug es independiente de la app productiva y puede instalarse para QA/presentación sin sobrescribir una instalación release histórica.
Procedimiento operativo validado
La APK 0.19.2 fija como recorrido principal de campo:
- Iniciar Inspección. Al iniciarla se habilita el circuito de Actas y Hallazgos; Inventario no es una acción independiente de la Inspección.
- Crear o abrir un Acta. Puede haber varias Actas dentro de una misma Inspección, pero sólo una puede permanecer en elaboración al mismo tiempo. La urgencia todavía no se define.
- Agregar Hallazgos. Recién desde esta acción se selecciona la Instalación/Subinstalación afectada.
- Si el elemento ya existe, se lo selecciona desde el Inventario del Área/Yacimiento de la Inspección.
- Si no existe, se da de alta desde campo sin abandonar el Acta.
- Un elemento nuevo debe completar GPS + fotografía antes de poder recibir Hallazgos.
- Al terminar el contenido del Acta se elige Urgente / No urgente y luego se usa Cerrar Acta y dejar pendiente de firma. La urgencia queda fijada con el cierre; desde ese momento el contenido queda inmutable y el estado visible es Pendiente de firma.
- La firma del Inspector y la manifestación/firma o negativa de la empresa completan el Acta, que pasa a Firmada y cerrada.
- La Inspección sólo puede cerrarse cuando todas sus Actas no canceladas están firmadas y cerradas.
La nomenclatura técnica interna de API (DRAFT, LOCKED, SEALED, etc.) no se muestra al inspector: la interfaz usa textos operativos en castellano.
Alta de Instalaciones y Subinstalaciones
El alta móvil queda alineada con el Dashboard y con las validaciones del servidor.
Instalación
- contexto territorial: Yacimiento/Área de la Inspección;
- clasificación técnica compatible;
- Nombre técnico obligatorio;
- Nombre habitual opcional;
- Descripción opcional;
- atributos técnicos definidos por el tipo; sólo los marcados como obligatorios bloquean el guardado;
- código DH generado por el sistema cuando corresponde;
- GPS de la tablet;
- fotografía obligatoria antes de crear Hallazgos.
Subinstalación
Además de lo anterior requiere elegir primero la Instalación padre. El buscador consulta mientras se escribe y cada resultado es seleccionable tocando la tarjeta.
La clasificación y los atributos se obtienen dinámicamente desde el mismo catálogo administrado por el Dashboard; la APK no mantiene listas técnicas paralelas.
Actas y firma
La terminología visible se simplifica:
DRAFT→ En elaboración;LOCKED→ Pendiente de firma;SEALED→ Firmada y cerrada.
Cerrar el contenido no cierra automáticamente la Inspección y tampoco obliga a terminar la firma en ese instante: puede continuarse con otra Acta. La urgencia se decide en ese cierre, nunca al crear el borrador. Una vez cerrado el contenido, el Acta es inmutable.
Después de la firma/cierre definitivo se mantiene el circuito documental existente: PDF del Acta e informe INF editable (DOCX) para oficina.
Castellano e identidad visual
Se revisaron las pantallas activas de campo para evitar exponer estados y opciones internas en inglés. Entre otros cambios: Pasaporte/Otro en documentos, estados de Inspección/Acta/Hallazgo en castellano, Correo electrónico, Huella de integridad y terminología de cierre orientada al usuario.
La pantalla de ingreso y el desbloqueo biométrico utilizan la identidad visual de Mendoza ya incorporada al proyecto.
Barrera obligatoria
Todo cambio Android o de API que pueda afectar al cliente móvil debe pasar Android CI / RC:
- validación de identidad, HTTPS y políticas básicas del manifest;
- Android lint;
- pruebas unitarias Android reales, con verificación de que exista al menos una prueba ejecutada;
assembleDebug;assembleReleasepara comprobar que la variante productiva compile;- empaquetado del APK debug con SHA-256 y metadata de commit/versionado.
Además, DH V2 CI debe mantener verdes API, WEB y contrato Docker/migraciones antes de promover cambios que afecten al servidor.
Firma release
La clave histórica de firma no se versiona ni se reemplaza. La CI compila la variante release para detectar roturas, pero una APK productiva que deba actualizar com.korexlabs.dhinspeccion tiene que firmarse con la clave histórica.
No se debe crear una clave nueva para resolver una falta de acceso: eso rompería la continuidad de actualización de tablets que ya tengan una versión firmada con la clave anterior.
Criterio de distribución
Antes de distribuir una APK productiva:
- todas las barreras de CI del SHA exacto deben estar verdes;
- comprobar certificado/huella de firma contra la versión histórica si se distribuirá como actualización productiva;
- realizar actualización sobre al menos una tablet con la versión productiva anterior cuando corresponda;
- ejecutar smoke funcional: ingreso, iniciar Inspección, crear Acta, seleccionar/crear Instalación o Subinstalación, GPS/foto, Hallazgo, cerrar Acta → Pendiente de firma, firma/manifestación, cierre de Acta y cierre de Inspección;
- registrar el SHA Git y SHA-256 de la APK distribuida.
Revisión 0.19.1
- Renovación de sesión coordinada entre los cuatro clientes API; no cierra sesión por pérdida de red, HTTP 429/500 o cancelación.
- Una respuesta tardía no puede restaurar una sesión cerrada ni usar la de otro inspector.
- Guardia de escrituras contra doble toque y conteo correcto de operaciones pendientes.
- Búsquedas descartan respuestas antiguas. Cambio de inspección limpia el Acta anterior.
- Mensajes visibles de permisos/GPS en evidencia y respeto de barras de sistema/teclado.
- Diez nuevas pruebas de comportamiento sobre sesión y concurrencia.
Alcance real
Esta candidata requiere conexión. No implementa trabajo offline ni cola persistente de sincronización; un fallo de red no equivale a guardado. Tras un timeout de escritura debe verificarse el registro antes de repetir. No se presenta el artefacto debug como una release productiva. La firma histórica y el smoke en tablet siguen siendo requisitos para distribuir la release final.
Segunda pasada funcional
- Coordenadas normalizadas al contrato API (6 decimales, precisión 3).
- Yacimiento seleccionable para Hallazgos y como padre explícito de nuevas Instalaciones. Se elimina el fallback que podía presentar un tipo Yacimiento como alta de Instalación.
- Formulario Datos técnicos sobre el elemento seleccionado: carga y guarda las definiciones/valores por familia mediante los endpoints existentes del Dashboard; valida obligatorios, números, Sí/No, fechas y opciones. Es un paso separado del alta estructural y GPS/foto.
- Se agregan siete pruebas para coordenadas y valores técnicos.
Revisión 0.19.2 · flujo conceptual corregido
- Se elimina Inventario de campo como acción independiente de la pantalla de Inspección.
- El alta o selección de Inventario existe únicamente dentro de Agregar Hallazgo.
- El borrador de Acta nace vacío, sin Inventario y sin urgencia predeterminada.
- La urgencia se exige al cerrar el Acta y se persiste en la misma operación que la vuelve inmutable.
inspection_acts.urgencypuede quedar pendiente durante el borrador; el bloqueo exige la decisión y calcula el vencimiento desde allí.