View Javadoc

1   /*
2    * Criado em 06/04/2005
3    *
4    */
5   package ecar.taglib.util;
6   
7   import java.util.Collection;
8   import java.util.Collections;
9   import java.util.Iterator;
10  import java.util.List;
11  import java.util.Set;
12  
13  import javax.servlet.jsp.JspException;
14  import javax.servlet.jsp.JspWriter;
15  import javax.servlet.jsp.tagext.Tag;
16  import javax.servlet.jsp.tagext.TagSupport;
17  
18  import ecar.dao.AbaDao;
19  import ecar.dao.ItemEstruturaDao;
20  import ecar.dao.PontoCriticoDao;
21  import ecar.dao.TipoAcompanhamentoDao;
22  import ecar.exception.ECARException;
23  import ecar.pojo.Aba;
24  import ecar.pojo.AcompReferenciaItemAri;
25  import ecar.pojo.ItemEstruturaIett;
26  import ecar.pojo.TipoAcompanhamentoTa;
27  import ecar.util.Dominios;
28  
29  /**
30   * @author felipev
31   *
32   */
33  public class BarraLinksRelatorioAcompanhamentoTag extends TagSupport{
34  
35  	private static final long serialVersionUID = -6791633584021020042L;
36  	private String funcaoSelecionada;
37  	private String links;
38      private AcompReferenciaItemAri acompReferenciaItem;
39      
40      private String primeiroIettClicado;
41      private String primeiroAriClicado;
42  
43      private String caminho;
44      
45      private String codTipoAcompanhamento;
46      
47      private static final String ABA_HABILITADA = "abahabilitada";
48      private static final String ABA_DESABILITADA = "abadesabilitada";
49      
50      private Set gruposUsuario;
51      private String contextPath;
52      
53      private String listaGeral;
54      
55      /**
56       * Inicializa a montagem da tag para ser adicionada na tela de HTML.<br>
57       * 
58       * @author N/C
59  	 * @since N/C
60  	 * @version N/C
61  	 * @return int
62  	 * @throws JspException
63       */
64      public int doStartTag() throws JspException {
65      	
66          JspWriter writer = this.pageContext.getOut();
67          try {
68          	
69          	
70          	ItemEstruturaDao itemEstruturaDao = new ItemEstruturaDao(null);
71          	TipoAcompanhamentoDao tipoAcompanhamentoDao= new TipoAcompanhamentoDao(null);
72  	    	PontoCriticoDao pontoCriticoDao = new PontoCriticoDao(null);
73  	    	AbaDao abaDao = new AbaDao(null);
74  	    	primeiroIettClicado = this.pageContext.getRequest().getParameter("primeiroIettClicado");
75              StringBuffer s = new StringBuffer();
76              
77              // se vier de demanda	
78              Long linkCodDemanda = (Long) this.pageContext.getSession().getAttribute("linkCodDemanda");
79              
80                         // Variavel usada para que a tag BarraLinksRelatorioAcompanhamento reconheça que 
81  			// a requisicao para acessar a tela avaliações veio de associacao e nao de registro de demandas
82              String ehAssociacao = (String) this.pageContext.getSession().getAttribute("ehAssociacao");
83              
84              // o teste getAbaSuperior().equals(Dominios.NAO) é feito porque a pagina chama essa barraTag duas vezes
85              if (getAbaSuperior().equals(Dominios.NAO) && linkCodDemanda != null && !"".equals(linkCodDemanda)) {
86              	
87              	//guarda se é associação de demanda 
88              	// se exisir, é porque aponta pra associação
89              	// se não existir, aponta para registro demanda 
90              	String associacaoDemanda =  (String) this.pageContext.getRequest().getAttribute("associacaoDemanda");
91  
92              	s.append("<script language=\"JavaScript\">");
93              	s.append("function aoClicarAssociacaoDemandas(){");
94              	s.append("	document.form.action = \"" + contextPath + "/cadastroItens/associacaoDemandas/frm_con.jsp\";");
95              	s.append("	document.form.submit();");
96              	s.append("}");
97              	s.append("function aoClicarDemandas(){");
98              	s.append("	document.form.action = \"" + contextPath + "/demandas/registro/frm_cons.jsp\";");
99              	s.append("	document.form.submit();");
100             	s.append("}");
101             	s.append("</script>");
102             	s.append("<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">");
103             	s.append("<tr><td align=\"right\">");
104              	// se for voltar pra associação de demandas
105              	if(associacaoDemanda != null && associacaoDemanda.equals("V")) {
106              		s.append("<a href=\"#\" onclick=\"aoClicarAssociacaoDemandas();\">[ Voltar para Associação de Demandas ]</a>");
107             		// variaves necessarias para voltar para associacao de demanda
108             		String codAbaDemanda = (String) this.pageContext.getSession().getAttribute("codAbaDemanda");
109             		String codIettDemanda = (String) this.pageContext.getSession().getAttribute("codIettDemanda");
110             		// guarda no hidden
111             		s.append("<input type=\"hidden\" name=\"codAbaDemanda\" value=\"");
112                 	s.append(codAbaDemanda);
113                 	s.append("\">");
114                 	s.append("<input type=\"hidden\" name=\"codIettDemanda\" value=\"");
115                 	s.append(codIettDemanda);
116                 	s.append("\">");
117             	} else {
118             		//se for voltar par registro de demandas
119             		s.append("<a href=\"#\" onclick=\"aoClicarDemandas();\">[ Voltar para Demandas ]</a>");
120             	}
121             	s.append("</td></tr>");
122             	s.append("</table>");
123             	s.append("\n");
124             	s.append("<input type=\"hidden\" name=\"codRegd\" value=\"" +linkCodDemanda.toString() + "\">" );
125             	s.append("\n");
126             }
127             
128         	
129             
130         	s.append("<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" id=\"abas\"><tr><td>");
131         	
132         	String codItemPai = "";
133         	
134         	TipoAcompanhamentoTa tipoAcompanhamento = (TipoAcompanhamentoTa) tipoAcompanhamentoDao.buscar(TipoAcompanhamentoTa.class, Long.valueOf(getCodTipoAcompanhamento()));
135         	Long longPrimeiroItemClicado = (primeiroIettClicado == null)?null:Long.valueOf(primeiroIettClicado);
136         	
137         	if(tipoAcompanhamento != null && tipoAcompanhamento.getEstruturaEtt() != null && longPrimeiroItemClicado != null){
138             	ItemEstruturaIett itemFilho = (ItemEstruturaIett) itemEstruturaDao.buscar(ItemEstruturaIett.class, longPrimeiroItemClicado);
139             	if(itemFilho != null && itemFilho.getItemEstruturaIett() != null){
140             		codItemPai = itemFilho.getItemEstruturaIett().getCodIett().toString();
141             	}
142             	if("".equals(codItemPai)) {
143             		codItemPai = itemFilho.getCodIett().toString();
144             	}
145         	}
146             
147             String pagina = "";
148             String situacaoAba = "";
149             
150             /* Aba Resumo é fixa, não está no banco */
151             if (abaSuperior == null || getAbaSuperior().equals(Dominios.NAO)){
152 	            situacaoAba = ABA_DESABILITADA;
153 	            if("RESUMO".equals(funcaoSelecionada))
154 	                situacaoAba = ABA_HABILITADA;
155 	            
156 	            if(podeCriarAba("Resumo", "resumo/detalharItem.jsp", situacaoAba, false))
157 	            	criaAba("Resumo", "resumo/detalharItem.jsp", situacaoAba, s, codItemPai, false);
158             }
159                          
160             
161             List<Aba> listAbas = null;
162             
163             if (getAbaSuperior().equals(Dominios.SIM)) {
164             	listAbas = abaDao.getListaAbasSuperiorComAcesso(tipoAcompanhamento, gruposUsuario);
165             } else {
166             	listAbas = abaDao.getListaAbasComAcesso(tipoAcompanhamento, gruposUsuario);
167             }
168             
169             //Aba fixa LISTA GERAL
170             Aba abaListaGeral = new Aba();
171             
172             if (getAbaSuperior().equals("S")) {
173 	            abaListaGeral.setAbaSuperior("S");
174 	            abaListaGeral.setNomeAba("LISTA_GERAL");
175 	            abaListaGeral.setLabelAba("Lista Geral");
176 	            abaListaGeral.setOrdemAba(0);
177 	            listAbas.add(0, abaListaGeral);
178             }
179             
180 			for  (Iterator it = listAbas.iterator();it.hasNext();) {
181 				Aba aba = (Aba) it.next();
182 				
183 				String nomeAba = aba.getNomeAba();
184 				
185 				situacaoAba = ABA_DESABILITADA;            
186 	            
187 	            if (!"NIVEL_PLANEJAMENTO".equals(nomeAba)) {
188 	            	
189 	            	if (funcaoSelecionada.equals(nomeAba)) {
190 		                situacaoAba = ABA_HABILITADA;
191 		            }
192 	            	
193 	            	if ("PONTOS_CRITICOS".equals(nomeAba)) {
194 	            		ItemEstruturaIett iett = null;
195 	            		String codIettRelacao = this.pageContext.getRequest().getParameter("codIettRelacao");
196 	            		if(acompReferenciaItem != null) {
197 	            			iett = acompReferenciaItem.getItemEstruturaIett();
198 	            		} else if(codIettRelacao != null && !"".equals(codIettRelacao) && !"situacaoDatas".equals(funcaoSelecionada) && !"situacaoIndicadores".equals(funcaoSelecionada)){
199 	            	    	iett = (ItemEstruturaIett) itemEstruturaDao.buscar(ItemEstruturaIett.class, Long.valueOf(codIettRelacao));
200 	            		}
201 	            		if(iett != null) {
202 			            	// verificação dos pontos críticos
203 				        	try {
204 				    	    	Collection pontosCriticos = Collections.EMPTY_LIST;
205 				    	    	pontosCriticos = pontoCriticoDao.getPontosCriticosNaoSolucionados(iett);
206 				    	    	
207 				    	    	if (pontoCriticoDao.verificaDatasUltrapassadas(pontosCriticos)) {
208 				    	    		situacaoAba = "abapontocritico"; 
209 				    	    	}
210 				        	} catch (Exception e) {
211 				        		situacaoAba = ABA_DESABILITADA; 
212 				        	}
213 	            		} else {
214 			        		situacaoAba = ABA_DESABILITADA; 
215 	            		}
216 			            //fim - verificação dos pontos críticos
217 		            	pagina = "restricoes/pontosCriticos.jsp";
218 		            } else if ("DADOS_GERAIS".equals(nomeAba)) {
219 		            	pagina = "dadosGerais/dadosGerais.jsp";
220 		            } else if ("EVENTOS".equals(nomeAba)) {
221 		            	pagina = "eventos/eventos.jsp";
222 		            } else if ("GALERIA".equals(nomeAba)) {
223 		            	pagina = "galeria/galeria.jsp";
224 		            } else if ("FINANCEIRO".equals(nomeAba)) {
225 		            	pagina = "financeiro/financeiro.jsp";
226 		            } else if ("REL_FISICO_IND_RESULTADO".equals(nomeAba)) {
227 		            	pagina = "../resultado/indicadoresResultado.jsp?tela=V";
228 //		            	pagina = "resultado/indicadoresResultado.jsp";
229 		            } else if ("DATAS_LIMITES".equals(nomeAba)) {
230 		            	pagina = "datasLimites/datasLimites.jsp";
231 		            } else if ("SITUACAO".equals(nomeAba)){
232 		            	pagina = "situacao/relatorios.jsp?tela=V";
233 		            } else if ("SITUACAO_DATAS".equals(nomeAba)) {
234 		            	pagina = "situacaoDatas/situacaoDatas.jsp";
235 		            } else if ("SITUACAO_INDICADORES".equals(nomeAba)) {
236 		            	pagina = "situacaoIndicadores/situacaoIndicadores.jsp";
237 		            } else if ("ETAPA".equals(nomeAba)) {
238 		            	pagina = "etapas/etapas.jsp";
239 		            	if(acompReferenciaItem != null && itemEstruturaDao.verificaItemPossuiEtapas(acompReferenciaItem.getItemEstruturaIett())){
240 		            		if(podeCriarAba(aba.getLabelAba(),pagina,situacaoAba,false))
241 		            			criaAba(aba.getLabelAba(), pagina, situacaoAba, s, codItemPai, false);
242 		            	}
243 		            	continue;
244 		            }
245 		            else if ("LISTA_GERAL".equals(nomeAba)){
246 		            	pagina = getListaGeral();
247 					}
248 		            else if ("GRAFICO_DE_GANTT".equals(nomeAba)){
249 		            	pagina = "graficoGantt/graficoGantt.jsp";
250 		            }
251 					
252 	                boolean ehProximosItens = false;
253 		            if("proximosItens".equals(funcaoSelecionada)) {
254 		            	if("DADOS_GERAIS".equals(nomeAba)
255 		            			|| "EVENTOS".equals(nomeAba)
256 		            			|| "GALERIA".equals(nomeAba)
257 		            			|| "PONTOS_CRITICOS".equals(nomeAba)) {
258 			                ehProximosItens = true;
259 		            	}
260 					}
261 		            
262 		            //testar se pode criar ou nao
263 		            if(podeCriarAba(aba.getLabelAba() , pagina, situacaoAba, ehProximosItens))
264 		            	criaAba(aba.getLabelAba(), pagina, situacaoAba, s, codItemPai, ehProximosItens);
265 				}
266 			}
267         	
268 			
269 			/*Não é para aparecer a aba relatorio impresso na aba superior 
270 			 * mas na aba normal sim
271 			 */
272 			if (getAbaSuperior().equals(Dominios.NAO)) {
273 				situacaoAba = ABA_DESABILITADA;            
274 	            if ("relatorioImpresso".equals(funcaoSelecionada)) {
275 	                situacaoAba = ABA_HABILITADA;
276 	            }
277 	            
278 	            if(podeCriarAba("Relatório Impresso", "relatorioImpresso.jsp", situacaoAba, false))
279 	            	criaAba("Relatório Impresso", "relatorios/relatorioImpresso.jsp?tela=V", situacaoAba, s, codItemPai, false);
280 			}
281             
282             s.append("</td></tr></table>");
283             
284             writer.print(s.toString());
285         } catch (Exception e) {
286         	org.apache.log4j.Logger.getLogger(this.getClass()).error(e);
287         	e.printStackTrace();
288         }
289         return Tag.SKIP_BODY;
290     }
291     
292     
293     /**
294      * Verifica se a aba pode ser criada. Apenas abas com links ou selecionadas podem ser criadas<br>
295      * 
296      * @author N/C
297 	 * @since N/C
298 	 * @version N/C
299 	 * @param String label
300 	 * @param String pagina
301 	 * @param String situacaoAba
302 	 * @param boolean liberarAbasSeProximosItens
303      * @throws ECARException
304      */
305     private boolean podeCriarAba(String label, String pagina, String situacaoAba, 
306     				boolean liberarAbasSeProximosItens) throws ECARException {
307     	
308     	boolean podeCriar = false;
309     	
310     	// Se a aba estiver habilitada, ou seja, selecionada, ela deve ser criada
311     	if (situacaoAba == ABA_HABILITADA) {
312     		podeCriar = true;
313     	} else {
314     		
315     		//São feitos os mesmos testes do método criaAba
316     		
317     		String codIettRelacao = (this.pageContext.getRequest().getParameter("codIettRelacao") == null)?"":this.pageContext.getRequest().getParameter("codIettRelacao");
318     		
319         	if(acompReferenciaItem == null && codIettRelacao != null && !"".equals(codIettRelacao) 
320              		&& ("../posicaoGeral.jsp".equals(pagina)              				
321              				|| "eventos/eventos.jsp".equals(pagina)
322              				|| "dadosGerais/dadosGerais.jsp".equals(pagina)
323              				|| "galeria/galeria.jsp".equals(pagina)
324              				|| "restricoes/pontosCriticos.jsp".equals(pagina)
325              				|| "proximosItens.jsp".equals(pagina))) {
326      			
327         		//System.out.println("Entrou 1");
328      			podeCriar = true;
329      			
330             } else if(liberarAbasSeProximosItens && acompReferenciaItem == null) {
331      			podeCriar = true;
332             }
333              else if(!"N".equals(getLinks()) && acompReferenciaItem != null){
334      			podeCriar = true;
335             }
336      		 else if ("Relatório Impresso".equals(label) && ABA_DESABILITADA.equals(situacaoAba)){
337      			/*Não é para aparecer a aba relatorio impresso na aba superior */
338      			 if (getAbaSuperior().equals(Dominios.NAO)) {
339      				 podeCriar = true;
340      			 }
341      		}
342      		else if ("Posição Geral".equals(label) && ABA_DESABILITADA.equals(situacaoAba)){			
343      			podeCriar = true;
344      		}
345      		else if (("situacaoDatas/situacaoDatas.jsp".equals(pagina) || "situacaoIndicadores/situacaoIndicadores.jsp".equals(pagina))&& ABA_DESABILITADA.equals(situacaoAba)){			
346      			podeCriar = true;
347      		}
348         	
349     		
350     	}
351     	
352     	return podeCriar;
353     	
354     }
355     
356     /**
357      * Cria Aba.<br>
358      * 
359      * @author N/C
360 	 * @since N/C
361 	 * @version N/C
362 	 * @param String label
363 	 * @param String pagina
364 	 * @param String situacaoAba
365 	 * @param StringBuffer s
366 	 * @param String codItemPai
367 	 * @param boolean liberarAbasSeProximosItens
368      * @throws ECARException
369      */
370     private void criaAba(String label, String pagina, String situacaoAba, StringBuffer s, 
371     		String codItemPai, boolean liberarAbasSeProximosItens) throws ECARException{
372     	String link = caminho + pagina;
373     	
374     	if(!"N".equals(getLinks())) {
375     		
376     		if (pagina.indexOf("?") < 0){ //Não encontrou o caractere ?
377     			link += "?primeiroIettClicado=" + getPrimeiroIettClicado() + "&primeiroAriClicado=" + getPrimeiroAriClicado() ;
378     		} else {
379     			link += "&primeiroIettClicado=" + getPrimeiroIettClicado() + "&primeiroAriClicado=" + getPrimeiroAriClicado();
380     		}
381     		
382 			if(codItemPai != null && !"".equals(codItemPai)) {
383     			link += "&itemDoNivelClicado=" + codItemPai;
384     		} 
385     	}
386     	
387     	String codIettRelacao = (this.pageContext.getRequest().getParameter("codIettRelacao") == null)?"":this.pageContext.getRequest().getParameter("codIettRelacao");
388     	
389     	
390         s.append("<table class=\"" + situacaoAba + "\"><tr><td nowrap>");
391         if(acompReferenciaItem == null && codIettRelacao != null && !"".equals(codIettRelacao) 
392         		&& ("../posicaoGeral.jsp".equals(pagina) 
393         				|| "dadosGerais/dadosGerais.jsp".equals(pagina)
394         				|| "eventos/eventos.jsp".equals(pagina)
395         				|| "galeria/galeria.jsp".equals(pagina)
396         				|| "restricoes/pontosCriticos.jsp".equals(pagina)
397         				|| "proximosItens.jsp".equals(pagina))) {
398 			s.append("<a href=\"#\" onclick=\"javascript:trocaAbaSemAri('" + link + "','" + this.pageContext.getRequest().getParameter("itemDoNivelClicado") + "')\">");
399         } else if(liberarAbasSeProximosItens && acompReferenciaItem == null) {
400 			s.append("<a href=\"#\" onclick=\"javascript:trocaAbaSemAri('" + link + "','" + this.pageContext.getRequest().getParameter("itemDoNivelClicado") + "')\">");
401         }
402         else if(!"N".equals(getLinks()) && acompReferenciaItem != null){
403 			s.append("<a href=\"#\" onclick=\"javascript:trocaAba('" + link + "'," + acompReferenciaItem.getCodAri() + ")\">");
404 		}
405 		else if ("Relatório Impresso".equals(label) && ABA_DESABILITADA.equals(situacaoAba)){
406 			
407 			/*Não é para aparecer a aba relatorio impresso na aba superior */
408 			if (getAbaSuperior().equals(Dominios.NAO)) {
409 				link = caminho + "../posicaoGeral.jsp?relatorio=true&acomp=true";
410 				s.append("<a href=\"#\" onclick=\"javascript:trocaAbaImpressao('" + link + "'" + ")\">");
411 			}
412 		}
413 		else if ("Posição Geral".equals(label) && ABA_DESABILITADA.equals(situacaoAba)){			
414 			link = caminho + "../posicaoGeral.jsp";
415 			s.append("<a href=\"#\" onclick=\"javascript:trocaAbaImpressao('" + link + "'" + ")\">");
416 		}
417 		else if (("situacaoDatas/situacaoDatas.jsp".equals(pagina) || "situacaoIndicadores/situacaoIndicadores.jsp".equals(pagina))&& ABA_DESABILITADA.equals(situacaoAba)){			
418 			s.append("<a href=\"#\" onclick=\"javascript:trocaAbaImpressao('" + link + "'" + ")\">");
419 		}
420 		
421 		s.append(label);
422 		s.append("</a>");
423         s.append("</td></tr></table>");            
424     }
425 
426     /**
427      * Encerra Tag.<br>
428      * 
429      * @author N/C
430 	 * @since N/C
431 	 * @version N/C
432 	 * @return int
433 	 * @throws JspException
434      */
435     public int doEndTag() throws JspException {
436         /* processa o restante da página jsp */
437         return Tag.EVAL_PAGE;
438     }
439     
440     /**
441      * Retorna AcompReferenciaItemAri acompReferenciaItem.<br>
442      * 
443      * @author N/C
444 	 * @since N/C
445 	 * @version N/C
446      * @return AcompReferenciaItemAri Returns the acompReferenciaItem.
447      */
448     public AcompReferenciaItemAri getAcompReferenciaItem() {
449         return acompReferenciaItem;
450     }
451     
452     /**
453      * Atribui valor especificado para AcompReferenciaItemAri acompReferenciaItem.<br>
454      * 
455      * @author N/C
456 	 * @since N/C
457 	 * @version N/C
458      * @param AcompReferenciaItemAri acompReferenciaItem - (The acompReferenciaItem to set)
459      */
460     public void setAcompReferenciaItem(AcompReferenciaItemAri acompReferenciaItem) {
461         this.acompReferenciaItem = acompReferenciaItem;
462     }
463     
464     /**
465      * Retorna String funcaoSelecionada.<br>
466      * 
467      * @author N/C
468 	 * @since N/C
469 	 * @version N/C
470      * @return String - (Returns the funcaoSelecionada)
471      */
472     public String getFuncaoSelecionada() {
473         return funcaoSelecionada;
474     }
475     
476     /**
477      * Atribui valor especificado para String funcaoSelecionada.<br>
478      * 
479      * @author N/C
480 	 * @since N/C
481 	 * @version N/C
482      * @param String funcaoSelecionada - (The funcaoSelecionada to set)
483      */
484     public void setFuncaoSelecionada(String funcaoSelecionada) {
485         this.funcaoSelecionada = funcaoSelecionada;
486     }
487 
488 	/**
489 	 * Retorna String links.<br>
490 	 * 
491 	 * @author N/C
492 	 * @since N/C
493 	 * @version N/C
494 	 * @return String - (Returns the links)
495 	 */
496 	public String getLinks() {
497 		return links;
498 	}
499 
500 	/**
501 	 * Atribui valor especificado para String links.<br>
502 	 * 
503 	 * @author N/C
504 	 * @since N/C
505 	 * @version N/C
506 	 * @param String links - (The links to set)
507 	 */
508 	public void setLinks(String links) {
509 		this.links = links;
510 	}
511     
512 	/**
513 	 * Retorna String primeiroIettClicado.<br>
514 	 * 
515 	 * @author N/C
516 	 * @since N/C
517 	 * @version N/C
518 	 * @return String
519 	 */
520     public String getPrimeiroIettClicado() {
521 		return primeiroIettClicado;
522 	}
523 
524     /**
525      * Atribui valor especificado para String primeiroIettClicado.<br>
526      * 
527      * @author N/C
528 	 * @since N/C
529 	 * @version N/C
530      * @param primeiroIettClicado 
531      */
532 	public void setPrimeiroIettClicado(String primeiroIettClicado) {
533 		
534 		this.primeiroIettClicado = (primeiroIettClicado == null || primeiroIettClicado.trim().equals(""))?null:primeiroIettClicado;
535 	}
536 
537 	/**
538 	 * Retorna String primeiroAriClicado.<br>
539 	 * 
540 	 * @author N/C
541 	 * @since N/C
542 	 * @version N/C
543 	 * @return String
544 	 */
545 	public String getPrimeiroAriClicado() {
546 		return primeiroAriClicado;
547 	}
548 
549 	/**
550 	 * Atribui valor especificado para String primeiroAriClicado.<br>
551 	 * 
552 	 * @author N/C
553 	 * @since N/C
554 	 * @version N/C
555 	 * @param String primeiroAriClicado
556 	 */
557 	public void setPrimeiroAriClicado(String primeiroAriClicado) {
558 		this.primeiroAriClicado = primeiroAriClicado;
559 	}
560 
561 	/**
562 	 * Retorna String caminho.<br>
563 	 * 
564 	 * @author N/C
565 	 * @since N/C
566 	 * @version N/C
567 	 * @return String
568 	 */
569 	public String getCaminho() {
570 		return caminho;
571 	}
572 
573 	/**
574 	 * Atribui valor especificado para String caminho.<br>
575 	 * 
576 	 * @author N/C
577 	 * @since N/C
578 	 * @version N/C
579 	 * @param String caminho
580 	 */
581 	public void setCaminho(String caminho) {
582 		this.caminho = caminho;
583 	}
584 
585 	/**
586 	 * Retorna String codTipoAcompanhamento.<br>
587 	 * 
588 	 * @author N/C
589 	 * @since N/C
590 	 * @version N/C
591 	 * @return String
592 	 */
593 	public String getCodTipoAcompanhamento() {
594 		return codTipoAcompanhamento;
595 	}
596 
597 	/**
598 	 * Atribui valor especificado para String codTipoAcompanhamento.<br>
599 	 * 
600 	 * @author N/C
601 	 * @since N/C
602 	 * @version N/C
603 	 * @param String codTipoAcompanhamento
604 	 */
605 	public void setCodTipoAcompanhamento(String codTipoAcompanhamento) {
606 		this.codTipoAcompanhamento = codTipoAcompanhamento;
607 	}
608 
609 	public void setGruposUsuario(Set gruposUsuario) {
610 		this.gruposUsuario = gruposUsuario;
611 	}
612 	
613 	/**
614 	 * Guarda o valor do pathEcar.<br>
615 	 * 
616 	 * @author N/C
617 	 * @since N/C
618 	 * @version N/C
619 	 * @param String contextPath
620 	 */
621 	public String getContextPath() {
622 		return contextPath;
623 	}
624 
625 	public void setContextPath(String contextPath) {
626 		this.contextPath = contextPath;
627 	}
628 	
629 	    
630     
631     /**
632      * Serve para distinguir entre a aba superior que é comum a vários acompanhamentos
633      * e a aba mais embaixo que não aparece essas abas superior.
634      */
635     private String abaSuperior= Dominios.NAO ;
636     
637     public String getAbaSuperior() {
638 		return abaSuperior;
639 	}
640 
641 
642 	public void setAbaSuperior(String abaSuperior) {
643 		this.abaSuperior = abaSuperior;
644 	}
645 
646 
647 	public Set getGruposUsuario() {
648 		return gruposUsuario;
649 	}
650 
651 
652 	public String getListaGeral() {
653 		return listaGeral;
654 	}
655 
656 
657 	public void setListaGeral(String listaGeral) {
658 		this.listaGeral = listaGeral;
659 	}
660 }