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.
 
 
 
 
 
 

111 lines
3.9 KiB

<?php
$tpLayout = 1;
$plId = $_REQUEST["pl_id"];
$plDescricao = $_REQUEST["pl_descricao"];
if (isset($_POST["btIncDac"])) {
$dacs = $_POST["dacs"];
@pg_query($dbcon, 'begin');
foreach ($dacs as $idDac) {
$query = "insert into pbx_pesquisa_liberacao_dacs(pl_id, id_dac )
select '$plId', '$idDac'
where not exists(select '' from pbx_pesquisa_liberacao_dacs where id_dac = '$idDac' and pl_id = '$plId')";
$result = pg_query($dbcon, $query);
if (!$result)
break;
}
if ($result) {
@pg_query($dbcon, 'commit');
$msg = "<span style=\"color: #0000FF\">Operação realizada com sucesso!</span>";
} else {
@pg_query($dbcon, 'rollback');
$erroDb = pg_last_error($dbcon);
$msg = "<span style=\"color: #FF0000\">A operação não pode realizada!" . ($erroDb ? (" Erro: " . $erroDb) : "") . "</span>";
}
} else if (isset($_POST["btRmDac"])) {
$dacs = $_POST["dacsInc"];
@pg_query($dbcon, 'begin');
foreach ($dacs as $idDac) {
$query = "delete from pbx_pesquisa_liberacao_dacs where id_dac = '$idDac' and pl_id = '$plId' ";
$result = pg_query($dbcon, $query);
if (!$result) break;
$query = "update pbx_queues_grupos set id_pesquisa_liberacao = null where id = '{$idDac}' and id_pesquisa_liberacao = '{$plId}'";
$result = pg_query($dbcon, $query);
if (!$result) break;
}
if ($result) {
@pg_query($dbcon, 'commit');
$msg = "<span style=\"color: #0000FF\">Operação realizada com sucesso!</span>";
} else {
@pg_query($dbcon, 'rollback');
$erroDb = pg_last_error($dbcon);
$msg = "<span style=\"color: #FF0000\">A operação não pode realizada!" . ($erroDb ? (" Erro: " . $erroDb) : "") . "</span>";
}
}
$dacs = GetDacPesqClas($dbcon, $plId);
$dacsIncs = GetDacPesqClasInc($dbcon, $plId);
$smarty->assign("pl_id", $plId);
$smarty->assign("pl_descricao", $plDescricao);
$smarty->assign("dacs", $dacs);
$smarty->assign("dacsIncs", $dacsIncs);
$smarty->assign("erro", $msg);
GetTemplate($smarty, 'pesquisa/pesquisaDacs.htm');
function GetDacPesqClas($dbcon, $plId) {
$query = "select distinct id, nome as nome, 'Receptivo' as tipo
from pbx_dacs d
where status = 'A'
and id not in(select id_dac from pbx_pesquisa_liberacao_dacs where pl_id = $plId and id_dac = d.id)
order by 2";
//echo $query;
$result = pg_query($dbcon, $query);
$dacs = "<select name=\"dacs[]\" id=\"dacs\" size=\"6\" multiple=\"multiple\" style=\"width:250px;\" >";
while ($dados = pg_fetch_row($result)) {
$dacs .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
$cont++;
}
$dacs .= "</select>";
return $dacs;
}
function GetDacPesqClasInc($dbcon, $plId) {
/*
* Carrega lista de dacs disponivel
* para ser inserdo entre as tags <select></select>
*/
$isAdm = (IsAdmin() && !$matricula);
$matricula = GetMatricula();
$query = "select distinct id, nome as nome, 'Receptivo' as tipo
from pbx_dacs d
where status = 'A'
and id in(select id_dac from pbx_pesquisa_liberacao_dacs where pl_id = $plId and id_dac = d.id)
order by 2";
//echo $query;
$result = pg_query($dbcon, $query);
$dacs = "<select name=\"dacsInc[]\" id=\"dacsInc\" size=\"6\" multiple=\"multiple\" style=\"width:250px;\" >";
while ($dados = pg_fetch_row($result)) {
$dacs .= "<option value=\"$dados[0]\" $sel>$dados[1]</option>";
$cont++;
}
$dacs .= "</select>";
return $dacs;
}
?>