feat: el check de supervisor manda sobre el trabajador vinculado

El flag ya estaba en el ERP pero el bot no lo recibia, asi que un supervisor
con su propio tercero vinculado habria quedado reportando siempre a nombre
propio: justo el caso que motivo el check.

Ahora es_supervisor viaja en la sincronizacion y desactiva el pre-llenado, de
modo que se le pregunta de quien es cada registro aunque tenga tercero.

La columna la crea el seed, como las otras dos.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-19 16:17:49 -05:00
co-authored by Claude Sonnet 4.6
parent 673c15dae3
commit e3399cca9e
3 changed files with 23 additions and 16 deletions
+6 -4
View File
@@ -71,13 +71,14 @@ class PhoneSync
$db = db();
$upsert = $db->prepare("
INSERT INTO company_phones (company_id, wa_number, label, permission_type, tercero_id, modulos_json, is_active)
VALUES (?, ?, ?, ?, ?, ?, 1)
INSERT INTO company_phones (company_id, wa_number, label, permission_type, tercero_id, modulos_json, es_supervisor, is_active)
VALUES (?, ?, ?, ?, ?, ?, ?, 1)
ON DUPLICATE KEY UPDATE
label = VALUES(label),
permission_type = VALUES(permission_type),
tercero_id = VALUES(tercero_id),
modulos_json = VALUES(modulos_json),
es_supervisor = VALUES(es_supervisor),
is_active = 1
");
@@ -86,8 +87,8 @@ class PhoneSync
$waNumber = trim($n['wa_number'] ?? '');
if ($waNumber === '') continue;
// tercero_id vinculado = perfil trabajador: el bot no le pregunta
// de quién es el registro. Sin él, es supervisor y elige.
// Un supervisor reporta por otros, así que se le pregunta de quién
// es el registro aunque tenga su propio tercero vinculado.
$tercero = !empty($n['tercero_id']) ? (int)$n['tercero_id'] : null;
$modulos = (array)($n['modulos'] ?? []);
@@ -98,6 +99,7 @@ class PhoneSync
(int)($n['permiso'] ?? 1),
$tercero,
$modulos ? json_encode($modulos) : null,
!empty($n['es_supervisor']) ? 1 : 0,
]);
$activeNumbers[] = $waNumber;
}