@ -1,85 +1,61 @@
<?php
// error_reporting(E_ALL);
// ini_set('display_errors', 1);
if (!IsAjax()) {
$tpLayout = 1;
$dac = $_REQUEST["dac"];
$idDac = $_REQUEST["idDac"];
$wipeSessionParameter = $_REQUEST['wipeSessionParameter'] ? $_REQUEST['wipeSessionParameter'] : null;
$nomeTpl = "supervisao/editaClassificado.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();
$parameters = ['idDac', 'listaClas', 'listaItem', 'regClassId'];
if (isset($_GET['audio']) ) {
$file = $_GET["audio"] ;
$filepath = VerificaCharFinal($_SESSION[SS_PRM_PATH_AUDIO]) . $file ;
if ($wipeSessionParameter) {
unset($_SESSION['parameters']);
$dados = array() ;
if (!@file_get_contents($filepath)) {
$jsStartup[] = "alert('Arquivo não encontrado!');";
} else {
DownloadAudio($file, $filepath);
exit;
foreach ($parameters as $parameter) {
if (isset($_REQUEST[$parameter])) {
$dados[$parameter] = $_REQUEST[$parameter];
}
$_SESSION['parameters'] = $dados;
}
} else {
$_SESSION['parameters']["listaClasNew"] ? $_SESSION['parameters']['listaClas'] = $_SESSION['parameters']["listaClasNew"] : '';
$_SESSION['parameters']["idItemNew"] ? $_SESSION['parameters']['listaItem'] = $_SESSION['parameters']["idItemNew"] : '';
if (IsPostBack() & & isset($_POST['bt_classifica'])) {
$_SESSION['parameters']["listaClasNew"] = $_REQUEST["listaClas"] ? $_REQUEST["listaClas"] : null;
$_SESSION['parameters']["idItemNew"] = $_REQUEST["listaItem"] ? $_REQUEST["listaItem"] : null;
}
$msg = '';
$clas = $idClas;
$clasItem = $idItem;
$wipeSessionParameter = 0; //evita que a session seja limpa.
$regClass = isset($_POST['sel']) ? $_POST['sel'] : [];
if (!count($regClass)) {
$msg = "Selecione pelo menos um registro!";
$jsStartup[] = "alert('$msg');";
} else {
// Utilizei a função extract() para criar variáveis com nomes de chaves do array e atribuir seus respectivos valores
if (isset($_SESSION['parameters'])){
extract($_SESSION['parameters']);
}
if (IsPostBack() & & isset($_POST['bt_classifica'])) {
$msg = '';
$result = pg_query($dbcon, "begin");
if (!$result) {
$msg = "Não foi possível inicar uma transaçã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) {
if (!$listaClas || !$listaItem) {
$msg = "Selecione uma classificação!";
}
if (!$msg) {
/*
* Esta informações são utilizadas no relatorio de abandonadas na fila para identificar
* qdo o agente não esta recdebendo uma chamada por não ter classificado a mesma estando
* portanto desabilitado de receber chamadas o que pode causar abandono.
* Esta informações são utilizadas para registrar quem realizou a ultima edição da classificação.
*/
$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));
$query = "UPDATE pbx_classifica_reg SET clas_id = $listaClasNew, clit_id = $idItemNew, matricula_ultimo_update = $matUser, data_ultimo_update = NOW()
WHERE id = $regClassId";
$result = pg_query($dbcon, $query);
if (array_search($matricula, $regMat) === false) {
@GetUrl(AST_REM_PAUSA, $dac, $matricula);
$regMat[] = $matricula;
}
if (!$result) {
$msg = "Não foi possível registrar a classificação!";
}
}
}
if (!$msg) {
$msg = "Registros classificados com sucesso!";
@ -87,86 +63,46 @@ if (!IsAjax()) {
} 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álidas, verifique e tente novamente!');";
} else {
$dataIni = $_POST["dataIni"];
$dataFim = $_POST["dataFim"];
}
}
$idClas = $listaClasNew ? $listaClasNew : $listaClas;
$idItemClass = $idItemNew ? $idItemNew : $listaItem;
$dtIni = FormatDtMssql($dataIni);
$dtFim = FormatDtMssql($dataFim);
$query = "SELECT b.id_bilhetes,
b.data_reg,
e.matricula AS agente,
e.nome nome_agente,
b.matricula_ultimo_update,
b.data_ultimo_update,
b.id_dac,
(SELECT nome FROM pbx_usuarios WHERE matricula = CAST(b.matricula_ultimo_update as VARCHAR)) as nome_update
FROM pbx_classifica_reg b
INNER JOIN pbx_classifica_atendimento c ON c.clas_id = b.clas_id
INNER JOIN pbx_usuarios e ON e.matricula = b.matricula
WHERE b.id = $regClassId";
$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"];
$dados = pg_fetch_array($result);
$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ário Administrador não tem permissão para acessar áudios!";
} else {
$msgAudio = "Este usuário não possui permissões para acessar á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));
$agtNome = $dados["nome_agente"];
$dt = FormataDBDataHora($dados["data_reg"]);
$matricula_ultimo_update = $dados["matricula_ultimo_update"];
$nome_update = $dados["nome_update"];
$data_ultimo_update = $dados["data_ultimo_update"] ? FormataDBDataHora($dados["data_ultimo_update"]) : " - ";
$linha = "< tr >
< td align = \"center\" > $agt - $agtNome< / td >
< td align = \"center\" > $dt< / td >
< td align = \"center\" > $matricula_ultimo_update - $nome_update< / td >
< td align = \"center\" > $data_ultimo_update< / td >
< / tr > ";
$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!");
$clasItem = GetItem($dbcon, $idClas, $idItemClass);
$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);
}
?>