1
2
3
4
5 package ecar.taglib.util;
6
7 import java.util.ArrayList;
8 import java.util.Collection;
9 import java.util.Iterator;
10 import java.util.List;
11
12 import javax.servlet.jsp.JspException;
13 import javax.servlet.jsp.JspWriter;
14 import javax.servlet.jsp.PageContext;
15 import javax.servlet.jsp.tagext.Tag;
16
17 import org.apache.log4j.Logger;
18
19 import comum.util.Util;
20
21 import ecar.dao.SisGrupoAtributoDao;
22 import ecar.pojo.EstrutTpFuncAcmpEtttfa;
23 import ecar.pojo.ObjetoEstrutura;
24 import ecar.pojo.SisGrupoAtributoSga;
25
26
27
28
29
30
31
32
33 public class ValidacaoItemEstruturaTag implements Tag{
34 private Collection atributos;
35
36 private Collection sisGrupoAtributoSgaObrigatorio;
37
38 private PageContext page = null;
39
40 private StringBuffer validacaoCampos;
41
42 private StringBuffer retornoPesquisa;
43
44 private SisGrupoAtributoDao sisGrupoAtributoDao= null;
45
46 private String labelOrgaoOrgByCodOrgaoResponsavel1Iett = null;
47
48
49
50
51
52
53
54
55
56
57
58 public int doStartTag() throws JspException {
59 try{
60 JspWriter writer = this.page.getOut();
61 StringBuffer s = new StringBuffer();
62 validacaoCampos = new StringBuffer();
63 retornoPesquisa = new StringBuffer();
64 int datas = 0;
65 String labelDataIni = "";
66 String labelDataFim = "";
67
68
69
70
71 if(atributos != null){
72 Iterator it = atributos.iterator();
73 while(it.hasNext()){
74 ObjetoEstrutura atributoEstrutura = (ObjetoEstrutura) it.next();
75 if(atributoEstrutura.iGetNome().equals("orgaoOrgByCodOrgaoResponsavel1Iett")){
76 labelOrgaoOrgByCodOrgaoResponsavel1Iett = atributoEstrutura.iGetLabel();
77 }
78 }
79 }
80
81 if(atributos != null){
82 Iterator it = atributos.iterator();
83 while(it.hasNext()){
84 ObjetoEstrutura atributoEstrutura = (ObjetoEstrutura) it.next();
85 if(atributoEstrutura.iGetTipo() == EstrutTpFuncAcmpEtttfa.class) {
86 geraPesquisaFuncaoAcompanhamento(atributoEstrutura);
87 geraValidacaoFuncaoAcompanhamento(atributoEstrutura);
88 }
89 else if(atributoEstrutura.iGetGrupoAtributosLivres() != null){
90 geraValidacaoAtributoLivre(atributoEstrutura);
91 }
92 else {
93 try {
94 this.getClass().
95 getMethod("geraValidacao" + Util.primeiraLetraToUpperCase(atributoEstrutura.iGetNome()), new Class[] { ObjetoEstrutura.class }).
96 invoke(this, new Object[] { atributoEstrutura });
97 if("dataInicioIett".equals(atributoEstrutura.iGetNome()) || "dataTerminoIett".equals(atributoEstrutura.iGetNome())){
98 datas++;
99 }
100
101 if("dataInicioIett".equals(atributoEstrutura.iGetNome())){
102 labelDataIni = atributoEstrutura.iGetLabel();
103 }
104
105 if("dataTerminoIett".equals(atributoEstrutura.iGetNome())){
106 labelDataFim = atributoEstrutura.iGetLabel();
107 }
108
109 }
110 catch(Exception e) {
111 Logger logger = Logger.getLogger(this.getClass());
112 logger.error(e);
113 }
114 }
115 }
116
117 if(datas >= 2){
118 geraValidacaoDatasInicioTermino(labelDataIni, labelDataFim);
119 }
120 }
121 s.append("function validar(form) { \n");
122 if(validacaoCampos != null)
123 s.append(validacaoCampos);
124 if(this.getSisGrupoAtributoSgaObrigatorio() != null && !this.getSisGrupoAtributoSgaObrigatorio().isEmpty()) {
125 s.append(new ecar.dao.SisGrupoAtributoDao(null).getValidacoesAtributos(new ArrayList(this.getSisGrupoAtributoSgaObrigatorio())));
126 }
127 s.append( "return true;\n");
128 s.append("}\n");
129 if(retornoPesquisa != null)
130 s.append(retornoPesquisa);
131 writer.print(s.toString());
132 } catch(Exception e){
133 Logger logger = Logger.getLogger(this.getClass());
134 logger.error(e);
135 }
136 return Tag.EVAL_BODY_INCLUDE;
137 }
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197 public void geraValidacaoNomeIett(ObjetoEstrutura atributo) {
198 if(atributo.iGetObrigatorio().booleanValue() == true)
199 geraValidacaoCampoObrigatorio(atributo);
200 }
201
202
203
204
205
206
207
208
209 public void geraValidacaoSiglaIett(ObjetoEstrutura atributo) {
210 if(atributo.iGetObrigatorio().booleanValue() == true)
211 geraValidacaoCampoObrigatorio(atributo);
212 }
213
214
215
216
217
218
219
220
221 public void geraValidacaoDescricaoIett(ObjetoEstrutura atributo) {
222 if(atributo.iGetObrigatorio().booleanValue() == true)
223 geraValidacaoCampoObrigatorio(atributo);
224 }
225
226
227
228
229
230
231
232
233 public void geraValidacaoOrigemIett(ObjetoEstrutura atributo) {
234 if(atributo.iGetObrigatorio().booleanValue() == true)
235 geraValidacaoCampoObrigatorio(atributo);
236 }
237
238
239
240
241
242
243
244
245 public void geraValidacaoObjetivoGeralIett(ObjetoEstrutura atributo) {
246 if(atributo.iGetObrigatorio().booleanValue() == true)
247 geraValidacaoCampoObrigatorio(atributo);
248 }
249
250
251
252
253
254
255
256
257 public void geraValidacaoBeneficiosIett(ObjetoEstrutura atributo) {
258 if(atributo.iGetObrigatorio().booleanValue() == true)
259 geraValidacaoCampoObrigatorio(atributo);
260 }
261
262
263
264
265
266
267
268
269 public void geraValidacaoObjetivoEspecificoIett(ObjetoEstrutura atributo) {
270 if(atributo.iGetObrigatorio().booleanValue() == true)
271 geraValidacaoCampoObrigatorio(atributo);
272 }
273
274
275
276
277
278
279
280
281 public void geraValidacaoDataInicioIett(ObjetoEstrutura atributo) {
282 if(atributo.iGetObrigatorio().booleanValue() == true)
283 geraValidacaoCampoObrigatorio(atributo);
284 geraValidacaoData(atributo);
285 }
286
287
288
289
290
291
292
293
294 public void geraValidacaoDataTerminoIett(ObjetoEstrutura atributo) {
295 if(atributo.iGetObrigatorio().booleanValue() == true)
296 geraValidacaoCampoObrigatorio(atributo);
297 geraValidacaoData(atributo);
298 }
299
300
301
302
303
304
305
306
307 public void geraValidacaoIndCriticaIett(ObjetoEstrutura atributo) {
308 if(atributo.iGetObrigatorio().booleanValue() == true)
309 geraValidacaoCampoObrigatorio(atributo);
310 }
311
312
313
314
315
316
317
318
319 public void geraValidacaoIndMonitoramentoIett(ObjetoEstrutura atributo) {
320
321 }
322
323
324
325
326
327
328
329
330 public void geraValidacaoIndMonitoramIett(ObjetoEstrutura atributo) {
331
332 }
333
334
335
336
337
338
339
340
341 public void geraValidacaoIndBloqPlanejamentoIett(ObjetoEstrutura atributo) {
342
343 }
344
345
346
347
348
349
350
351
352 public void geraValidacaoIndPermBloqPlanejIett(ObjetoEstrutura atributo) {
353
354 }
355
356
357
358
359
360
361
362
363 public void geraValidacaoValPrevistoFuturoIett(ObjetoEstrutura atributo) {
364 if(atributo.iGetObrigatorio().booleanValue() == true)
365 geraValidacaoCampoObrigatorio(atributo);
366 geraValidacaoNumeroDecimal(atributo);
367 }
368
369
370
371
372
373
374
375
376 public void geraValidacaoDataInicioMonitoramentoIett(ObjetoEstrutura atributo) {
377 }
378
379
380
381
382
383
384
385
386 public void geraValidacaoDataInclusaoIett(ObjetoEstrutura atributo) {
387 }
388
389
390
391
392
393
394
395
396
397 public void geraValidacaoUsuarioUsuByCodUsuIncIett(ObjetoEstrutura atributo) {
398 }
399
400
401
402
403
404
405
406
407 public void geraValidacaoDataUltManutencaoIett(ObjetoEstrutura atributo) {
408 }
409
410
411
412
413
414
415
416
417 public void geraValidacaoUsuarioUsuByCodUsuUltManutIett(ObjetoEstrutura atributo) {
418 }
419
420
421
422
423
424
425
426
427
428 public void geraValidacaoIndAtivoIett(ObjetoEstrutura atributo) {
429 }
430
431
432
433
434
435
436
437
438
439 public void geraValidacaoDataR1(ObjetoEstrutura atributo) {
440 if(atributo.iGetObrigatorio().booleanValue() == true)
441 geraValidacaoCampoObrigatorio(atributo);
442 geraValidacaoData(atributo);
443 }
444
445
446
447
448
449
450
451
452
453 public void geraValidacaoDataR2(ObjetoEstrutura atributo) {
454 if(atributo.iGetObrigatorio().booleanValue() == true)
455 geraValidacaoCampoObrigatorio(atributo);
456 geraValidacaoData(atributo);
457 }
458
459
460
461
462
463
464
465
466
467 public void geraValidacaoDataR3(ObjetoEstrutura atributo) {
468 if(atributo.iGetObrigatorio().booleanValue() == true)
469 geraValidacaoCampoObrigatorio(atributo);
470 geraValidacaoData(atributo);
471 }
472
473
474
475
476
477
478
479
480
481
482 public void geraValidacaoDataR4(ObjetoEstrutura atributo) {
483 if(atributo.iGetObrigatorio().booleanValue() == true)
484 geraValidacaoCampoObrigatorio(atributo);
485 geraValidacaoData(atributo);
486 }
487
488
489
490
491
492
493
494
495
496 public void geraValidacaoDataR5(ObjetoEstrutura atributo) {
497 if(atributo.iGetObrigatorio().booleanValue() == true)
498 geraValidacaoCampoObrigatorio(atributo);
499 geraValidacaoData(atributo);
500 }
501
502
503
504
505
506
507
508
509
510 public void geraValidacaoDescricaoR1(ObjetoEstrutura atributo) {
511 if(atributo.iGetObrigatorio().booleanValue() == true)
512 geraValidacaoCampoObrigatorio(atributo);
513 }
514
515
516
517
518
519
520
521
522
523 public void geraValidacaoDescricaoR2(ObjetoEstrutura atributo) {
524 if(atributo.iGetObrigatorio().booleanValue() == true)
525 geraValidacaoCampoObrigatorio(atributo);
526 }
527
528
529
530
531
532
533
534
535
536 public void geraValidacaoDescricaoR3(ObjetoEstrutura atributo) {
537 if(atributo.iGetObrigatorio().booleanValue() == true)
538 geraValidacaoCampoObrigatorio(atributo);
539 }
540
541
542
543
544
545
546
547
548
549 public void geraValidacaoDescricaoR4(ObjetoEstrutura atributo) {
550 if(atributo.iGetObrigatorio().booleanValue() == true)
551 geraValidacaoCampoObrigatorio(atributo);
552 }
553
554
555
556
557
558
559
560
561
562 public void geraValidacaoDescricaoR5(ObjetoEstrutura atributo) {
563 if(atributo.iGetObrigatorio().booleanValue() == true)
564 geraValidacaoCampoObrigatorio(atributo);
565 }
566
567
568
569
570
571
572
573
574
575 public void geraValidacaoAreaAre(ObjetoEstrutura atributo) {
576 if(atributo.iGetObrigatorio().booleanValue() == true)
577 geraValidacaoCampoObrigatorio(atributo);
578 }
579
580
581
582
583
584
585
586
587
588 public void geraValidacaoSubAreaSare(ObjetoEstrutura atributo) {
589 if(atributo.iGetObrigatorio().booleanValue() == true)
590 geraValidacaoCampoObrigatorio(atributo);
591 }
592
593
594
595
596
597
598
599
600 public void geraValidacaoUnidadeOrcamentariaUO(ObjetoEstrutura atributo) {
601 String labelOrgaoResponsavel = "Orgão Responsável";
602
603 if(labelOrgaoOrgByCodOrgaoResponsavel1Iett != null)
604 labelOrgaoResponsavel = labelOrgaoOrgByCodOrgaoResponsavel1Iett;
605
606 if(atributo.iGetObrigatorio().booleanValue() == true){
607
608 getValidacaoCampos().append(" if (document.form.").append(atributo.iGetNome()).append(" != null && document.form.").append(atributo.iGetNome()).append(".selectedIndex == 0 && document.form." ).append(atributo.iGetNome()).append(".length > 1){\n");
609 getValidacaoCampos().append(" alert(\"Obrigatório o Preenchimento do Campo ").append(atributo.iGetLabel()).append("\"); \n");
610 getValidacaoCampos().append(" return false; \n");
611 getValidacaoCampos().append(" } else if(document.form.").append(atributo.iGetNome()).append(" == null || document.form.").append(atributo.iGetNome()).append(".selectedIndex == 0){\n");
612 getValidacaoCampos().append(" alert(\"Obrigatório o Preenchimento do Campo ").append(atributo.iGetLabel())
613 .append( ". Para ativá-lo, o campo ").append(labelOrgaoResponsavel)
614 .append( " deve estar habilitado e selecionado com um item que possua uma unidade orçamentária cadastrada.\");\n" );
615 getValidacaoCampos().append(" return false; \n");
616 getValidacaoCampos().append(" } \n");
617 }
618 }
619
620
621
622
623
624
625
626
627 public void geraValidacaoOrgaoOrgByCodOrgaoResponsavel1Iett(ObjetoEstrutura atributo) {
628 if(atributo.iGetObrigatorio().booleanValue() == true)
629 geraValidacaoCampoObrigatorio(atributo);
630 }
631
632
633
634
635
636
637
638
639 public void geraValidacaoOrgaoOrgByCodOrgaoResponsavel2Iett(ObjetoEstrutura atributo) {
640 if(atributo.iGetObrigatorio().booleanValue() == true)
641 geraValidacaoCampoObrigatorio(atributo);
642 }
643
644
645
646
647
648
649
650
651 public void geraValidacaoPeriodicidadePrdc(ObjetoEstrutura atributo) {
652 if(atributo.iGetObrigatorio().booleanValue() == true)
653 geraValidacaoCampoObrigatorio(atributo);
654 }
655
656
657
658
659
660
661
662
663 public void geraValidacaoSituacaoSit(ObjetoEstrutura atributo) {
664 if(atributo.iGetObrigatorio().booleanValue() == true)
665 geraValidacaoCampoObrigatorio(atributo);
666 }
667
668
669
670
671
672
673
674
675 public void geraValidacaoFuncaoAcompanhamento(ObjetoEstrutura atributo) {
676 if(atributo.iGetObrigatorio().booleanValue() == true)
677 geraValidacaoCampoObrigatorio(atributo);
678 }
679
680
681
682
683
684
685
686
687
688 public void geraValidacaoNivelPlanejamento(ObjetoEstrutura atributo){
689
690 }
691
692
693
694
695
696
697
698
699 public void geraPesquisaFuncaoAcompanhamento(ObjetoEstrutura atributo){
700 getRetornoPesquisa().append( "function retorno").append(atributo.iGetNome()).append("(codigo, descricao) {\n");
701 getRetornoPesquisa().append( "if (document.form.").append(atributo.iGetNome()).append(".value != codigo){\n");
702 getRetornoPesquisa().append( " if (eval(document.form.alterou)){\n");
703 getRetornoPesquisa().append( " document.form.alterou.value = 'S';\n");
704 getRetornoPesquisa().append( " }\n");
705 getRetornoPesquisa().append( "}\n");
706 getRetornoPesquisa().append( "document.form.nome").append(atributo.iGetNome()).append(".value = descricao;\n");
707 getRetornoPesquisa().append( "document.form.").append(atributo.iGetNome()).append(".value = codigo;\n");
708 getRetornoPesquisa().append("}\n");
709 }
710
711
712
713
714
715
716
717
718
719 private void geraValidacaoCampoObrigatorio(ObjetoEstrutura atributo){
720 getValidacaoCampos().append( " if (document.form.").append(atributo.iGetNome()).append(".value == \"\"){\n" );
721 getValidacaoCampos().append( " alert(\"Obrigatório o Preenchimento do Campo ").append(atributo.iGetLabel()).append("\");\n" );
722 getValidacaoCampos().append(" return false; \n");
723 getValidacaoCampos().append( " } \n");
724 }
725
726
727
728
729
730
731
732
733
734 private void geraValidacaoData(ObjetoEstrutura atributo){
735 getValidacaoCampos().append("if(form.").append(atributo.iGetNome()).append(".value != \"\" && !validaData(form.").append(atributo.iGetNome()).append(",false,true,true)){\n");
736 getValidacaoCampos().append( " alert(\"Valor inválido para o campo ").append(atributo.iGetLabel()).append("\");\n" );
737 getValidacaoCampos().append(" return false; \n");
738 getValidacaoCampos().append( " } \n");
739
740 }
741
742
743
744
745
746
747
748
749
750 private void geraValidacaoMoeda(ObjetoEstrutura atributo){
751 getValidacaoCampos().append("if(document.form.").append(atributo.iGetNome()).append(".value != \"\" && !isValidMoeda(form.").append(atributo.iGetNome()).append(".value)){\n");
752 getValidacaoCampos().append( " alert(\"Valor inválido para o campo ").append(atributo.iGetLabel()).append("\");\n" );
753 getValidacaoCampos().append(" return false; \n");
754 getValidacaoCampos().append( " } \n");
755
756 }
757
758
759
760
761
762
763
764
765
766 private void geraValidacaoNumeroDecimal(ObjetoEstrutura atributo){
767 getValidacaoCampos().append("if(document.form.").append(atributo.iGetNome()).append(".value != \"\" && !validaDecimal(form.").append(atributo.iGetNome()).append(".value)){\n");
768 getValidacaoCampos().append( " alert(\"Valor inválido para o campo ").append(atributo.iGetLabel()).append("\");\n" );
769 getValidacaoCampos().append( " document.form.").append(atributo.iGetNome()).append(".focus();\n" );
770 getValidacaoCampos().append(" return false; \n");
771 getValidacaoCampos().append( " } \n");
772
773 }
774
775
776
777
778
779
780
781
782 private void geraValidacaoDatasInicioTermino(String labelDataIni, String labelDataFim){
783 getValidacaoCampos().append("/**** Validação das Datas de Inicio e Fim *****/");
784 getValidacaoCampos().append("if(document.form.dataInicioIett.value != \"\" && document.form.dataInicioIett.value.length < 10){");
785 getValidacaoCampos().append(" alert(\"Valor inválido para ").append(labelDataIni).append("\");");
786 getValidacaoCampos().append(" document.form.dataInicioIett.focus();");
787 getValidacaoCampos().append(" return false;");
788 getValidacaoCampos().append("}");
789 getValidacaoCampos().append("if(document.form.dataTerminoIett.value != \"\" && document.form.dataTerminoIett.value.length < 10){");
790 getValidacaoCampos().append(" alert(\"Valor inválido para ").append(labelDataFim).append("\");");
791 getValidacaoCampos().append(" document.form.dataTerminoIett.focus();");
792 getValidacaoCampos().append(" return false;");
793 getValidacaoCampos().append("}");
794 getValidacaoCampos().append("var dataTempIni = document.form.dataInicioIett.value.split(\"/\");");
795 getValidacaoCampos().append("var dataIni = parseInt(dataTempIni[2] + dataTempIni[1] + dataTempIni[0]);");
796 getValidacaoCampos().append("var dataTempFim = document.form.dataTerminoIett.value.split(\"/\");");
797 getValidacaoCampos().append("var dataFim = parseInt(dataTempFim[2] + dataTempFim[1] + dataTempFim[0]);");
798 getValidacaoCampos().append("if(dataFim < dataIni){");
799 getValidacaoCampos().append(" alert(\"").append(labelDataFim).append(" é menor que ").append(labelDataIni).append("\");");
800 getValidacaoCampos().append(" document.form.dataInicioIett.focus();");
801 getValidacaoCampos().append(" return false;");
802 getValidacaoCampos().append("}");
803 getValidacaoCampos().append("/**** Fim da Validação das Datas de Inicio e Fim *****/");
804 }
805
806 private void geraValidacaoAtributoLivre(ObjetoEstrutura atributo){
807 if(atributo.iGetObrigatorio().booleanValue() == true && atributo.iGetGrupoAtributosLivres() != null){
808 SisGrupoAtributoSga grupoAtributo = atributo.iGetGrupoAtributosLivres();
809
810 getValidacaoCampos().append("/**** Início Validação Atributo Livre " + atributo.iGetNome() + " ****/");
811 if ( sisGrupoAtributoDao==null) {
812 getValidacaoCampos().append((new SisGrupoAtributoDao(null)).getValidacaoAtributo(grupoAtributo));
813 } else {
814 getValidacaoCampos().append(sisGrupoAtributoDao.getValidacaoAtributo(grupoAtributo));
815 }
816 getValidacaoCampos().append("/**** Fim Validação Atributo Livre " + atributo.iGetNome() + " ****/");
817 }
818 }
819
820
821
822 public SisGrupoAtributoDao getSisGrupoAtributoDao() {
823 return sisGrupoAtributoDao;
824 }
825
826
827 public void setSisGrupoAtributoDao(SisGrupoAtributoDao sisGrupoAtributoDao) {
828 this.sisGrupoAtributoDao = sisGrupoAtributoDao;
829 }
830
831
832
833
834
835
836
837
838
839
840 public Collection getAtributos() {
841 return atributos;
842 }
843
844
845
846
847
848
849
850
851
852 public void setAtributos(Collection atributos) {
853 this.atributos = atributos;
854 }
855
856
857
858
859
860
861
862
863
864 public StringBuffer getRetornoPesquisa() {
865 return retornoPesquisa;
866 }
867
868
869
870
871
872
873
874
875
876 public void setRetornoPesquisa(StringBuffer retornoPesquisa) {
877 this.retornoPesquisa = retornoPesquisa;
878 }
879
880
881
882
883
884
885
886
887
888 public StringBuffer getValidacaoCampos() {
889 return validacaoCampos;
890 }
891
892
893
894
895
896
897
898
899
900 public void setValidacaoCampos(StringBuffer validacaoCampos) {
901 this.validacaoCampos = validacaoCampos;
902 }
903
904
905
906
907
908
909
910
911
912
913 public int doEndTag() throws JspException {
914 return Tag.EVAL_PAGE;
915 }
916
917
918
919
920
921
922
923
924
925 public void setPageContext(PageContext arg0) {
926 this.page = arg0;
927 }
928
929
930
931
932
933
934
935
936
937 public void setParent(Tag arg0) {
938 }
939
940
941
942
943
944
945
946
947
948 public Tag getParent() {
949 return null;
950 }
951
952
953
954
955
956
957
958
959
960 public PageContext getPage() {
961 return page;
962 }
963
964
965
966
967
968
969
970
971
972 public void setPage(PageContext page) {
973 this.page = page;
974 }
975
976
977
978
979
980
981 public void release() {
982
983 }
984
985
986
987
988
989
990
991
992
993 public Collection getSisGrupoAtributoSgaObrigatorio() {
994 return sisGrupoAtributoSgaObrigatorio;
995 }
996
997
998
999
1000
1001
1002
1003
1004
1005 public void setSisGrupoAtributoSgaObrigatorio(Collection sisGrupoAtributoSgaObrigatorio) {
1006 this.sisGrupoAtributoSgaObrigatorio = sisGrupoAtributoSgaObrigatorio;
1007 }
1008 }