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

Revision 5307, 15.1 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","Colunas",$conn);
6$listagem->setUrlBasePath($GLOBALS['phpgw_info']['server']['webserver_url'] . "/workflow/inc/report");
7
8$lslcoid = (isset($_POST['lslcoid'])) ? $_POST['lslcoid'] : $_GET['lslcoid'];
9
10if ($acao == "excluir") {
11        $sql = "delete from listagem.listagem_coluna where lslcoid = $lslcoid ";
12    pg_query($conn,$sql);
13    $msg = "Coluna Excluída com sucesso!";
14}
15
16if ($form->isSubmit("atualizar_coluna",true)) {
17   
18    $lslcidcoluna         = $_POST['lslcidcoluna'];
19    $lslcidcoluna = str_replace("{","",$lslcidcoluna);
20    $lslcidcoluna = str_replace("}","",$lslcidcoluna);
21   
22    $lslctitulo           = $_POST['lslctitulo'];
23    $lslctipo             = $_POST['lslctipo'];
24    $lslchtml             = $_POST['lslchtml'];
25    $lslcalign            = $_POST['lslcalign'];
26    $lslcwidth            = $_POST['lslcwidth'];
27    $lslclink             = $_POST['lslclink'];
28    $lslclink_condicao    = $_POST['lslclink_condicao'];
29    $lslcordem            = $_POST['lslcordem'];
30   
31    //print_r($_POST['lslclink_blank']);
32    $lslclink_blank = (isset($_POST['lslclink_blank'])) ? true: false;
33    $lslcnowrap =  (isset($_POST['lslcnowrap'])) ? true: false;
34    $lslcvisivel =  (isset($_POST['lslcvisivel'])) ? true: false;
35    $lslcexibe_csv = (isset($_POST['lslcexibe_csv'])) ? true: false;
36    $lslccheckbox = (isset($_POST['lslccheckbox'])) ? true: false;
37    $lslccalculada = (isset($_POST['lslccalculada'])) ? true: false;
38   
39    $flslclink_blank = ($lslclink_blank) ?  "'t'" : "'f'";
40    $flslcnowrap = ($lslcnowrap) ?  "'t'" : "'f'";
41    $flslcexibe_csv = ($lslcexibe_csv) ?  "'t'" : "'f'";
42    $flslcvisivel = ($lslcvisivel) ?  "'t'" : "'f'";
43    $flslccheckbox = ($lslccheckbox) ?  "'t'" : "'f'";
44    $flslccalculada = ($lslccalculada) ?  "'t'" : "'f'"; 
45   
46    try {
47        pg_query($conn,"BEGIN;");
48       if ($lslcoid == "") {
49           
50            $lslcidcoluna =  htmlspecialchars($lslcidcoluna, ENT_QUOTES);
51            $lslctitulo =  htmlspecialchars($lslctitulo, ENT_QUOTES);
52            $lslchtml =  htmlspecialchars($lslchtml, ENT_QUOTES);
53            $lslclink =  htmlspecialchars($lslclink, ENT_QUOTES);
54            $lslclink_condicao =  htmlspecialchars($lslclink_condicao, ENT_QUOTES);   
55           
56            $sqlver = "select lslcoid from listagem.listagem_coluna where lslcidcoluna = '$lslcidcoluna' and lslclstoid = '$lstoid'";
57            $res = pg_query($sqlver);
58            $qtd = pg_num_rows($res);
59   
60            if ($qtd == 0) {
61                $sql = "insert into
62                            listagem.listagem_coluna (
63                           
64                            lslclstoid,
65                            lslcidcoluna,
66                            lslctipo,
67                            lslctitulo,
68                            lslchtml,
69                            lslcalign,
70                            lslcexibe_csv,
71                            lslcvisivel,
72                            lslccheckbox,
73                            lslccalculada,
74                            lslcnowrap,
75                            lslcordem,
76                            lslclink,
77                            lslclink_condicao,
78                            lslcwidth
79                        ) values (
80                       
81                            $lstoid,
82                            '$lslcidcoluna',
83                            '$lslctipo',
84                            '$lslctitulo',
85                            '$lslchtml',
86                            '$lslcalign',
87                            $flslcexibe_csv,
88                            $flslcvisivel,
89                            $flslccheckbox,
90                            $flslccalculada,
91                            $flslcnowrap,
92                            $lslcordem,
93                            '$lslclink',
94                            '$lslclink_condicao',
95                            '$lslcwidth'
96                        );";
97                 //       echo $sql;
98                $res = pg_query($conn,$sql);
99               
100                //atualizarVersao($conn,$lstoid);
101                if (!$res) { throw new Exception("Incluindo nova coluna."); }
102               
103                $msg=  "Coluna adicionada com Sucesso!";
104               
105            } else {
106                $msg = "Identificador de Coluna já está adicionado a essa listagem.";
107            }
108           
109        } else {
110            $sql = "update
111                        listagem.listagem_coluna
112                    set lslcidcoluna = '$lslcidcoluna',
113                        lslctipo='$lslctipo',
114                        lslctitulo = '$lslctitulo',
115                        lslchtml = '$lslchtml',
116                        lslcalign = '$lslcalign',
117                        lslcwidth = '$lslcwidth',
118                        lslcexibe_csv = $flslcexibe_csv,
119                        lslcvisivel = $flslcvisivel,
120                        lslccalculada = $flslccalculada,
121                        lslccheckbox = $flslccheckbox,
122                        lslcnowrap = $flslcnowrap,
123                        lslcordem = $lslcordem,
124                        lslclink = '$lslclink',
125                        lslclink_condicao = '$lslclink_condicao',
126                        lslclink_blank = $flslclink_blank
127                    where lslcoid = $lslcoid
128   
129     ";
130           $res = pg_query($conn,$sql);
131           if (!$res) { throw new Exception("Atualizando informações da coluna."); }
132           
133           //atualizarVersao($conn,$lstoid);
134           
135           $msg=  "Coluna atualizada com Sucesso!";
136           $lslcoid = "";
137           $acao = "editar";
138        }
139       
140        pg_query($conn,"COMMIT;");
141   
142     } catch (exception $e) {
143                $msg = "ERRO: " . $e->getMessage();
144                pg_query($conn,"ROLLBACK;");
145     }
146}
147
148if ($acao == "editar") {
149    if ($lslcoid != "") {
150        $sql = "select
151                    lslcoid,
152                    lslclstoid,
153                    lslcidcoluna,
154                    lslcordem,
155                    lslctipo,
156                    lslctitulo,
157                    lslchtml,
158                    lslcalign,
159                    lslcwidth,
160                    lslcnowrap,
161                    lslcvisivel,
162                    lslcexibe_csv,
163                    lslccalculada,
164                    lslccheckbox,
165                    lslclink,
166                    lslclink_condicao,
167                    lslclink_blank,
168                    lslctotalizador_condicao,
169                    lslcsubtotalizador_condicao,
170                    lslccheckbox_condicao
171                from
172                    listagem.listagem_coluna
173                where
174                    lslcoid = $lslcoid ";
175        $res = pg_query($sql);
176        $dados = pg_fetch_object($res);
177        $lslcidcoluna = $dados->lslcidcoluna;
178        $lslctitulo = $dados->lslctitulo;
179        $lslctipo = $dados->lslctipo;
180        $lslchtml = $dados->lslchtml;
181        $lslcalign = $dados->lslcalign;
182        $lslcwidth = $dados->lslcwidth;
183        $lslclink = $dados->lslclink;
184        $lslclink_condicao = $dados->lslclink_condicao;
185        $lslclink_blank = ($dados->lslclink_blank == "t") ? true: false;
186        $lslcnowrap = ($dados->lslcnowrap == "t") ? true: false;
187        $lslcvisivel = ($dados->lslcvisivel == "t") ? true: false;
188        $lslcexibe_csv = ($dados->lslcexibe_csv == "t") ? true: false;
189        $lslccheckbox = ($dados->lslccheckbox == "t") ? true: false;
190        $lslccalculada = ($dados->lslccalculada == "t") ? true: false;
191        $lslcordem = $dados->lslcordem;
192    } else {
193        $lslcidcoluna = "";
194        $lslctitulo = "";
195        $lslctipo = "";
196        $lslchtml = "";
197        $lslcalign = "";
198        $lslcwidth = "";
199        $lslclink = "";
200        $lslclink_condicao = "";
201        $lslclink_blank = false;
202        $lslcnowrap = false;
203        $lslcvisivel = true;
204        $lslcexibe_csv = true;
205        $lslccheckbox = false;
206        $lslccalculada = false;
207        $lslcordem = "";
208    }
209}
210
211
212if(isset($lstoid{0})){
213
214
215    $lslcidcoluna       =  html_entity_decode($lslcidcoluna, ENT_QUOTES);
216    $lslctitulo         =  html_entity_decode($lslctitulo, ENT_QUOTES);
217    $lslchtml           =  html_entity_decode($lslchtml, ENT_QUOTES);
218    $lslclink           =  html_entity_decode($lslclink, ENT_QUOTES);
219    $lslclink_condicao  =  html_entity_decode($lslclink_condicao, ENT_QUOTES);
220   
221
222    $form->adicionarHidden("lstoid",$lstoid);
223    $form->adicionarHidden("lslcoid",$lslcoid);
224    $form->adicionarHidden("abaMenu",$abaMenu);
225    $form->adicionarHidden("acao","editar");
226    $form->adicionarCampo("lslcidcoluna","lslcidcoluna","ID da Coluna:","Identificador da Coluna",$lslcidcoluna,true,"20");
227    $form->adicionarCampo("lslctitulo","lslctitulo","Titulo da Coluna:","Titulo da Coluna",$lslctitulo,true,"","","");
228   
229    $arrTipoColunas = array (
230                              ''      => '---' ,
231                              'text'      => 'Texto' ,
232                              'int'       => 'Número' ,
233                              'data'      => 'Data' ,
234                              'hora'      => 'Hora' ,
235                              'moeda'     => 'Moeda'
236           );
237    $form->adicionarSelect("lslctipo","Tipo:","Tipo da Coluna",$lslctipo,$arrTipoColunas,true);
238    $form->adicionarCampoAcao("lslctipo","onchange","xajax_selecionarTipoColuna(this.value);");
239   
240    $form->adicionarCampo("lslchtml","lslchtml","Html da Listagem:","Html da Listagem",$lslchtml,true,"","","campo que será exibido entre chaves. Ex: {nomedocampo}");
241
242    $arrTipoAlign = array (
243                            ''      => '---' ,
244                            'left'   => 'Esquerda',
245                            'center' => 'Centralizado',
246                            'right'  => 'Direita' );
247    $form->adicionarSelect("lslcalign","Alinhamento (align):","Alinhamento da Coluna",$lslcalign,$arrTipoAlign,true);
248
249    $form->adicionarCampo("lslcwidth","lslcwidth","Tamanho (width):","Tamanho da Coluna",$lslcwidth,false,"10","","Ex: (100px ou 50%)");
250    $form->adicionarCampo("lslcordem","lslcordem","Ordem:","Ordem da Coluna",$lslcordem,true,"10","","Ordem que a coluna irá aparecer.");
251   
252    $form->adicionarSubTitulo("Coluna com Link");
253    $form->adicionarCampo("lslclink","lslclink","URL:","URL",$lslclink,false,"40","","Ex.: arquivo.php?acao=editar&codigo={codigo} OU javascript:editar({codigo});");
254
255    $form->adicionarCampo("lslclink_condicao","lslclink_condicao","Link Condição:","Link Condição",$lslclink_condicao,false,"","","Condição para exibir o link. Ex: (({meustatus} == 1) && ({tipo} > 200)) OU 1 para sempre exibir.");
256   
257    $arrCheckBlank[] = array('t', ' Abrir em uma nova janela.', $lslclink_blank);
258    $form->adicionarCheckBox("lslclink_blank","",$arrCheckBlank,false);
259
260    //$form->agruparCampos("lslclink,lslclink_blank",true);
261   
262    $form->adicionarSubTitulo("Outras Opções");
263    $arrCheckNowRap[] = array('t', ' Não habilitar quebra de linha (nowrap)', $lslcnowrap);
264    $form->adicionarCheckBox("lslcnowrap","",$arrCheckNowRap,false);
265    $form->adicionarCampoAcao("lslcnowrap","onchange","nowrapCheck(this.checked);");
266
267    $arrCheckVisivel[] = array('t', ' Coluna é Visível ', $lslcvisivel);
268    $form->adicionarCheckBox("lslcvisivel","",$arrCheckVisivel,false);
269
270    $arrCheckCSV[] = array('t', ' Exibir coluna no arquivo CSV:', $lslcexibe_csv);
271    $form->adicionarCheckBox("lslcexibe_csv","",$arrCheckCSV,false);
272
273    $arrCheckCalculada[] = array('t', ' Coluna é calculada, com Totalizador e Sub-Totalizador', $lslccalculada);
274    $form->adicionarCheckBox("lslccalculada","",$arrCheckCalculada,false);
275
276    $arrCheckCheck[] = array('t', ' Possui Checkbox para seleção de itens.', $lslccheckbox);
277    $form->adicionarCheckBox("lslccheckbox","",$arrCheckCheck,false);
278   
279   
280    $form->adicionarQuadro("quadro2","Cadastro de Colunas");
281   
282    if ($lslcoid == "") {
283        $titbotao = "Adicionar";
284    } else {
285        $titbotao = "Atualizar";
286    }
287   
288    $form->adicionarSubmit("quadro2","btn_cadastrar",$titbotao,"atualizar_coluna");
289   
290   
291    //LISTAGEM DE COLUNAS
292    $sql = "SELECT
293                lslcoid,
294                lslclstoid,
295                lslcidcoluna,
296                lslcordem,
297                lslctipo,
298                lslctitulo,
299                lslchtml,
300                lslcalign,
301                lslcwidth,
302                lslcnowrap,
303                lslcvisivel,
304                lslcexibe_csv,
305                lslccalculada,
306                lslccheckbox,
307                lslclink,
308                lslclink_condicao,
309                lslclink_blank,
310                lslctotalizador_condicao,
311                lslcsubtotalizador_condicao,
312                lslccheckbox_condicao,
313                case when lslctipo = 'int' then 'Número' when lslctipo = 'hora' then 'Hora' when lslctipo = 'text' then 'Texto' when lslctipo = 'data' then 'Data' when lslctipo = 'moeda' then 'Moeda' end as novo_tipo 
314            FROM
315                listagem.listagem_coluna
316            WHERE
317                lslclstoid=$lstoid
318            order by lslcordem";
319    $listagem->carregar($sql);
320   
321    $listagem->adicionarIndicador("indvisivel","({lslcvisivel} == 't')","I","v","Coluna Visível");
322    $listagem->adicionarIndicador("indcsv","({lslcexibe_csv} == 't')","I","v","Exibir no CSV");
323    $listagem->adicionarIndicador("indnowrap","({lslcnowrap} == 't')","I","v","Não habilitar quebra de Linha");
324    $listagem->adicionarIndicador("indcalculada","({lslccalculada} == 't')","I","v","Coluna Calculada");
325   
326    $listagem->adicionarColuna("lslcidcoluna","Coluna","{lslcidcoluna}","text","left","100px");
327    $listagem->adicionarColuna("lslctitulo","Titulo","{lslctitulo}","text","left","100px");
328    $listagem->adicionarColuna("lslchtml","Html","{lslchtml}","text","left","100px");
329    $listagem->adicionarColuna("lslctipo","Tipo","{novo_tipo}","text","left","50px");
330    $listagem->adicionarColuna("lslcwidth","Tamanho","{lslcwidth}","text","left","50px");
331    $listagem->adicionarColuna("lslcvisivel","Visível","{indvisivel}","text","center","10px");
332    $listagem->adicionarColuna("lslcexibe_csv","CSV","{indcsv}","text","center","10px");
333    $listagem->adicionarColuna("lslcnowrap","Nowrap","{indnowrap}","text","center","10px");
334    $listagem->adicionarColuna("lslccalculada","Calculada","{indcalculada}","text","center","10px");
335    $listagem->adicionarColuna("lslcordem","Ordem","{lslcordem}","text","right","50px");
336   
337    $listagem->adicionarColuna("lslcoid","Excluir","[Excluir]","text","center","20px");
338    $listagem->adicionarLink("lslcoid",$BASE_URL . "&abaMenu=colunas&lstoid=$lstoid&lslcoid={lslcoid}&acao=excluir");
339    $listagem->adicionarLink("lslcidcoluna",$BASE_URL . "&abaMenu=colunas&lstoid=$lstoid&lslcoid={lslcoid}&acao=editar");
340    $listagem->setMensagemRegistrosEncontrados("coluna(s) cadastrada(s)");
341    $listagem->setMostrarLegendaTopo(false);
342    $listagem->setMostrarLegendaRodape(false);
343}
344
345if ($msg != "") {
346    echo "<script>ExibirMensagem('$msg')</script>";
347}
348echo "<script>xajax_selecionarTipoColuna('');</script>";
349if ($lscnowrap != "") {
350    echo "<script>nowrapCheck('$lslcnowrap');</script>";
351}
352$form->desenhar();
353$listagem->desenhar();
354?>
Note: See TracBrowser for help on using the repository browser.