PABX da Simples IP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

140 lines
6.3 KiB

<?php
$permiteEditarClassificacao = VerificaPerfilAcesso($dbcon, GetIdProgFromNomeArq('permEditaClassificado.php'));
if (!$permiteEditarClassificacao) {
$naoAutorizado = GetIdProgFromNomeArq('naoAutorizado.php');
header("Location: index.php?idProg=" . $naoAutorizado);
exit;
}
if ($_REQUEST['pbxRequest'] == 1) {
$tpLayout = 1;
$nomeTpl = "supervisao/editaClassificado.tpl";
$logPath = "/var/log/asterisk/edicaoClassificados.log";
if ($_REQUEST["regClassId"]){
$_SESSION['regClassId'] = $_REQUEST["regClassId"];
}
$regClassId = $_SESSION['regClassId'];
$idClass = $_REQUEST["listaClas"] ? $_REQUEST["listaClas"] : null;
$idItemClass = $_REQUEST["listaItem"] ? $_REQUEST["listaItem"] : null;
$dados = getDataClass($dbcon, $regClassId);
$oldIdClass = $dados["clas_id"];
$oldIdItemClass = $dados["clit_id"];
if (IsPostBack() && isset($_POST['bt_classifica'])) {
$registraLog = false;
$msg = '';
if ($oldIdClass == $idClass && $oldIdItemClass == $idItemClass){
$msg = "A nova classificação escolhida deve ser diferente da atual!";
} else {
$result = pg_query($dbcon, "begin");
if (!$result) {
$msg = "Não foi possível inicar uma transação no banco de dados!";
} else {
if (!$idClass || !$idItemClass) {
$msg = "Selecione uma classificação!";
}
if (!$msg) {
/*
* Esta informações são utilizadas para registrar quem realizou a ultima edição da classificação.
*/
$matUser = GetMatricula();
$query = "UPDATE pbx_classifica_reg SET clas_id = $idClass, clit_id = $idItemClass, matricula_ultimo_update = $matUser, data_ultimo_update = NOW()
WHERE id = $regClassId";
$result = pg_query($dbcon, $query);
if (!$result) {
$msg = "Não foi possível registrar a classificação!";
}
}
if (!$msg) {
$newIdClass = $idClass;
$newIdItemClass = $idItemClass;
unset($idClass, $idItemClass);
$registraLog = true;
$msg = "Registros classificados com sucesso!";
pg_query($dbcon, "commit");
} else {
pg_query($dbcon, "rollback");
}
}
}
$jsStartup[] = "alert('$msg');";
}
$dados = getDataClass($dbcon, $regClassId);
$agt = $dados["agente"];
$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"]) : " - ";
$id_ultimo_update = $dados["id_update"];
$uniqueid = $dados["id_bilhetes"];
$classificacao = $dados["classificacao"];
$itemClassificacao = $dados["item_classificacao"];
$idDac = $dados["id_dac"];
$clas = GetClassificacao($dbcon, $idClass, $idDac);
$clasItem = GetItem($dbcon, $idClass, $idItemClass);
$smarty->assign("classifica", $clas);
$smarty->assign("clas_item", $clasItem);
$smarty->assign("classificacao", $classificacao);
$smarty->assign("itemClassificacao", $itemClassificacao);
$smarty->assign("agt", $agt);
$smarty->assign("agtNome", $agtNome);
$smarty->assign("dt", $dt);
$smarty->assign("matricula_ultimo_update", $matricula_ultimo_update);
$smarty->assign("nome_update", $nome_update);
$smarty->assign("data_ultimo_update", $data_ultimo_update);
GetTemplate($smarty, $nomeTpl);
if($registraLog){
$log = sprintf("\n \n __________________________________________________________________________________________________________
\n Editado por: ID[ $id_ultimo_update ] | MATRICULA[ $matUser ] | NOME[ $nome_update ] na data [ %s ]
\n Uniqueid : [ $uniqueid ] | Id da classificacao: [ $regClassId ]
\n Classificacao anterior: [ $oldIdClass ] - [ $oldIdItemClass ]
\n Nova Classificacao: [ $newIdClass ] - [ $newIdItemClass ]
\n Permissao: $permiteEditarClassificacao",
date("Y-m-d H:i:s"));
GravaLog($log, $logPath);
}
} else {
$idClass = $_GET['idItem'];
echo GetItem($dbcon, $idClass, 0);
}
function getDataClass($dbcon, $regClassId){
$query = "SELECT b.id, b.id_bilhetes,
b.data_reg,
b.clas_id,
b.clit_id,
c.clas_descricao AS classificacao,
d.clit_descricao AS item_classificacao,
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,
(SELECT id FROM pbx_usuarios WHERE matricula = CAST(b.matricula_ultimo_update as VARCHAR)) as id_update
FROM pbx_classifica_reg b
INNER JOIN pbx_classifica_atendimento c ON c.clas_id = b.clas_id
INNER JOIN pbx_classifica_item d ON d.clit_id = b.clit_id
INNER JOIN pbx_usuarios e ON e.matricula = b.matricula
WHERE b.id = $regClassId";
$result = pg_query($dbcon, $query);
return pg_fetch_array($result);
}
?>