feat: mantenimiento cierra Fase 1; sin Flows, todo en chat

Mantenimiento no abre ni cierra ciclos porque no tiene tabla de ciclos: se
registra avance sobre lotes que ya tienen cantidad pendiente de asignar. Va
como flujo aparte y no dentro de ciclos, con la cantidad faltante en la
etiqueta para poder decidir sin salir de la lista.

Se descarta el camino de WhatsApp Flows: pluviometria y ciclos se quedan en
chat, que ya funcionan. Se quitan del menu las descripciones que prometian
formulario.

FLOWS-META.txt se conserva como referencia por si la decision cambia.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-19 18:28:15 -05:00
co-authored by Claude Sonnet 4.6
parent e3399cca9e
commit 356c157811
2 changed files with 69 additions and 4 deletions
+20
View File
@@ -542,6 +542,26 @@ $filas = function (int $total, bool $verTodos): int {
check('la lista corta entra en el límite de WhatsApp', $filas(10, true) <= 10, true);
check('el listado completo también', $filas(40, false) <= 10, true);
echo "\nMantenimiento (POST)\n";
$mto = $flows['registrar_mantenimiento'] ?? [];
$mf = array_column($mto['fields'] ?? [], null, 'key');
check('pide fecha, lote y cantidad', array_keys($mf), ['fecha', 'lote_id', 'cantidad']);
check('los lotes salen de los que tienen pendiente',
$mf['lote_id']['source_endpoint_key'] ?? null, 'lotes_mantenimiento_dn');
check('endpoint registrado', isset($eps['lotes_mantenimiento_dn']), true);
check('postea como labor diaria', $mto['endpoint_key'] ?? null, 'labores_up');
// El grupo se pide antes, con la misma intencion pendiente de los informes
check('pide el grupo si falta', $mto['requires'] ?? null, ['grupo_mant' => 'grupo_id']);
check('y lo resuelve con el selector', $mto['resolver'] ?? null, 'ciclo_mantenimiento');
// No va en el flujo de ciclos: no tiene apertura ni cierre
$cic = array_column($flows['registrar_ciclo']['fields'], null, 'key');
check('mantenimiento no está entre los ciclos',
in_array('mantenimiento', array_column($cic['ciclo']['options'], 'id'), true), false);
echo "\nAlcance de fincas por número\n";
/**