REFACTOR: IF das entidades refatorado para receber id e name.

- processController e glpiModel alterados para receber id e name.
This commit is contained in:
Gabriel Amancio 2025-10-15 08:41:24 -03:00
parent b88c6fdb9e
commit c41c099e92
2 changed files with 9 additions and 9 deletions

View File

@ -221,17 +221,17 @@ const processAtendimento = async (ticketData) => {
const selectedEntityCodServico = await glpiModel.selectEntityId(ticketData.codigo_servico); const selectedEntityCodServico = await glpiModel.selectEntityId(ticketData.codigo_servico);
// Prioriza a entidade do serviço; se não existir tenta pelo cliente; fallback para 0 // Prioriza a entidade do serviço; se não existir tenta pelo cliente; fallback para 0
if (selectedEntityCodServico.include(ticketData.codigo_cliente)) { if (selectedEntityCodServico.name.include(ticketData.codigo_cliente)) {
ticketData.entidades_id = selectedEntityCodServico; ticketData.entidades_id = selectedEntityCodServico.id;
logInfo(`Entidade encontrada por serviço: ${selectedEntityCodServico}`); logInfo(`Entidade encontrada por serviço: ${selectedEntityCodServico.name}`);
} else { } else {
const selectedEntityCodCliente = await glpiModel.selectEntityId(ticketData.codigo_cliente); const selectedEntityCodCliente = await glpiModel.selectEntityId(ticketData.codigo_cliente);
if (selectedEntityCodCliente) { if (selectedEntityCodCliente) {
ticketData.entidades_id = selectedEntityCodCliente; ticketData.entidades_id = selectedEntityCodCliente.id;
logInfo(`Entidade encontrada por cliente: ${selectedEntityCodCliente}`); logInfo(`Entidade encontrada por cliente: ${selectedEntityCodCliente.name}`);
} else { } else {
ticketData.entidades_id = 0; ticketData.entidades_id = 0;
logInfo(`Nenhuma entidade encontrada para serviço="${ticketData.codigo_servico}" ou cliente="${ticketData.codigo_cliente}", atribuindo 0`); logInfo(`Nenhuma entidade encontrada para serviço="${ticketData.codigo_servico}" ou cliente="${ticketData.codigo_cliente}", atribuindo contratos ativos`);
} }
} }
await createGlpiTicket(ticketData); await createGlpiTicket(ticketData);

View File

@ -66,8 +66,8 @@ class GlpiModel {
static async selectEntityId(id) { static async selectEntityId(id) {
const query = `SELECT id FROM glpi_entities WHERE name LIKE ? OR name LIKE ? LIMIT 1;`; const query = `SELECT id, name FROM glpi_entities WHERE name LIKE ? OR name LIKE ? LIMIT 1;`;
const values = [`%${id} -%`, `%${id}-%`]; const values = [`${id} -%`, `${id}-%`];
try { try {
const [rows] = await pool.execute(query, values); const [rows] = await pool.execute(query, values);
@ -79,7 +79,7 @@ class GlpiModel {
logInfo(`Entidade encontrada para: ${id}`); logInfo(`Entidade encontrada para: ${id}`);
return Number(rows[0].id); return { id: Number(rows[0].id), name: rows[0].name };
} catch (err) { } catch (err) {
logError(`Erro ao buscar entidade: ${err}`); logError(`Erro ao buscar entidade: ${err}`);
throw err; throw err;