|
|
#!/usr/bin/php -q |
|
|
<?php |
|
|
include('bd.php'); |
|
|
include_once('util/util.php'); |
|
|
$log = ""; |
|
|
$ativaLog = 1; |
|
|
if ($argv[1] == 'ini') { |
|
|
$uniqueid = $argv[2]; |
|
|
$plId = $argv[3]; |
|
|
$idContato = isset($argv[4]) ? trim($argv[4]) : false; |
|
|
// |
|
|
// create table pbx_pesquisa_regitra(uniqueid varchar(32) not null primary key, id_dac int, matricula varchar(10), data_reg timestamp not null default now(), data_fim timestamp); |
|
|
|
|
|
$query = "select a.matricula, (select id from pbx_dacs where nome = a.dac) as id_dac, dac from pbx_supervisor_agentes a where uniqueid2 = '$uniqueid' "; |
|
|
$result = @pg_query($conexao, $query); |
|
|
|
|
|
if (!pg_num_rows($result)) { |
|
|
$query = "select prm_pesquisa_matricula as matricula, prm_pesquisa_id_dac as id_dac, prm_pesquisa_nome_dac as dac from pbx_parametros"; |
|
|
$result = @pg_query($conexao, $query); |
|
|
} |
|
|
$dados = pg_fetch_array($result); |
|
|
$idDac = $dados["id_dac"]; |
|
|
$mat = $dados["matricula"]; |
|
|
$dac = $dados["dac"]; |
|
|
GravaLogPesquisa($query, $ativaLog); |
|
|
|
|
|
$regData = $idContato ? "'$idContato'" : 'null'; |
|
|
$query = "insert |
|
|
into pbx_pesquisa_regitra |
|
|
(uniqueid,id_dac,matricula,data_reg,reg_data) |
|
|
values ('$uniqueid','$idDac','$mat',now(),$regData)"; |
|
|
|
|
|
$result = @pg_query($conexao, $query); |
|
|
GravaLogPesquisa($query, $ativaLog); |
|
|
|
|
|
$sqlVpsq = "SELECT uniqueid FROM pbx_pesquisa_log WHERE uniqueid = '$uniqueid'"; |
|
|
$rt = @pg_query($conexao, $sqlVpsq); |
|
|
$data = pg_fetch_assoc($rt); |
|
|
GravaLogPesquisa($sqlVpsq, $ativaLog); |
|
|
if (!$data['uniqueid']) { |
|
|
$sqlPql = sprintf("INSERT INTO pbx_pesquisa_log (uniqueid, id_dac, fila, matricula, pl_id, plog_log) VALUES ('%s', '%s', '%s','%s', '%s', '%s');", $uniqueid, $idDac, $dac, $mat, $plId, 'AUTOMATICO'); |
|
|
$rst = @pg_query($conexao, $sqlPql); |
|
|
} |
|
|
|
|
|
if (!$result || !$rst) { |
|
|
$msg = error_get_last(); |
|
|
$log = sprintf("Erro ao iniciar Pesquisa.\nQuery [%s];\nMsg[%s]\n\n", $query, $msg['message']); |
|
|
GravaLogPesquisa($log); |
|
|
} |
|
|
} else if ($argv[1] == 'fim') { |
|
|
$uniqueid = $argv[2]; |
|
|
$query = "update pbx_pesquisa_regitra |
|
|
set data_fim = now() |
|
|
where uniqueid = '$uniqueid' "; |
|
|
$result = @pg_query($conexao, $query); |
|
|
GravaLogPesquisa($query, $ativaLog); |
|
|
if (!$result) { |
|
|
$msg = error_get_last(); |
|
|
$log = sprintf("Erro ao iniciar Finalizar.\nQuery [%s];\nMsg[%s]\n\n", $query, $msg['message']); |
|
|
GravaLogPesquisa($log); |
|
|
} |
|
|
} else { |
|
|
$uniqueid = $argv[1]; |
|
|
$plId = $argv[2]; |
|
|
$ppId = $argv[3]; |
|
|
$pqId = $argv[4]; |
|
|
$poId = $argv[5]; |
|
|
|
|
|
$setNull = function($str) { |
|
|
return !$str ? 'null' : QuotedStr($str); |
|
|
}; |
|
|
|
|
|
// Transcri<EFBFBD><EFBFBD>o da resposta na pesquisa com reconecimento de voz. |
|
|
$respostaContato = $setNull((isset($argv[6]) ? trim($argv[6]) : '')); |
|
|
|
|
|
// Nome do audio que contem a resposta do entrevistado. |
|
|
$audioNome = $setNull((isset($argv[7]) ? trim($argv[7]) : '')); |
|
|
|
|
|
/* |
|
|
* Busca dados na tabela de registro que <EFBFBD> populada no inicio da pesquisa |
|
|
*/ |
|
|
$query = " select id_dac, matricula from pbx_pesquisa_regitra where uniqueid = '$uniqueid' "; |
|
|
$result = @pg_query($conexao, $query); |
|
|
$dados = pg_fetch_array($result); |
|
|
$idDac = $dados["id_dac"]; |
|
|
$mat = $dados["matricula"]; |
|
|
GravaLogPesquisa($query, $ativaLog); |
|
|
if (!$result) { |
|
|
$msg = error_get_last(); |
|
|
$log = sprintf("Erro ao carregar informa<EFBFBD><EFBFBD>es pbx_pesquisa_regitra.\nQuery [%s];\nMsg[%s]\n\n", $query, $msg['message']); |
|
|
GravaLogPesquisa($log); |
|
|
} |
|
|
|
|
|
$query = "insert |
|
|
into pbx_pesquisa_movimento |
|
|
( pl_id, pp_id, pq_id, po_id, uniqueid, user_reg, id_dac, pm_data, pm_resposta, pm_audio) |
|
|
values ('$plId', '$ppId', '$pqId', '$poId', '$uniqueid', '$mat', '$idDac', now()::date,$respostaContato, $audioNome)"; |
|
|
$result = @pg_query($conexao, $query); |
|
|
GravaLogPesquisa($query, $ativaLog); |
|
|
if (!$result) { |
|
|
$msg = error_get_last(); |
|
|
$log = sprintf("Erro ao gravar pbx_pesquisa_movimento.\nQuery [%s];\nMsg[%s] Resposta: %s Audio: %s \n\n", $query, $msg['message'], $respostaContato, $audioNome); |
|
|
GravaLogPesquisa($log); |
|
|
} |
|
|
} |
|
|
|
|
|
function GravaLogPesquisa($log, $ativaLog = 1) { |
|
|
$path = "/var/log/asterisk/pesquisa_ura.log"; |
|
|
if ($ativaLog) { |
|
|
$arq = fopen($path, 'a'); |
|
|
fwrite($arq, (trim($log) . "\n")); |
|
|
fclose($arq); |
|
|
} |
|
|
} |
|
|
?>
|
|
|
|