Browse Source

Ajuste na funcao pois as consultas para o update estavam sendo realizadas em dois momentos distintos, para corrigir mudei a logica da consulta de WITH para criacao de tabela temporaria

master
douglas.strappasson 12 months ago
parent
commit
01a97c6a5d
  1. 39
      asterisk/var_lib_asterisk/scripts/manutencaoDB/importaBilhetes.php

39
asterisk/var_lib_asterisk/scripts/manutencaoDB/importaBilhetes.php

@ -285,7 +285,16 @@ function CorrigeNumeroDestino($dbcon) {
function CorrigeNumeroDestinoImportados($dbcon)
{
$precisaCorrecao = "WITH importado_sem_corrigir AS (
// Apagar a tabela temporária
$dropTempTable = "DROP TABLE IF EXISTS temp_table_precisa_corrigir;";
if (!$result = pg_query($dbcon, $dropTempTable)) {
ibRaiseExcept("Não foi possível apagar a tabela temporária precisa_corrigir!");
}
// Criar a tabela temporária precisa_corrigir
$createTempTable = "CREATE TEMP TABLE temp_table_precisa_corrigir AS
WITH importado_sem_corrigir AS (
SELECT uniqueid FROM ast_bilhetes ab
WHERE corrige_num_destino = 0
AND EXISTS (SELECT '' FROM pbx_bilhetes WHERE id_bilhetes = ab.id_bilhetes)
@ -319,26 +328,32 @@ function CorrigeNumeroDestinoImportados($dbcon)
AND POSITION('Agent/' IN b.agente) > 0
AND a.corrige_num_destino = 0
GROUP BY a.id_bilhetes, a.uniqueid
)";
)SELECT * FROM precisa_corrigir;";
$updatePbxBilhete = $precisaCorrecao . "UPDATE pbx_bilhetes
if (!$result = pg_query($dbcon, $createTempTable)) {
ibRaiseExcept("Não foi possível criar a tabela temporária precisa_corrigir!");
}
// Atualizar a tabela pbx_bilhetes usando a tabela temporária
$updatePbxBilhete = "UPDATE pbx_bilhetes
SET dst = pc.dst
FROM precisa_corrigir pc
FROM temp_table_precisa_corrigir pc
WHERE pbx_bilhetes.uniqueid = pc.uniqueid";
$updateAstBilhete = $precisaCorrecao . "UPDATE ast_bilhetes
SET dst = pc.dst, amaflags = 99, corrige_num_destino = 1
FROM precisa_corrigir pc
WHERE ast_bilhetes.uniqueid = pc.uniqueid";
if (!$result = pg_query($dbcon, $updatePbxBilhete)) {
ibRaiseExcept("Nao possivel corrigir os bilhetes na tabela pbx_bilhetes!");
ibRaiseExcept("Não foi possível corrigir os bilhetes na tabela pbx_bilhetes!");
}
// Atualizar a tabela ast_bilhetes usando a tabela temporária
$updateAstBilhete = "UPDATE ast_bilhetes
SET dst = pc.dst, amaflags = 99, corrige_num_destino = 1
FROM temp_table_precisa_corrigir pc
WHERE ast_bilhetes.uniqueid = pc.uniqueid";
if (!$result = pg_query($dbcon, $updateAstBilhete)) {
ibRaiseExcept("Nao possivel corrigir os bilhetes na tabela ast_bilhetes!");
ibRaiseExcept("Não foi possível corrigir os bilhetes na tabela ast_bilhetes!");
}
};
}
function AtualizaPreVenda($dbcon) {
$pathLog = '/var/log/asterisk/atrualiza_prevenda.log';

Loading…
Cancel
Save