75 lines
3.1 KiB
JavaScript
75 lines
3.1 KiB
JavaScript
/**
|
|
* Script para corrigir registros existentes com SITUACAO = NULL
|
|
*
|
|
* Uso: node scripts/corrigir-situacao.js <alias> [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);
|
|
});
|