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.
 
 
 
 
 
 

118 lines
4.4 KiB

<?php
/*
* Function interna
*/
function GetPesquisaRel($db, $plId, $matricula = null)
{
$ret = "";
$sel = "";
$org_id = GetOrganizacao();
$query = sprintf("SELECT DISTINCT a.pl_id, pl_descricao, pl_data_inicio, pl_data_fim, b.pp_id, b.pp_nome
FROM pbx_pesquisa_liberacao a
INNER JOIN pbx_pesquisa b ON a.pp_id = b.pp_id
INNER JOIN pbx_pesquisa_movimento f ON a.pp_id = f.pp_id
INNER JOIN pbx_usuarios c ON matricula = f.user_reg
INNER JOIN pbx_grupo_usuario d ON d.user_id = c.id
INNER JOIN pbx_fila_grupos e ON e.gp_id = d.gp_id
WHERE EXISTS(SELECT '' FROM pbx_pesquisa_movimento WHERE pl_id = a.pl_id AND e.id = id_dac)
%s
AND a.org_id = $org_id
", $matricula ? "and c.matricula = '$matricula'" : "");
$result = pg_query($db, $query);
if (!$plId) {
$ret = '<option value="0" selected="selected">---------------------</option>';
}
while ($linhaBd = pg_fetch_array($result)) {
$id = sprintf('%s|%s|%s|%s|%s|%s', $linhaBd["pl_id"], $linhaBd["pl_descricao"], FormataDataDbDataDisplay($linhaBd["pl_data_inicio"]), FormataDataDbDataDisplay($linhaBd["pl_data_fim"]), $linhaBd["pp_id"], $linhaBd["pp_nome"]);
$sel = $plId == $linhaBd["pl_id"] ? 'selected="selected"' : "";
$ret .= sprintf('<option value="%s" %s>%s</option>', RemoveAcentos($id), $sel, $linhaBd["pl_descricao"]);
}
return $ret;
}
function GetDadosPesq($db, $lst, &$plId, &$plDescricao, &$ppId, &$ppNome, &$datas)
{
$dados = explode("|", $lst);
$plId = $dados[0];
$plDescricao = $dados[1];
$datas[0] = $dados[2];
$datas[1] = $dados[3];
$ppId = $dados[4];
$ppNome = $dados[5];
}
function GetPesquisaDac($db, $idDac)
{
$ret = "";
$sel = "";
$login = GetLogin();
$login = IsAdmin() ? "apelido" : "'$login'";
$query = " select distinct id_dac, nome_dac
from pbx_usuarios_dacs a
where apelido = $login
and exists(select '' from pbx_pesquisa_movimento where id_dac = a.id_dac)";
$result = pg_query($db, $query);
$numRows = pg_num_rows($result);
//if(IsAdmin())echo $query;
if ((!$idDac) && ($numRows > 1)) {
$ret = '<option value="0" selected="selected">---------------------</option>';
}
while ($linhaBd = pg_fetch_array($result)) {
$id = $linhaBd["id_dac"];
$sel = ($idDac == $linhaBd["id_dac"]) || ($numRows == 1) ? 'selected="selected"' : "";
$ret .= sprintf('<option value="%s" %s>%s</option>', $id, $sel, $linhaBd["nome_dac"]);
}
return $ret;
}
function GetPesquisaAgente($db, $plId, $matricula, $idDac, $dtIni, $dtFim, $incTodos = 0)
{
$ret = "";
$sel = "";
$dataIni = soNumero($dtIni) == "" ? "null" : "'$dtIni'";
$dataFim = soNumero($dtFim) == "" ? "null" : "'$dtFim'";
$idDac = !$idDac ? "null" : $idDac;
$plId = !$plId ? "null" : $plId;
$org_id = GetOrganizacao();
$query = "SELECT matricula, apelido
FROM pbx_usuarios a
INNER JOIN pbx_organizacao_usuarios ou ON ou.id_usuario = a.id
WHERE EXISTS
(SELECT ''
FROM pbx_pesquisa_movimento
WHERE pl_id = coalesce($plId,pl_id)
AND id_dac = coalesce($idDac, id_dac)
AND user_reg = a.matricula
AND pm_data >= coalesce($dataIni, pm_data)
AND pm_data <= coalesce($dataFim, pm_data)
)
AND ou.id_organizacao = $org_id
ORDER BY apelido";
$result = pg_query($db, $query);
//if(IsAdmin())echo $query;
if ($incTodos) {
$ret = "<option value=\"0\" $sel>Todos</option>";
}
$mat = $matricula;
while ($linhaBd = pg_fetch_array($result)) {
$id = $linhaBd["matricula"];
$sel = ($matricula == $linhaBd["matricula"]) ? 'selected="selected"' : "";
$ret .= sprintf('<option value="%s" %s>%s</option>', $id, $sel, $linhaBd["apelido"]);
$mat = 1;
}
if (!$mat) {
$ret = '<option value="0" selected="selected">---------------------</option>';
}
return $ret;
}