forked from SimplesIP/pabx-app
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
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); |
|
} |
|
?>
|
|
|