source: trunk/workflow/inc/report/includes/php/listagem/lst_cadastro.php @ 5307

Revision 5307, 18.6 KB checked in by pereira.jair, 12 years ago (diff)

Ticket #2416 - Inclusao da nova ferramenta de relatorios do workflow.

Line 
1<?php
2
3$form           = new Formulario("FrmCadListagem");
4$form->setAction($BASE_URL);
5$listagem       = new Listagem("listResultado","Listagens",$conn);
6$listagem->setUrlBasePath($GLOBALS['phpgw_info']['server']['webserver_url'] . "/workflow/inc/report");
7
8$acao = $_POST['FrmCadListagem_acao'];
9if ($acao == "") { $acao = $_GET['acao']; }
10if ($acao == "") { $acao = $_POST['acao']; }
11$lstoid = $_POST['lstoid'];
12if ($lstoid == "") { $lstoid = $_GET['lstoid']; }
13
14
15    if ($acao == "alterarStatus") {
16        $lstidlistagem = $_POST['lstidlistagem'];
17        $novostatus = $_POST['novostatus'];
18        $ret = atualizaStatus(array("$lstidlistagem"),$novostatus);
19        $msg = "Status Alterado com Sucesso!";
20        $acao = "editar";
21    }
22       
23
24    if (($acao == "editar") || ($form->isSubmit("atualizar_listagem",true))) {
25
26        $lstidlistagem = $_POST['lstidlistagem'];
27        $lstversao = $_POST['lstversao'];
28        $lstnome = $_POST['lstnome'];
29        $lsttitulo = $_POST['lsttitulo'];
30        $lstsql = $_POST['lstsql'];
31       
32        $lstmsg_totalizador = $_POST['lstmsg_totalizador'];
33        $lstmsg_subtotalizador = $_POST['lstmsg_subtotalizador'];
34        $lstmsg_registrosencontrados = $_POST['lstmsg_registrosencontrados'];
35        $lstmsg_nenhumresultado = $_POST['lstmsg_nenhumresultado'];
36        $lstdescricao = $_POST['lstdescricao'];
37       
38        $lstagrupamento_campo = $_POST['lstagrupamento_campo'];
39        $lstagrupamento_titulo = $_POST['lstagrupamento_titulo'];
40        $lstexclusao = $_POST['lstexclusao'];
41       
42        if ($lstmsg_totalizador == "")           { $lstmsg_totalizador = "TOTAL:"; }
43        if ($lstmsg_subtotalizador == "")        { $lstmsg_subtotalizador = "SUB-TOTAL:"; }
44        if ($lstmsg_registrosencontrados == "")  { $lstmsg_registrosencontrados = "registro(s) encontrado(s)."; }
45        if ($lstmsg_nenhumresultado == "")       { $lstmsg_nenhumresultado = "Nenhum resultado encontrado."; }
46        if ($lsttitulo == "")       { $lsttitulo = "Resultado da Pesquisa."; }
47       
48        if ($lstoid == "") {
49              $lstexibe_resultados = true;
50              $lstexibe_header = true;
51              $lstexibe_totalizadores = true;
52              $lstexibe_subtotais = true;
53              $lstexibe_qtdregistros = true;
54              $lstexibe_legendatopo = true;
55              $lstexibe_titagrupamento = true;
56              $lstexibe_agrupamento_alfabetico = false;
57              $lstexclusao = true;
58        }
59       
60        $arrOpcVisualizacao[] = array('lstexibe_resultados', ' Exibir resultados na tela.', $lstexibe_resultados);
61        $arrOpcVisualizacao[] = array('lstexibe_header', ' Exibir titulos das colunas', $lstexibe_header);
62        $arrOpcVisualizacao[] = array('lstexibe_totalizadores', ' Exibir totalizadores', $lstexibe_totalizadores);
63        $arrOpcVisualizacao[] = array('lstexibe_subtotais', ' Exibir sub-totalizadores', $lstexibe_subtotais);
64        $arrOpcVisualizacao[] = array('lstexibe_qtdregistros', ' Exibir Quantidade de registros encontrados', $lstexibe_qtdregistros);
65        $arrOpcVisualizacao[] = array('lstexibe_checkbox', ' Exibir colunas com checkbox.', $lstexibe_checkbox);
66        $arrOpcVisualizacao[] = array('lstexibe_csv', ' Gerar CSV', $lstexibe_csv);
67        $arrOpcVisualizacao[] = array('lstexibe_legendatopo', ' Exibir legenda no topo', $lstexibe_legendatopo);
68        $arrOpcVisualizacao[] = array('lstexibe_legendarodape', ' Exibir legenda no rodape', $lstexibe_legendarodape);
69        $arrOpcVisualizacao[] = array('lstexibe_titagrupamento', ' Re-exibir titulos de agrupamento', $lstexibe_titagrupamento);
70        $arrOpcVisualizacao[] = array('lstexibe_agrupamento_alfabetico', ' Exibir agrupamento alfabetico', $lstexibe_agrupamento_alfabetico);
71        $arrOpcVisualizacao[] = array('lstexclusao', ' Ativa', $lstexclusao);
72        foreach ($arrOpcVisualizacao as $opc) {
73            $$opc[0] = "false";
74        }
75        $opcvisualizacao = $_POST['opcvisualizacao'];
76        if (is_array($opcvisualizacao)) {
77            foreach ($opcvisualizacao as $opc) {
78                $$opc = "true";
79            }
80        }
81       
82        if ($lstexclusao == "false") {
83                $flstexclusao = "now()";
84        }
85        if ($lstexclusao == "true") {
86                $flstexclusao = "null";
87        }
88       
89        if (($acao == "editar") && ($lstoid != "")) {
90            $sql = "select
91                        lstoid,
92                        lstversao,
93                        lstidlistagem,
94                        lstdescricao,
95                        lstnome,
96                        lsttitulo,
97                        lstsql,
98                        lstexibe_header,
99                        lstexibe_totalizadores,
100                        lstexibe_subtotais,
101                        lstexibe_qtdregistros,
102                        lstexibe_checkbox,
103                        lstexibe_csv,
104                        lstexibe_legendatopo,
105                        lstexibe_legendarodape,
106                        lstexibe_titagrupamento,
107                        lstexibe_agrupamento_alfabetico,
108                        lstagrupamento_campo,
109                        lstagrupamento_titulo,
110                        lstmsg_totalizador,
111                        lstmsg_subtotalizador,
112                        lstmsg_registrosencontrados,
113                        lstmsg_nenhumresultado,
114                        lstexclusao,
115                        lstexibe_resultados
116                    from
117                        listagem.listagem
118                    where
119                        lstoid = $lstoid";
120            $res = pg_query($sql);
121            $linha = pg_fetch_object($res);
122            $lstidlistagem = "";
123            foreach ($linha as $chave => $valor) {
124                if ($valor == "f") {
125                    $valor = false;
126                }
127                if ($valor == "t") {
128                    $valor = true;
129                }
130              //  $$chave= str_replace("[-]","'",$valor);;
131                $$chave=  html_entity_decode($valor, ENT_QUOTES);
132            }
133            if ($lstexclusao == "") {
134                $f_lstexclusao = true;
135            } else {
136                $f_lstexclusao = false;
137            }
138           
139            //$lstsql = str_replace("[-]","'",$lstsql);
140            unset ($arrOpcVisualizacao);
141            $arrOpcVisualizacao[] = array('lstexibe_resultados', ' Exibir resultados na tela.', $lstexibe_resultados);
142            $arrOpcVisualizacao[] = array('lstexibe_header', ' Exibir titulos das colunas', $lstexibe_header);
143            $arrOpcVisualizacao[] = array('lstexibe_totalizadores', ' Exibir totalizadores', $lstexibe_totalizadores);
144            $arrOpcVisualizacao[] = array('lstexibe_subtotais', ' Exibir sub-totalizadores', $lstexibe_subtotais);
145            $arrOpcVisualizacao[] = array('lstexibe_qtdregistros', ' Exibir Quantidade de registros encontrados', $lstexibe_qtdregistros);
146            $arrOpcVisualizacao[] = array('lstexibe_checkbox', ' Exibir colunas com checkbox.', $lstexibe_checkbox);
147            $arrOpcVisualizacao[] = array('lstexibe_csv', ' Gerar CSV', $lstexibe_csv);
148            $arrOpcVisualizacao[] = array('lstexibe_legendatopo', ' Exibir legenda no topo', $lstexibe_legendatopo);
149            $arrOpcVisualizacao[] = array('lstexibe_legendarodape', ' Exibir legenda no rodape', $lstexibe_legendarodape);
150            $arrOpcVisualizacao[] = array('lstexibe_titagrupamento', ' Re-exibir titulos de agrupamento', $lstexibe_titagrupamento);
151            $arrOpcVisualizacao[] = array('lstexibe_agrupamento_alfabetico', ' Exibir agrupamento alfabetico', $lstexibe_agrupamento_alfabetico);
152           
153           
154            $arrOpcVisualizacao[] = array('lstexclusao', ' Ativa', $f_lstexclusao);
155           
156            $lstexclusao = $linha->lstexclusao;
157
158        }
159
160        if ($acao == "atualizar_listagem") {
161           
162            if ($lstoid != "") {
163                 $sql = "select
164                            lstidlistagem
165                        from
166                            listagem.listagem
167                        where
168                            lstoid = $lstoid";
169                $res = pg_query($sql);
170                $linha = pg_fetch_object($res);
171               
172                $lstidlistagem = $linha->lstidlistagem;
173           
174            }
175           
176            //$lstsql = str_replace("\\'","[-]",$lstsql);
177            //$lstsql = str_replace("'","[-]",$lstsql);
178           
179            $lstdescricao = htmlspecialchars($lstdescricao,ENT_QUOTES);
180            $lstnome = htmlspecialchars($lstnome,ENT_QUOTES);
181            $lstsql = htmlspecialchars($lstsql,ENT_QUOTES);
182           
183            try {
184                pg_query($conn,"BEGIN;");
185                if ($lstoid == "") {
186                   
187                    $sql = "INSERT INTO listagem.listagem (  lstidlistagem,
188                                                    lstnome,
189                                                    lsttitulo,
190                                                    lstsql,
191                                                    lstexibe_header,
192                                                    lstexibe_totalizadores,
193                                                    lstexibe_qtdregistros,
194                                                    lstexibe_subtotais,
195                                                    lstexibe_checkbox,
196                                                    lstexibe_csv,
197                                                    lstexibe_legendatopo,
198                                                    lstexibe_legendarodape,
199                                                    lstexibe_titagrupamento,
200                                                    lstmsg_totalizador,
201                                                    lstmsg_subtotalizador,
202                                                    lstmsg_registrosencontrados,
203                                                    lstmsg_nenhumresultado,
204                                                    lstversao,
205                                                    lstagrupamento_campo,
206                                                    lstagrupamento_titulo,
207                                                    lstdescricao,
208                                                    lstexibe_agrupamento_alfabetico,
209                                                    lstexibe_resultados,
210                                                    lstexclusao
211                                            )
212                                            VALUES
213                                                (   '$lstidlistagem',
214                                                    '$lstnome',
215                                                    '$lsttitulo',
216                                                    '$lstsql',
217                                                    $lstexibe_header,
218                                                    $lstexibe_totalizadores,
219                                                    $lstexibe_qtdregistros,
220                                                    $lstexibe_subtotais,
221                                                    $lstexibe_checkbox,
222                                                    $lstexibe_csv,
223                                                    $lstexibe_legendatopo,
224                                                    $lstexibe_legendarodape,
225                                                    $lstexibe_titagrupamento,
226                                                    '$lstmsg_totalizador',
227                                                    '$lstmsg_subtotalizador',
228                                                    '$lstmsg_registrosencontrados',
229                                                    '$lstmsg_nenhumresultado',
230                                                    1,
231                                                    '$lstagrupamento_campo',
232                                                    '$lstagrupamento_titulo',
233                                                    '$lstdescricao',
234                                                    $lstexibe_agrupamento_alfabetico,
235                                                    $lstexibe_resultados,
236                                                    $flstexclusao
237                                            )";
238                                                   
239                                              //     echo $sql;
240                    $result = pg_query($conn,$sql);
241                    if (!$result) { throw new Exception("ERRO: Inserindo listagem."); }
242                   
243                    $sql = "SELECT max(lstoid) as lstoid from listagem.listagem ";
244                    $result = pg_query($conn,$sql);
245                   
246                    $dados  = pg_fetch_array($result);
247                    $lstoid = $dados['lstoid'];
248                   
249                    echo "<script>document.frm.lstoid.value='$lstoid';</script>";
250                    $acao = "editar";
251                                   
252                    $msg = "Registro Inserido com Sucesso!";
253   
254                } else {
255                   
256                    $sql = "UPDATE listagem.listagem SET
257                                                lstnome = '$lstnome',
258                                                lsttitulo = '$lsttitulo', 
259                                                lstsql = '$lstsql',
260                                                lstexibe_header = $lstexibe_header,
261                                                lstexibe_totalizadores = $lstexibe_totalizadores,
262                                                lstexibe_qtdregistros = $lstexibe_qtdregistros,
263                                                lstexibe_subtotais = $lstexibe_subtotais,
264                                                lstexibe_checkbox = $lstexibe_checkbox,
265                                                lstexibe_csv = $lstexibe_csv,
266                                                lstexibe_legendatopo = $lstexibe_legendatopo,
267                                                lstexibe_legendarodape = $lstexibe_legendarodape,
268                                                lstexibe_titagrupamento = $lstexibe_titagrupamento,
269                                                lstexibe_agrupamento_alfabetico = $lstexibe_agrupamento_alfabetico,
270                                                lstmsg_totalizador = '$lstmsg_totalizador',
271                                                lstmsg_subtotalizador  = '$lstmsg_subtotalizador',
272                                                lstmsg_registrosencontrados = '$lstmsg_registrosencontrados',
273                                                lstmsg_nenhumresultado = '$lstmsg_nenhumresultado',
274                                                lstversao = lstversao + 1,
275                                                lstagrupamento_campo = '$lstagrupamento_campo',
276                                                lstagrupamento_titulo = '$lstagrupamento_titulo',
277                                                lstdescricao = '$lstdescricao',
278                                                lstexibe_resultados = $lstexibe_resultados,
279                                                lstexclusao = $flstexclusao
280                                        WHERE lstoid = $lstoid";
281                    $result = pg_query($conn,$sql);
282                    if (!$result) { throw new Exception("ERRO: Inserindo listagem."); }
283                    $msg = "Registro Atualizado com Sucesso!";
284                }
285               
286                pg_query($conn,"COMMIT;");
287           
288            } catch (exception $e) {
289                $msg = $e->getMessage();
290                pg_query($conn,"ROLLBACK;");
291            }
292           
293        }
294       
295        $lstsql =  html_entity_decode($lstsql, ENT_QUOTES);
296        $lstnome =  html_entity_decode($lstnome, ENT_QUOTES);
297        $lstdescricao =  html_entity_decode($lstdescricao, ENT_QUOTES);
298       
299        $form->adicionarHidden("lstoid",$lstoid);
300        $form->adicionarHidden("abaMenu",$abaMenu);
301        $form->adicionarHidden("acao","editar");
302        $form->adicionarCampo("lstidlistagem","lstidlistagem","ID da Listagem","Identificador da Listagem",$lstidlistagem,true);
303       
304        $form->adicionarCampo("lstnome","lstnome","Nome:","Nome:",$lstnome,true,"80");
305       
306        $form->adicionarTextarea("lstdescricao","Descricao:",$lstdescricao,true,"80","8");
307        $form->adicionarSubtitulo("Consulta");
308       
309        $form->adicionarTextarea("lstsql","",$lstsql,true,"120","15");
310       
311        $form->adicionarSubtitulo("Opcoes de Visualizacao");
312        $form->adicionarCheckBox("opcvisualizacao","",$arrOpcVisualizacao,false);
313
314        $form->adicionarSubtitulo("Agrupamento");
315        $form->adicionarCampo("lstagrupamento_campo","lstagrupamento_campo","Campo de Agrupamento:","Campo de Agrupamento:",$lstagrupamento_campo,false,"","","Campo que sera usado para agrupar os sub-totalizadores (Nao usar {}).");
316        $form->adicionarCampo("lstagrupamento_titulo","lstagrupamento_titulo","Titulo do Agrupamento:","Titulo do Agrupamento:",$lstagrupamento_titulo,false,"50","300","Ex.: Cliente: {clinome}");
317       
318        $form->adicionarSubtitulo("Mensagens Personalizadas");
319        $form->adicionarCampo("lsttitulo","lsttitulo","Titulo:","Titulo:",$lsttitulo,true,"50");
320        $form->adicionarCampo("lstmsg_totalizador","lstmsg_totalizador","Mensagem Totalizador:","Mensagem Totalizador:",$lstmsg_totalizador,true);
321        $form->adicionarCampo("lstmsg_subtotalizador","lstmsg_subtotalizador","Mensagem Sub-Totalizador:","Mensagem Sub-Totalizador:",$lstmsg_subtotalizador,true);
322        $form->adicionarCampo("lstmsg_registrosencontrados","lstmsg_registrosencontrados","Mensagem Registros Encontrados:","Mensagem Registros Encontrados:",$lstmsg_registrosencontrados,true);
323        $form->adicionarCampo("lstmsg_nenhumresultado","lstmsg_nenhumresultado","Mensagem Nenhum Resultado:","Mensagem Nenhum Resultado:",$lstmsg_nenhumresultado,true);
324        $form->agruparCampos("lstmsg_totalizador,lstmsg_subtotalizador;lstmsg_registrosencontrados,lstmsg_nenhumresultado");
325
326        if ($lstexclusao) {
327            $novostatus = "1";
328            $titulo = "Ativar";
329        } else {
330            $novostatus = "0";
331            $titulo = "Inativar";
332        }
333        $form->adicionarHidden("novostatus",$novostatus);
334
335        $form->adicionarQuadro("quadro1","Cadastro de Listagem");
336       
337        $form->adicionarSubmit("quadro1","btn_cadastrar","Atualizar","atualizar_listagem");
338        /*if ($lstoid != "") {
339            $form->adicionarSubmit("quadro1","btn_status",$titulo,"alterarStatus");
340        }*/
341
342    }
343   
344if ($msg != "") {
345    echo "<script>ExibirMensagem('$msg')</script>";
346}
347$form->desenhar();
348
349if ($lstoid) {
350        echo "<script>bloquear_campo('id_lstidlistagem');</script>";
351}
352?>
Note: See TracBrowser for help on using the repository browser.