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.

103 lines
3.3 KiB

<?php
$tpLayout = 1;
$msg = "Configura a Ordena<EFBFBD><EFBFBD>o dos Relat<EFBFBD>rios";
$idRel = IsPostBack() ? $_POST['idRel'] : $_GET['idRel'];
$nomeRelatorio = GetDispProgSel($idRel);
/*
* Adciona colunas para ordena<EFBFBD><EFBFBD>o
*/
if (isset($_POST['btAddColuna'])) {
if (empty($_POST['lstColunaDisp'])) {
$msg = ('Selecione uma Coluna!');
} else {
//Pega a ultima sequencia
$seq = GetMaxOrdena($dbcon, $idRel);
$colunas = $_POST['lstColunaDisp'];
foreach ($colunas as $coluna) {
$arCols = explode('|', $coluna);
//select ord_id, ords_seq, ords_ordem from pbx_relatorio_ordena_set order by ords_seq
$query = 'insert into pbx_relatorio_ordena_set(ord_id, ord_rel_id, ords_seq, ords_ordem)values(%s, %s, %s, 0)';
$query = sprintf($query, $arCols[0], $arCols[1], ++$seq);
$result = pg_query($dbcon, $query);
}
}
}
/*
* Remove colunas para ordena<EFBFBD><EFBFBD>o
*/
if (isset($_POST['btRemColuna'])) {
if (empty($_POST['lstColunaSel'])) {
$msg = ('Selecione uma Coluna!');
} else {
//Pega a ultima sequencia
$seq = GetMaxOrdena($dbcon, $idRel);
$colunas = $_POST['lstColunaSel'];
foreach ($colunas as $coluna) {
$query = "delete from pbx_relatorio_ordena_set where ord_id = '$coluna'";
$result = pg_query($dbcon, $query);
}
}
}
$smarty->assign('nomeRelatorio', $nomeRelatorio);
$smarty->assign('idRel', $idRel);
$smarty->assign('listaDisp', GetColunasRelatorio($dbcon, $idRel));
$smarty->assign('listaInc', GetColunasRelatorioInc($dbcon, $idRel));
$smarty->assign('msg', $msg);
GetTemplate($smarty, 'relOrdena.tpl');
function GetColunasRelatorio($dbcon, $idRel) {
$query = "select ord_id, ord_rel_id, ord_nome_coluna, ord_display_coluna
from pbx_relatorio_ordena a
where ord_rel_id = '$idRel'
and not exists(select '' from pbx_relatorio_ordena_set where ord_id = a.ord_id)
order by ord_display_coluna
";
$result = pg_query($dbcon, $query);
$opt = '';
while ($row = pg_fetch_array($result)) {
$id = sprintf('%s|%s|%s', $row['ord_id'], $row['ord_rel_id'], $row['ord_nome_coluna']);
$disp = $row['ord_display_coluna'];
$opt .= sprintf('<option value="%s">%s</option>', $id, $disp);
}
return $opt;
}
function GetColunasRelatorioInc($dbcon, $idRel) {
$query = "select a.ord_id, a.ord_rel_id, a.ord_nome_coluna, a.ord_display_coluna
from pbx_relatorio_ordena a, pbx_relatorio_ordena_set b
where b.ord_id = a.ord_id
and a.ord_rel_id = '$idRel'
order by ords_seq";
$result = pg_query($dbcon, $query);
$opt = '';
while ($row = pg_fetch_array($result)) {
$id = $row['ord_id'];
$disp = $row['ord_display_coluna'];
$opt .= sprintf('<option value="%s">%s</option>', $id, $disp);
}
return $opt;
}
function GetMaxOrdena($dbcon, $idRel) {
$query = "select max(ords_seq) as ords_seq
from pbx_relatorio_ordena_set a
where a.ord_rel_id = '$idRel'";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
return !$row[0] ? 0 : $row[0];
}
?>