From 5cea94a7a3fbe83c2b44fdb58634fcbc6ac26819 Mon Sep 17 00:00:00 2001 From: Rodrigo Bertoldo de Sousa Martins Date: Wed, 1 Apr 2026 17:28:10 -0300 Subject: [PATCH] fix suporte nomes Signed-off-by: Rodrigo Bertoldo de Sousa Martins --- src/bot/handler.js | 45 ++++++++------------------------------------- 1 file changed, 8 insertions(+), 37 deletions(-) diff --git a/src/bot/handler.js b/src/bot/handler.js index 6204483..fbaf67f 100644 --- a/src/bot/handler.js +++ b/src/bot/handler.js @@ -6253,35 +6253,14 @@ Digite /help para ver todos os comandos disponíveis! if (!session) return; if (!input) { - // Primeira vez nesta etapa - buscar funcionários ativos + // Primeira vez nesta etapa - buscar tipos de atendimento await this.bot.sendMessage(session.chatId, `🔍 Buscando técnicos disponíveis...`); try { const location = session.dados.location || ''; - // Buscar técnicos e funcionários em paralelo para comparar - const [resultadoTecnicos, resultadoFuncionarios] = await Promise.all([ - this.topsapp.obterTecnicos(location), - this.topsapp.obterFuncionarios(location) - ]); - - // DEBUG: log comparativo para identificar qual endpoint bate com o sistema - const rawTecnicos = resultadoTecnicos?.data?.dados || []; - const rawFuncionarios = resultadoFuncionarios?.data?.dados || []; - - console.log('🔍 [DEBUG] ===== ObterTecnicos ====='); - console.log('Total:', rawTecnicos.length); - rawTecnicos.forEach((t, i) => console.log(` [${i}]`, JSON.stringify(t))); - - console.log('🔍 [DEBUG] ===== ObterFuncionarios ====='); - console.log('Total:', rawFuncionarios.length); - rawFuncionarios.forEach((t, i) => console.log(` [${i}]`, JSON.stringify(t))); - - // Usar a lista que contiver os nomes esperados pelo sistema - // A lista de ObterTecnicos tem times/equipes (ex: INSTALAÇÃO-GUARAI), - // enquanto ObterFuncionarios tem pessoas (ex: MARCELA SOUSA SOARES). - // Se ObterTecnicos retornar nomes individuais, provavelmente é ObterFuncionarios que temos que usar. - const resultado = resultadoTecnicos; + // ObterSuporteTiposAtendimento retorna os "técnicos" (equipes/times) do TopSapp + const resultado = await this.topsapp.obterSuporteTiposAtendimento(location); if (!resultado.success) { await this.bot.sendMessage(session.chatId, @@ -6297,18 +6276,17 @@ Digite /help para ver todos os comandos disponíveis! if (tecnicosRaw.length === 0) { await this.bot.sendMessage(session.chatId, - `❌ **Nenhum técnico ativo encontrado**\n\n` + + `❌ **Nenhum técnico encontrado**\n\n` + `🔄 Reiniciando processo...` ); this.suporteSessions.delete(sessionId); return; } - // Normalizar campos: a API retorna id_tecnico e tecnico (nome) + // Tipos de atendimento usam campo "descricao" como nome const tecnicos = tecnicosRaw.map(t => ({ - id: t.id ?? t.id_tecnico ?? t.codigo ?? null, - nome: t.nome || t.tecnico || t.descricao || t.name || `Técnico #${t.id ?? t.id_tecnico}`, - email: t.email || null, + id: t.id ?? null, + nome: t.descricao || `Técnico #${t.id}`, _raw: t })).filter(t => t.id !== null); @@ -6327,9 +6305,6 @@ Digite /help para ver todos os comandos disponíveis! // Usuário selecionou um técnico const numero = parseInt(input.trim()); - console.log(`🔍 Técnico - Input do usuário: "${input}", Número convertido: ${numero}`); - console.log(`🔍 Técnico - Lista completa de técnicos:`, session.dados.tecnicos); - if (isNaN(numero) || numero < 1 || numero > session.dados.tecnicos.length) { await this.bot.sendMessage(session.chatId, `❌ **Número inválido**\n\n` + @@ -6339,8 +6314,6 @@ Digite /help para ver todos os comandos disponíveis! } const tecnicoSelecionado = session.dados.tecnicos[numero - 1]; - console.log(`🎯 Técnico selecionado - Índice: ${numero - 1}, Dados:`, tecnicoSelecionado); - session.dados.tecnicoSelecionado = tecnicoSelecionado; session.etapa = 'definir_data_hora'; await this.processarEtapaDefinirDataHora(sessionId); @@ -6364,9 +6337,7 @@ Digite /help para ver todos os comandos disponíveis! const buttons = []; session.dados.tecnicos.forEach((tecnico, index) => { - message += `**${index + 1}.** ${tecnico.nome}`; - if (tecnico.email) message += ` — ${tecnico.email}`; - message += `\n`; + message += `**${index + 1}.** ${tecnico.nome}\n`; buttons.push([{ text: `${index + 1}. ${tecnico.nome}`, callback_data: `suporte_tecnico_${index}` }]); });