1
2
3
4 package ecar.taglib.util;
5
6 import java.util.Collection;
7 import java.util.Collections;
8 import java.util.Iterator;
9 import java.util.List;
10 import java.util.Set;
11
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.jsp.JspException;
14 import javax.servlet.jsp.JspWriter;
15 import javax.servlet.jsp.tagext.TagSupport;
16
17 import ecar.dao.AbaDao;
18 import ecar.dao.PontoCriticoDao;
19 import ecar.exception.ECARException;
20 import ecar.pojo.Aba;
21 import ecar.pojo.AcompReferenciaItemAri;
22 import ecar.pojo.UsuarioUsu;
23
24
25
26
27
28 public class BarraLinksRegAcompSuperiorTag extends TagSupport{
29
30
31
32
33 private static final long serialVersionUID = -6728974818698770839L;
34
35 private AcompReferenciaItemAri acompReferenciaItem;
36 private UsuarioUsu usuario;
37 private String selectedFuncao;
38 private AcompReferenciaItemAri acompReferenciaItemSubNivel;
39 private String primeiroAcomp;
40 private HttpServletRequest request;
41 private String tela;
42 private Set gruposUsuario;
43
44
45
46
47 private static final String PATH_ACOMP = "/regAcompanhamento/elabAcompanhamento/";
48
49
50
51
52
53
54
55
56
57
58
59 @Override
60 public int doStartTag() throws JspException {
61
62 JspWriter writer = this.pageContext.getOut();
63 try {
64 StringBuffer s = new StringBuffer();
65
66 s.append("<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" id=\"abas\"><tr><td>");
67
68
69 String situacaoAba = "abadesabilitada";
70 if("RELACAO".equals(selectedFuncao))
71 situacaoAba = "abahabilitada";
72
73 String linkPrimeiro = "";
74 if(!"".equals(primeiroAcomp))
75 linkPrimeiro = "primeiroAcomp=" + primeiroAcomp + "&";
76
77 String link = request.getContextPath() + PATH_ACOMP + "listaItens.jsp?" + linkPrimeiro + "codAcomp=" + acompReferenciaItem.getAcompReferenciaAref().getCodAref()+"&";
78
79 if(getTela() != null && !getTela().equals("") && getTela().equals("acompanhamento")) {
80
81 link = "javascript:voltarTelaAnterior('../posicaoGeral.jsp');";
82 criaAbaMonitoramento(situacaoAba, link, "Relação", s);
83 } else {
84 criaAba(situacaoAba, link, "Relação", s);
85 }
86
87
88
89
90
91
92
93
94
95
96
97
98 AbaDao abaDao = new AbaDao(null);
99
100 for (Iterator it = abaDao.getListaAbasComAcesso(acompReferenciaItem.getAcompReferenciaAref().getTipoAcompanhamentoTa(), gruposUsuario).iterator();it.hasNext();) {
101 Aba aba = (Aba) it.next();
102
103 if (!"NIVEL_PLANEJAMENTO".equals(aba.getNomeAba())) {
104 situacaoAba = "abadesabilitada";
105
106 if (selectedFuncao.equals(aba.getNomeAba())) {
107 situacaoAba = "abahabilitada";
108 } else if ("PONTOS_CRITICOS".equals(aba.getNomeAba())) {
109
110 try {
111 PontoCriticoDao pontoCriticoDao = new PontoCriticoDao(
112 null);
113 Collection pontosCriticos = Collections.EMPTY_LIST;
114 pontosCriticos = pontoCriticoDao
115 .getPontosCriticosNaoSolucionados(acompReferenciaItem
116 .getItemEstruturaIett());
117
118 if (pontoCriticoDao
119 .verificaDatasUltrapassadas(pontosCriticos)) {
120 situacaoAba = "abapontocritico";
121 }
122 } catch (Exception e) {
123 situacaoAba = "abadesabilitada";
124 }
125
126 }
127
128
129 if(getTela() != null && !getTela().equals("") && getTela().equals("acompanhamento")) {
130
131 link = "";
132 if ("DADOS_GERAIS".equals(aba.getNomeAba())) {
133 link += "javaScript:trocarAba('../dadosGerais/frm_con.jsp');";
134 } else if ("EVENTOS".equals(aba.getNomeAba())) {
135 link += "javaScript:trocarAba('../realizacoes/eventos.jsp');";
136 } else if ("PONTOS_CRITICOS".equals(aba.getNomeAba())) {
137 link += "javaScript:trocarAba('../restricoes/pontosCriticos.jsp');";
138 } else if(aba.getNomeAba().equals("SITUACAO_DATAS")) {
139 link += "javaScript:trocarAba('../situacaoDatas/situacaoDatas.jsp');";
140 } else if ("GALERIA".equals(aba.getNomeAba())) {
141 link += "javaScript:trocarAba('../galeria/galeria.jsp');";
142 } else if ("FINANCEIRO".equals(aba.getNomeAba())) {
143 link += "javaScript:trocarAba('../financeiro/financeiro.jsp');";
144 } else if("RELACAO".equals(aba.getNomeAba())){
145 link += "javascript:voltarTelaAnterior('../detalharItem.jsp');";
146 } else if ("REL_FISICO_IND_RESULTADO".equals(aba.getNomeAba())) {
147 link += "javaScript:trocarAba('../resultado/indicadoresResultado.jsp');";
148 } else if (aba.getNomeAba().equals("SITUACAO_INDICADORES")) {
149 link += "javaScript:trocarAba('../situacaoIndicadores/situacaoIndicadores.jsp');";
150 } else if ("ETAPA".equals(aba.getNomeAba())) {
151 link += "javaScript:trocarAba('../etapa/etapas.jsp');";
152 } else if ("DATAS_LIMITES".equals(aba.getNomeAba())) {
153 link += "javaScript:trocarAba('../datasLimites/datasLimites.jsp');";
154 } else if("SITUACAO".equals(aba.getNomeAba())){
155 link += "javaScript:trocarAba('../situacao/relatorios.jsp');";
156 }
157
158 } else {
159 link = request.getContextPath() + PATH_ACOMP;
160 if ("DADOS_GERAIS".equals(aba.getNomeAba())) {
161 link += "dadosGerais/frm_con.jsp?" + linkPrimeiro;
162 } else if ("EVENTOS".equals(aba.getNomeAba())) {
163 link += "realizacoes/eventos.jsp?" + linkPrimeiro;
164 } else if ("PONTOS_CRITICOS".equals(aba.getNomeAba())) {
165 link += "pontosCriticos.jsp?" + linkPrimeiro;
166 } else if ("GALERIA".equals(aba.getNomeAba())) {
167 link += "galeria.jsp?" + linkPrimeiro;
168 } else if ("FINANCEIRO".equals(aba.getNomeAba())) {
169 link += "financeiro.jsp?" + linkPrimeiro;
170 } else if("SITUACAO".equals(aba.getNomeAba())){
171 link += "situacao.jsp?"+linkPrimeiro;
172 } else if ("REL_FISICO_IND_RESULTADO".equals(aba.getNomeAba())) {
173 link += "realizadoFisico.jsp?" + linkPrimeiro;
174 } else if ("ETAPA".equals(aba.getNomeAba())) {
175 link += "Etapas/frm_con.jsp?" + linkPrimeiro;
176 } else if ("DATAS_LIMITES".equals(aba.getNomeAba())) {
177 link += "datasLimites.jsp?" + linkPrimeiro;
178 }
179 if (acompReferenciaItemSubNivel != null) {
180 link += "codAriSubNivel="
181 + acompReferenciaItemSubNivel.getCodAri() + "&";
182 }
183 }
184
185 }
186
187
188 if(getTela() != null && !getTela().equals("") && getTela().equals("acompanhamento")) {
189
190 criaAbaMonitoramento(situacaoAba, link, aba,s);
191 } else {
192 criaAba(situacaoAba, link, aba,s);
193 }
194 }
195
196 s.append("</td></tr></table>");
197 writer.print(s.toString());
198 } catch (Exception e) {
199 e.printStackTrace();
200 }
201 return BarraLinksRegAcompSuperiorTag.SKIP_BODY;
202
203 }
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218 private void criaAba(String situacaoAba, String link, String label, StringBuffer s) throws ECARException{
219 link += "codAri=" + acompReferenciaItem.getCodAri() + "&codAcomp=" + acompReferenciaItem.getAcompReferenciaAref().getCodAref();
220
221 s.append("<table class=\"").append(situacaoAba).append("\"><tr><td nowrap>");
222 s.append("<a href=\"").append(link).append("\">");
223 s.append(label);
224 s.append("</a>");
225 s.append("</td></tr></table>");
226 }
227
228 private void criaAba(String situacaoAba, String link, Aba aba, StringBuffer s) throws ECARException{
229 link += "codAri=" + acompReferenciaItem.getCodAri() + "&codAcomp=" + acompReferenciaItem.getAcompReferenciaAref().getCodAref();
230 if (aba.getFuncaoFun() != null) {
231 link += "&codAba=" + aba.getFuncaoFun().getCodFun().toString();
232 }
233
234 s.append("<table class=\"").append(situacaoAba).append("\"><tr><td nowrap>");
235 s.append("<a href=\"").append(link).append("\">");
236 s.append(aba.getLabelAba());
237 s.append("</a>");
238 s.append("</td></tr></table>");
239 }
240
241 private void criaAbaMonitoramento(String situacaoAba, String link, Aba aba, StringBuffer s) throws ECARException{
242 s.append("<table class=\"").append(situacaoAba).append("\"><tr><td nowrap>");
243 s.append("<a href=\"").append(link).append("\">");
244 s.append(aba.getLabelAba());
245 s.append("</a>");
246 s.append("</td></tr></table>");
247 }
248
249 private void criaAbaMonitoramento(String situacaoAba, String link, String aba, StringBuffer s) throws ECARException{
250 s.append("<table class=\"").append(situacaoAba).append("\"><tr><td nowrap>");
251 s.append("<a href=\"").append(link).append("\">");
252 s.append(aba);
253 s.append("</a>");
254 s.append("</td></tr></table>");
255 }
256
257
258
259
260
261
262
263
264
265
266 @Override
267 public int doEndTag() throws JspException {
268
269 return BarraLinksRegAcompSuperiorTag.EVAL_PAGE;
270 }
271
272 public String getTela() {
273 return tela;
274 }
275
276
277 public void setTela(String tela) {
278 this.tela = tela;
279 }
280
281
282
283
284
285
286
287
288
289 public AcompReferenciaItemAri getAcompReferenciaItem() {
290 return acompReferenciaItem;
291 }
292
293
294
295
296
297
298
299
300 public void setAcompReferenciaItem(AcompReferenciaItemAri acompReferenciaItem) {
301 this.acompReferenciaItem = acompReferenciaItem;
302 }
303
304
305
306
307
308
309
310
311
312 public String getSelectedFuncao() {
313 return selectedFuncao;
314 }
315
316
317
318
319
320
321
322
323 public void setSelectedFuncao(String selectedFuncao) {
324 this.selectedFuncao = selectedFuncao;
325 }
326
327
328
329
330
331
332
333
334
335 public UsuarioUsu getUsuario() {
336 return usuario;
337 }
338
339
340
341
342
343
344
345
346
347 public void setUsuario(UsuarioUsu usuario) {
348 this.usuario = usuario;
349 }
350
351
352
353
354
355
356
357
358
359 public AcompReferenciaItemAri getAcompReferenciaItemSubNivel() {
360 return acompReferenciaItemSubNivel;
361 }
362
363
364
365
366
367
368
369
370
371 public void setAcompReferenciaItemSubNivel(AcompReferenciaItemAri acompReferenciaItemSubNivel) {
372 this.acompReferenciaItemSubNivel = acompReferenciaItemSubNivel;
373 }
374
375
376
377
378
379
380
381
382
383 public String getPrimeiroAcomp() {
384 return primeiroAcomp;
385 }
386
387
388
389
390
391
392
393
394
395 public void setPrimeiroAcomp(String primeiroAcomp) {
396 this.primeiroAcomp = primeiroAcomp;
397 }
398
399
400
401
402 public HttpServletRequest getRequest() {
403 return request;
404 }
405
406
407
408
409 public void setRequest(HttpServletRequest request) {
410 this.request = request;
411 }
412
413
414 public void setGruposUsuario(Set gruposUsuario) {
415 this.gruposUsuario = gruposUsuario;
416 }
417 }