|
|
|
|
<?php
|
|
|
|
|
// error_reporting(E_ALL);
|
|
|
|
|
// ini_set('display_errors', 1);
|
|
|
|
|
if (!IsAjax()) {
|
|
|
|
|
|
|
|
|
|
$tpLayout = 1;
|
|
|
|
|
$dac = $_REQUEST["dac"];
|
|
|
|
|
$idDac = $_REQUEST["idDac"];
|
|
|
|
|
$nomeTpl = "supervisao/naoClassificado.tpl";
|
|
|
|
|
$linhaSumario = "<tr><td align=\"center\" colspan=\"6\">%s</td></tr>";
|
|
|
|
|
$idClas = isset($_REQUEST['listaClas']) ? $_REQUEST['listaClas'] : 0;
|
|
|
|
|
$idItem = isset($_REQUEST['listaItem']) ? $_REQUEST['listaItem'] : 0;
|
|
|
|
|
$regCad = array();
|
|
|
|
|
|
|
|
|
|
if (isset($_GET['audio'])) {
|
|
|
|
|
$file = $_GET["audio"];
|
|
|
|
|
$filepath = VerificaCharFinal($_SESSION[SS_PRM_PATH_AUDIO]) . $file;
|
|
|
|
|
|
|
|
|
|
if (!@file_get_contents($filepath)) {
|
|
|
|
|
$jsStartup[] = "alert('Arquivo n<EFBFBD>o encontrado!');";
|
|
|
|
|
} else {
|
|
|
|
|
DownloadAudio($file, $filepath);
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (IsPostBack() && isset($_POST['bt_classifica'])) {
|
|
|
|
|
|
|
|
|
|
$msg = '';
|
|
|
|
|
$clas = $idClas;
|
|
|
|
|
$clasItem = $idItem;
|
|
|
|
|
|
|
|
|
|
$regClass = isset($_POST['sel']) ? $_POST['sel'] : [];
|
|
|
|
|
|
|
|
|
|
if (!count($regClass)) {
|
|
|
|
|
$msg = "Selecione pelo menos um registro!";
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
} else {
|
|
|
|
|
$result = pg_query($dbcon, "begin");
|
|
|
|
|
|
|
|
|
|
if (!$result) {
|
|
|
|
|
$msg = "N<EFBFBD>o foi poss<EFBFBD>vel inicar uma transa<EFBFBD><EFBFBD>o no banco de dados!";
|
|
|
|
|
} else {
|
|
|
|
|
$regMat = array();
|
|
|
|
|
foreach ($regClass as $value) {
|
|
|
|
|
$reg = explode("|", $value);
|
|
|
|
|
$matricula = $reg[0];
|
|
|
|
|
$uniqueid = $reg[1];
|
|
|
|
|
$regCad[] = $uniqueid;
|
|
|
|
|
|
|
|
|
|
if (!$clas || !$clasItem) {
|
|
|
|
|
$msg = "Selecione uma classifica<EFBFBD><EFBFBD>o!";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$msg) {
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Esta informa<EFBFBD><EFBFBD>es s<EFBFBD>o utilizadas no relatorio de abandonadas na fila para identificar
|
|
|
|
|
* qdo o agente n<EFBFBD>o esta recdebendo uma chamada por n<EFBFBD>o ter classificado a mesma estando
|
|
|
|
|
* portanto desabilitado de receber chamadas o que pode causar abandono.
|
|
|
|
|
*/
|
|
|
|
|
$matUser = GetMatricula();
|
|
|
|
|
$query = "update pbx_registra_classificacao set rgc_saida = now(), matricula_reg = '$matUser' where uid = '$uniqueid' and rgc_saida is null";
|
|
|
|
|
pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
$query = "insert
|
|
|
|
|
into pbx_classifica_reg(matricula, clas_id, clit_id, id_bilhetes, id_dac, contrib_id, mun_id)
|
|
|
|
|
values(%s, %s, %s, %s, %s, '0', '0' )";
|
|
|
|
|
|
|
|
|
|
$query = sprintf($query, QuotedStr($matricula), QuotedStr($clas), QuotedStr($clasItem), QuotedStr($uniqueid), QuotedStr($idDac));
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
if (array_search($matricula, $regMat) === false) {
|
|
|
|
|
@GetUrl(AST_REM_PAUSA, $dac, $matricula);
|
|
|
|
|
$regMat[] = $matricula;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$result) {
|
|
|
|
|
$msg = "N<EFBFBD>o foi poss<EFBFBD>vel registrar a classifica<EFBFBD><EFBFBD>o!";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!$msg) {
|
|
|
|
|
$msg = "Registros classificados com sucesso!";
|
|
|
|
|
pg_query($dbcon, "commit");
|
|
|
|
|
} else {
|
|
|
|
|
pg_query($dbcon, "rollback");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$dataIni = date('d/m/Y');
|
|
|
|
|
$dataFim = date('d/m/Y');
|
|
|
|
|
|
|
|
|
|
if (isset($_POST['btConsulta'])) {
|
|
|
|
|
if (!is_date($_POST["dataIni"]) || !is_date($_POST["dataFim"])) {
|
|
|
|
|
$jsStartup[] = "alert('Datas inv<EFBFBD>lidas, verifique e tente novamente!');";
|
|
|
|
|
} else {
|
|
|
|
|
$dataIni = $_POST["dataIni"];
|
|
|
|
|
$dataFim = $_POST["dataFim"];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$dtIni = FormatDtMssql($dataIni);
|
|
|
|
|
$dtFim = FormatDtMssql($dataFim);
|
|
|
|
|
|
|
|
|
|
$query = sprintf("select id_bilhetes, data_bilhete, calldate, origem, destino, uniqueid, fila, agente, nome_agente, audio,(strtoint(tempo_atendimento) * interval '1 second')as tempo_atendimento, evento "
|
|
|
|
|
. " from pbx_nao_classificado where fila = %s and data_bilhete >= %s and data_bilhete <= %s ", QuotedStr($dac), QuotedStr($dtIni), QuotedStr($dtFim));
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
$linhas = '';
|
|
|
|
|
$imp = 0;
|
|
|
|
|
$downloadAudio = VerificaPerfilAcesso($dbcon, GetIdProgFromNomeArq('downloadAudio.php'));
|
|
|
|
|
$acessoAudio = GetAcessoAudio($dac);
|
|
|
|
|
while ($dados = pg_fetch_array($result)) {
|
|
|
|
|
$uid = $dados["uniqueid"];
|
|
|
|
|
$agt = $dados["agente"];
|
|
|
|
|
$agtNomte = $dados["nome_agente"];
|
|
|
|
|
$dt = FormataDBDataHora($dados["calldate"]);
|
|
|
|
|
$duracao = $dados["tempo_atendimento"];
|
|
|
|
|
$fone = array_search($dados["evento"], array('COMPLETEAGENT', 'COMPLETECALLER', 'COMPLETECALLERRAMAL', 'TRANSFER')) !== false ? $dados["origem"] : $dados["destino"];
|
|
|
|
|
$audio = $dados["audio"];
|
|
|
|
|
$sel = array_search($uid, $regCad) !== false ? 'checked="checked"' : '';
|
|
|
|
|
$check = sprintf("<input type=\"checkbox\" name=\"sel[]\" id=\"sel\" value=\"%s|%s\" %s/>", $agt, $uid, $sel);
|
|
|
|
|
|
|
|
|
|
if (!$downloadAudio || IsAdmin() || !$acessoAudio) {
|
|
|
|
|
if (IsAdmin()) {
|
|
|
|
|
$msgAudio = "Usu<EFBFBD>rio Administrador n<EFBFBD>o tem permiss<EFBFBD>o para acessar <EFBFBD>udios!";
|
|
|
|
|
} else {
|
|
|
|
|
$msgAudio = "Este usu<EFBFBD>rio n<EFBFBD>o possui permiss<EFBFBD>es para acessar <EFBFBD>udios!";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$audio = sprintf("<img src=\"imgSite/lockClose.gif\" width=\"22\" height=\"22\" title=\"%s\" border=\"0\">", $msgAudio);
|
|
|
|
|
} else {
|
|
|
|
|
$audio = "<a href=\"index.php?idProg=192&audio=$audio&dac=$dac\" style=\"color: #000;\">" . "<img src=\"imgSite/sound22.png\" width=\"22\" height=\"22\" border=\"0\">" . "</a>";
|
|
|
|
|
}
|
|
|
|
|
$linha = sprintf("<tr>
|
|
|
|
|
<td align=\"left\">$check</td>
|
|
|
|
|
<td align=\"left\">$agt/$agtNomte</td>
|
|
|
|
|
<td align=\"left\">$dt</td>
|
|
|
|
|
<td align=\"center\">$duracao</td>
|
|
|
|
|
<td align=\"center\">%s</td>
|
|
|
|
|
<td align=\"center\">$audio</td>
|
|
|
|
|
</tr>", ocultarTelefone($fone));
|
|
|
|
|
$linhas .= $linha;
|
|
|
|
|
$imp++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$jsJQuery[] = "\$('#dataIni').keypress(function(){formataDataHora(this);}) ";
|
|
|
|
|
$jsJQuery[] = "\$('#dataFim').keypress(function(){formataDataHora(this);}) ";
|
|
|
|
|
$clas = GetClassificacao($dbcon, $idClas, $idDac);
|
|
|
|
|
$clasItem = GetItem($dbcon, $idClas, $idItem);
|
|
|
|
|
if (!$imp)
|
|
|
|
|
$linhas = sprintf($linhaSumario, "Nenum registro encontrado!");
|
|
|
|
|
$smarty->assign("linhas", $linhas);
|
|
|
|
|
$smarty->assign("classifica", $clas);
|
|
|
|
|
$smarty->assign("clas_item", $clasItem);
|
|
|
|
|
$smarty->assign("dac", $dac);
|
|
|
|
|
$smarty->assign("idDac", $idDac);
|
|
|
|
|
$smarty->assign("dataFim", $dataFim);
|
|
|
|
|
$smarty->assign("dataIni", $dataIni);
|
|
|
|
|
GetTemplate($smarty, $nomeTpl);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$idClas = $_GET['idItem'];
|
|
|
|
|
echo GetItem($dbcon, $idClas, 0);
|
|
|
|
|
}
|
|
|
|
|
?>
|