feat: flujo de registro de pluviometria (Fase 1, carga de datos)
Segundo flujo de POST: fecha una sola vez y luego los milimetros de cada finca.
collect_for_each gana tres piezas que este flujo necesitaba:
- ask_date pregunta la fecha antes del bucle (Hoy/Ayer/Anteayer/Otra), en vez
de repetirla por item o asumir hoy.
- exclude_values descarta el "Todas las fincas" (id 0) que el catalogo antepone
para los informes y que aca no es una finca real.
- El payload pasa de un array plano a {fecha, fincas:[{id,label,valor}]}, que es
lo que BotEntradaProcesador::pluviosidad() espera; ademas manda telefono y
nombre, que el controller usa para la trazabilidad en bot_entrada.
Nota: el procesador ACTUALIZA la fila de pluviosidad del dia y falla si no
existe. Queda pendiente confirmar con Palmas360 quien las crea.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
0e72aa3d5a
commit
76ee42b96e
@@ -230,6 +230,7 @@ $configJson = [
|
||||
'rows' => [
|
||||
['id' => 'subir_ciclo_cosecha', 'title' => '🌾 Ciclo cosecha', 'description' => 'Subir ciclo de cosecha'],
|
||||
['id' => 'registrar_ausentismo', 'title' => '👥 Ausentismo', 'description' => 'Registrar falta, incapacidad o permiso'],
|
||||
['id' => 'registrar_pluviometria','title' => '🌧️ Pluviometría', 'description' => 'Milímetros de lluvia por finca'],
|
||||
],
|
||||
],
|
||||
],
|
||||
@@ -448,6 +449,26 @@ $configJson = [
|
||||
],
|
||||
],
|
||||
|
||||
// Pluviometría: un valor de mm por finca, todas contra la misma fecha.
|
||||
// exclude_values saca el "🌐 Todas las fincas" (id 0) que el catálogo
|
||||
// antepone para los informes y que acá no es una finca real.
|
||||
'registrar_pluviometria' => [
|
||||
'type' => 'collect_for_each',
|
||||
'source_endpoint_key' => 'fincas_dn',
|
||||
'endpoint_key' => 'pluvio_upload',
|
||||
'value_field' => 'id',
|
||||
'label_field' => 'label',
|
||||
'exclude_values' => ['0'],
|
||||
'ask_date' => true,
|
||||
'date_question' => '📅 ¿De qué fecha es la lectura?',
|
||||
'question' => '🌧️ ¿Cuántos milímetros?',
|
||||
'header' => '🌧️ Pluviometría',
|
||||
'items_key' => 'fincas',
|
||||
'success_text' => '✅ Pluviometría enviada a Palmas360.',
|
||||
'back' => 'enviar_informacion',
|
||||
'nlu_description' => 'Registrar pluviometría, lluvia o milímetros por finca',
|
||||
],
|
||||
|
||||
// Upload
|
||||
'enviar_informacion' => ['type' => 'menu', 'menu' => 'submenu_subir_ciclos', 'nlu_skip' => true, 'back' => 'show_main_menu'],
|
||||
'subir_ciclo_cosecha' => ['type' => 'function', 'function' => 'upload_ciclo', 'nlu_description' => 'Subir o enviar un ciclo de cosecha', 'params' => ['ciclo' => 'cosecha']],
|
||||
@@ -480,6 +501,7 @@ $configJson = [
|
||||
'rows' => [
|
||||
['id' => 'subir_ciclo_cosecha', 'title' => '🌾 Subir cosecha', 'description' => 'Enviar ciclo de cosecha'],
|
||||
['id' => 'registrar_ausentismo', 'title' => '👥 Ausentismo', 'description' => 'Registrar falta, incapacidad o permiso'],
|
||||
['id' => 'registrar_pluviometria','title' => '🌧️ Pluviometría', 'description' => 'Milímetros de lluvia por finca'],
|
||||
],
|
||||
],
|
||||
],
|
||||
@@ -572,6 +594,7 @@ $endpoints = [
|
||||
['key' => 'empleados_buscar_dn', 'dir' => 'download', 'url' => $BASE . '?peticion=empleados&estado=1&items=10'],
|
||||
['key' => 'novedades_ausentismo_dn', 'dir' => 'download', 'url' => $BASE . '?peticion=novedades_ausentismo_dn'],
|
||||
['key' => 'ausentismos_up', 'dir' => 'upload', 'url' => $BASE . '?peticion=ausentismos_up'],
|
||||
['key' => 'pluvio_upload', 'dir' => 'upload', 'url' => $BASE . '?peticion=pluvio_upload'],
|
||||
// Todos los lotes (PDF) por ciclo
|
||||
['key' => 'cosecha_todos_dn', 'dir' => 'download', 'url' => $BASE . '?peticion=ciclos_cosecha_dn&finca_id={finca_id}'],
|
||||
['key' => 'polinizacion_todos_dn', 'dir' => 'download', 'url' => $BASE . '?peticion=ciclos_polinizacion_dn&finca_id={finca_id}'],
|
||||
|
||||
Reference in New Issue
Block a user