___FiltrosRelatorio(); /* * Inicia o relatório. */ /* * Cria os filtros */ $linha = array('LABEL'); foreach ($filtro as $values) { list($label, $value) = explode(":", $values); $linha[] = $label; } $dataRel[] = $linha; $linha = array('DADOS'); foreach ($filtro as $values) { list($label, $value) = explode(":", $values); $linha[] = $value; } $dataRel[] = $linha; /* * Esta variavel contém o nome das colunas do relatório */ $dadosCabecalio = array('Coluna1', 'Coluna2', 'ColunaN'); /* * Valores correspondem a $key do array de dados retornado por GetData(); */ $dadosField = array('coluna_1', 'coluna_2', 'coluna_n'); /* * Monta a linha de cabecalio. Dados que o primeiro elemento é "LABEL" * na impressão será destacado com negrito. */ $linha = array('LABEL'); foreach ($dadosCabecalio as $value) { $linha[] = $value; } $dataRel[] = $linha; /* * Inicializa variáveis para sumarização. */ $somaColuna2 = 0; /* * Linhas de dados. */ foreach ($this->GetData()[0] as $row) { /* * Realiza soma ou outras funções como formatação de dados. */ $somaColuna2 += $row['coluna_2']; $row['coluna_2'] = SecondToStrTime($row['coluna_n']); $linha = array('DADOS'); foreach ($dadosField as $key) { $linha[] = $row["$key"]; } $dataRel[] = $linha; } /* * Contem dados da impressão. */ $this->___dataRel[] = $dataRel; } function ___PreparaCsv() { ; } function ___PreparaGrid() { $nomeDac = ""; $dataRel = array(); $dataAgrup = array(); /* * Cria o cabeçalio da tabela de dados. */ $dadosCabecalio = array('Coluna1' => 'align="center"', 'Coluna2' => 'align="center"', 'ColunaN' => 'align="left"'); /* * Corresponde aos campos de dados retornados por GetData(). */ $dadosField = array('coluna_1' => 'align="center"', 'coluna_2' => 'align="center"', 'coluna_n' => 'align="left"'); /* * Inicia o relatório. */ $dataRel[] = ''; /* * Monta a linha de cabecalio. */ $linha = ''; foreach ($dadosCabecalio as $key => $value) { $linha .= sprintf("", $value, $key); } $linha .= ""; $dataRel[] = $linha; /* * Verifica se retornou dados */ if (!IsPostBack() || !count($this->GetData()[0])) { $dataRel[] = sprintf("
%s
%s
", count($dadosCabecalio) - 1, (!IsPostBack() ? 'Informe os parametros e clique em consultar!' : 'Nenhum registro encontado!')); $this->___dataRel[] = $dataRel; return; } $somaColuna2 = 0; /* * Linhas de dados. */ foreach ($this->GetData()[0] as $row) { $row["data"] = substr(FormataDBDataHora($row["data"]), 0, 10); $row["hora"] = str_pad($row["hora"], 2, "0", STR_PAD_LEFT); $row["tmab"] = SecondToStrTime(round(($row["tempo"] / $row["qtde"]), 0)); $somaColuna2 += $row["coluna_2"]; $row["coluna_1"] = SecondToStrTime(round($row["coluna_1"], 0)); // Formata linha de dados. $linha = ""; foreach ($dadosField as $key => $value) { $linha .= sprintf("%s", $value, $row["$key"]); } $linha .= ""; $dataRel[] = $linha; } /* * Linha de totalizacao. */ $linha = 'Total%s'; $dataRel[] = sprintf($linha, $somaColuna2); /* * Fecha relatorio. */ $dataRel[] = ''; $this->___dataRel[] = $dataRel; $dataRel = array(); } function ___PreparaHtml() { ; } function ___PreparaPdf() { ; } function ___GetDadosDb() { $dataIin = FormatDtMssql($this->___dataIni); $dataFim = FormatDtMssql($this->___dataFim); $dac = GetDacDesc($this->GetDbCon(), $this->___dac); $query = ''; $result = $this->___GetQuery($query); while ($row = pg_fetch_array($result, null, PGSQL_ASSOC)) { $dataRel[] = $row; } $this->SetData($dataRel); } public function ExecutaRelatorio() { global $jsStartup, $jsJQuery, $smarty; try { /* * Use esta função para validar dados do formulário. */ $this->___ValidaForm(); /* * Recupera os dados do banco. */ $this->___ConteudoRelatorio(); /* * Imprime relatório de acordo com a media passada. */ $conteudoRelatorio = $this->___ImprimeRelatorio(); } catch (Exception $exc) { $this->SetMsg($exc->getMessage()); $jsStartup[] = sprintf("alert('%s');", $this->GetMsg()); $this->___GravaLog(); } /* * Inclua os scripts necessários aqui. */ $jsJQuery[] = "\$('#dataIni').keypress(function(){formataDataHora(this);}) "; $jsJQuery[] = "\$('#dataFim').keypress(function(){formataDataHora(this);}) "; $smarty->assign('filtros', $this->___FiltrosRelatorio()); $smarty->assign('conteudo', $conteudoRelatorio); $smarty->assign('msg', $this->GetMsg()); GetTemplate($smarty, 'relatoriosGrid.tpl'); } } $relAbd = new RelAbandonadasFila($idProg, $dbcon, 1); $relAbd->ExecutaRelatorio(); ?>