Muestra las diferencias entre dos versiones de la página.
| — |
ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:flujo-de-entrega [2026/05/07 17:25] (actual) 192.168.175.130 creado |
||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ====== Flujo clave: entrega ====== | ||
| + | |||
| + | ===== Propósito ===== | ||
| + | |||
| + | Describir el recorrido real de una entrega desde la detección de peso hasta el guardado local y sincronización. | ||
| + | |||
| + | ===== Resumen ===== | ||
| + | |||
| + | - ''WaitingForWeight'': espera peso estable para iniciar un intento. | ||
| + | - ''CaptureImages'': toma snapshot de frente y trasera en ''NV21'' desde ''CameraFramesChannel''. | ||
| + | - ''ComparingWeights'': valida rangos de peso contra configuración. | ||
| + | - ''CaptureFace'': detecta rostro sobre ''NV21'' frontal y valida cobertura (muy lejos/muy cerca). | ||
| + | - ''GenerateEmbedding'': genera embedding facial desde ''NV21'' (sin pasar por bitmap en el camino principal). | ||
| + | - ''VerifyInDatabase'': busca candidatos por similitud y aplica estrategia de match por intentos y fallbacks. | ||
| + | - ''WaitForWeightRemoved'': espera retiro del ítem para cerrar correctamente la transacción. | ||
| + | - ''SaveDelivery'': guarda entrega en DB local y persistencia de evidencia (conversión a bitmap solo al guardar). | ||
| + | |||
| + | ===== Secuencia de estados ===== | ||
| + | |||
| + | ''DomainManager'' arma y ejecuta esta secuencia: | ||
| + | |||
| + | - ''WaitingForWeight'' | ||
| + | - ''CaptureImages'' | ||
| + | - ''ComparingWeights'' | ||
| + | - ''CaptureFace'' | ||
| + | - ''GenerateEmbedding'' | ||
| + | - ''VerifyInDatabase'' | ||
| + | - ''WaitForWeightRemoved'' | ||
| + | - ''SaveDelivery'' | ||
| + | |||
| + | ===== Validación de identidad (resumen operativo) ===== | ||
| + | |||
| + | - Usa umbral base ''Model.UMBRAL'' y lo relaja por intento. | ||
| + | - Busca top-k de candidatos y prioriza candidatos del ''shift'' activo. | ||
| + | - Intenta resolver match estricto. | ||
| + | - Si falla, aplica fallbacks para enrolados (rápido, directo, ultra y temporal). | ||
| + | - Si no hay match confiable, crea beneficiario local no enrolado. | ||
| + | |||
| + | ===== Evidencias y formatos ===== | ||
| + | |||
| + | - Captura y procesamiento: ''NV21'' (''YUV_420_888'' convertido a ''NV21'' en cámara). | ||
| + | - Embedding: se calcula sobre ''NV21'' con recorte facial. | ||
| + | - Guardado de fotos: se convierte a ''Bitmap'' al persistir en disco. | ||
| + | - Formato de archivo: ''PNG'' para foto de rostro y foto de alimento. | ||
| + | |||
| + | ===== Fuentes de verdad ===== | ||
| + | |||
| + | * ''MachineDomain/src/main/java/co/ada/domain/DomainManager.kt'' | ||
| + | * ''MachineDomain/src/main/java/co/ada/domain/state/StateManager.kt'' | ||
| + | * ''MachineDomain/src/main/java/co/ada/domain/state/states/*.kt'' | ||
| + | * ''MachineDomain/src/main/java/co/ada/domain/state/states/GenerateEmbedding.kt'' | ||
| + | * ''MachineDomain/src/main/java/co/ada/domain/state/states/VerifyInDatabase.kt'' | ||
| + | * ''MachineDomain/src/main/java/co/ada/domain/state/states/SaveDelivery.kt'' | ||
| + | |||
| + | ===== Ultima verificacion ===== | ||
| + | |||
| + | * Fecha: ''2026-05-05'' | ||
| + | * Verificado contra secuencia activa en ''DomainManager'' y estados de captura/embedding/verificación. | ||