/** * Script para corrigir registros existentes com SITUACAO = NULL * * Uso: node scripts/corrigir-situacao.js [schema] * Ex: node scripts/corrigir-situacao.js novo * Ex: node scripts/corrigir-situacao.js novo at */ require('dotenv').config({ path: require('path').resolve(__dirname, '../.env') }); const db = require('../src/database'); async function main() { const alias = process.argv[2] || 'novo'; const schema = process.argv[3] ? process.argv[3].trim() : ''; const dot = schema ? '.' : ''; console.log(`📌 Corrigindo registros no alias "${alias}"${schema ? ', schema "' + schema + '"' : ''}...\n`); // 1. Corrigir CHATC2_INSTANCIAS sem INS_SITUACAO const sql1 = `UPDATE ${schema}${dot}"CHATC2_INSTANCIAS" SET "INS_SITUACAO" = 'A' WHERE "INS_SITUACAO" IS NULL OR "INS_SITUACAO" = ''`; console.log(`📌 ${sql1}`); try { const r1 = await db.execute(alias, sql1); console.log(`✅ CHATC2_INSTANCIAS: ${r1.affectedRows} registro(s) atualizado(s)`); } catch (e) { console.log(`⚠️ CHATC2_INSTANCIAS: ${e.message.substring(0, 100)}`); } // 2. Corrigir CHATC2_CONVERSAS sem CON_SITUACAO const sql2 = `UPDATE ${schema}${dot}"CHATC2_CONVERSAS" SET "CON_SITUACAO" = 'A' WHERE "CON_SITUACAO" IS NULL OR "CON_SITUACAO" = ''`; console.log(`📌 ${sql2}`); try { const r2 = await db.execute(alias, sql2); console.log(`✅ CHATC2_CONVERSAS: ${r2.affectedRows} registro(s) atualizado(s)`); } catch (e) { console.log(`⚠️ CHATC2_CONVERSAS: ${e.message.substring(0, 100)}`); } // 3. Corrigir CHATC2_CONVERSAS_MENSAGENS sem CME_SITUACAO const sql3 = `UPDATE ${schema}${dot}"CHATC2_CONVERSAS_MENSAGENS" SET "CME_SITUACAO" = 'A' WHERE "CME_SITUACAO" IS NULL OR "CME_SITUACAO" = ''`; console.log(`📌 ${sql3}`); try { const r3 = await db.execute(alias, sql3); console.log(`✅ CHATC2_CONVERSAS_MENSAGENS: ${r3.affectedRows} registro(s) atualizado(s)`); } catch (e) { console.log(`⚠️ CHATC2_CONVERSAS_MENSAGENS: ${e.message.substring(0, 100)}`); } // 4. Verifica conversa 61111 especificamente const sql4 = `SELECT "CON_CODIGO_ID", "CON_SITUACAO", "CON_STATUS" FROM ${schema}${dot}"CHATC2_CONVERSAS" WHERE "CON_CODIGO_ID" = '61111'`; console.log(`📌 ${sql4}`); try { const conv = await db.query(alias, sql4); if (conv.length > 0) { console.log(`\n📋 Conversa 61111: SITUACAO=${conv[0].CON_SITUACAO || 'NULL'}, STATUS=${conv[0].CON_STATUS}`); // Conta mensagens const sql5 = `SELECT COUNT(*) AS CT FROM ${schema}${dot}"CHATC2_CONVERSAS_MENSAGENS" WHERE "CME_CONVERSA_ID" = '61111' AND "CME_SITUACAO" = 'A'`; console.log(`📌 ${sql5}`); const msgs = await db.query(alias, sql5); console.log(`📋 Mensagens ativas na conversa 61111: ${msgs[0]?.CT || 0}`); } else { console.log(`\n❌ Conversa 61111 não encontrada`); } } catch (e) { console.log(`⚠️ Verificação 61111: ${e.message.substring(0, 100)}`); } console.log(`\n✅ Correção concluída!`); process.exit(0); } main().catch(err => { console.error(`❌ Erro: ${err.message}`); process.exit(1); });