View Javadoc

1   /*
2    * Created on 06/10/2004
3    *
4    */
5   package ecar.taglib.util;
6   
7   import java.util.Iterator;
8   import java.util.List;
9   
10  import javax.servlet.jsp.JspException;
11  import javax.servlet.jsp.JspWriter;
12  import javax.servlet.jsp.tagext.Tag;
13  import javax.servlet.jsp.tagext.TagSupport;
14  
15  import ecar.dao.UsuarioDao;
16  import ecar.dao.AcompReferenciaItemDao;
17  import ecar.dao.AcompRelatorioDao;
18  import ecar.dao.CorDao;
19  import ecar.dao.ItemEstUsutpfuacDao;
20  import ecar.pojo.AcompReferenciaItemAri;
21  import ecar.pojo.AcompRelatorioArel;
22  import ecar.pojo.ItemEstUsutpfuacIettutfa;
23  import ecar.pojo.StatusRelatorioSrl;
24  
25  /**
26   * @author garten
27   * 
28   */
29  public class BarraSinaisTag extends TagSupport {
30      
31      /**
32  	 * 
33  	 */
34  	private static final long serialVersionUID = -3343172767572443615L;
35  	AcompReferenciaItemAri acompReferenciaItem;
36      private String caminho;
37  
38      /**
39       * Inicializa a montagem da tag para ser adicionada na tela de HTML.<br>
40       * 
41       * @author N/C
42  	 * @since N/C
43  	 * @version N/C
44  	 * @return int
45  	 * @throws JspException
46       */
47  	public int doStartTag() throws JspException {
48  		JspWriter writer = this.pageContext.getOut();
49  
50  		ItemEstUsutpfuacDao itemFuacDao = new ItemEstUsutpfuacDao(null);
51  		ItemEstUsutpfuacIettutfa itemFuac;
52  	    AcompRelatorioDao acompArelDao = new AcompRelatorioDao(null);
53  	    CorDao corDao = new CorDao(null);
54  	    AcompRelatorioArel acompArel;
55  	    List lItemFuac;
56          StringBuffer sb = new StringBuffer();        
57  		
58  		try {
59  		    /* lista de fuac ordenada */
60  		    lItemFuac = itemFuacDao.getFuacEmitePosicaoOrderByFuncAcomp(getAcompReferenciaItem().getItemEstruturaIett());
61  		    UsuarioDao usuDao = new UsuarioDao(null);
62  		    
63              StatusRelatorioSrl statusLiberado = (StatusRelatorioSrl) acompArelDao.
64                                              buscar(StatusRelatorioSrl.class, Long.valueOf(AcompReferenciaItemDao.STATUS_LIBERADO));
65              		    
66  		    Iterator it = lItemFuac.iterator();
67  		    sb.append("<table border=\"0\" class=\"texto\" cellpadding=\"0\" cellspacing=\"0\">");
68  		    while (it.hasNext()) {			
69  		        itemFuac = (ItemEstUsutpfuacIettutfa) it.next();
70  		        acompArel = acompArelDao.getAcompRelatorio(itemFuac.getTipoFuncAcompTpfa(), getAcompReferenciaItem());
71  		         
72                                  
73  		        sb.append("<tr valign=\"middle\">");
74  		                        
75  		        // if adicionado devido ao BUG 3490
76  		        if(acompArel == null) {
77                      sb.append("<td>&nbsp;</td>");
78  		        }
79  		        else if(!"S".equals(acompArel.getIndLiberadoArel())){
80                      sb.append("<td>N/L&nbsp;</td>");
81  		        }else if(getAcompReferenciaItem().getStatusRelatorioSrl() != null && 
82                          getAcompReferenciaItem().getStatusRelatorioSrl().equals(statusLiberado)){
83                      if (acompArel.getCor() != null) {
84                          String sinal = corDao.getImagemSinal(acompArel.getCor(), itemFuac.getTipoFuncAcompTpfa());
85                          sb.append("<td><img src=\"").append(caminho).append("/images/").append(sinal).append("\"></td>");
86                      } else {                    
87                          sb.append("<td>N/I&nbsp;</td>");
88                      }                                             
89                  } else {
90                      /* Se acompanhamento não estiver sido liberado */
91                      sb.append("<td>N/L&nbsp;</td>");
92                  }
93                  
94  		        String titulo = "";
95  		        String telefone = "";
96  		        String atribuidoPor = "";
97  		        String posicao = "1";
98  				String imagem_inativa = "";
99  		        
100 		        if (itemFuac.getUsuarioUsu() != null){
101 		        	if(itemFuac.getUsuarioUsu().getComercDddUsu() != null && !"".equals(itemFuac.getUsuarioUsu().getComercDddUsu())){
102 			        	telefone += itemFuac.getUsuarioUsu().getComercDddUsu();
103 			        }
104 			        
105 			        if(itemFuac.getUsuarioUsu().getComercTelefoneUsu() != null && !"".equals(itemFuac.getUsuarioUsu().getComercTelefoneUsu())){
106 			        	if(!"".equals(telefone)){
107 			        		telefone += " ";
108 			        	}
109 			        	telefone += itemFuac.getUsuarioUsu().getComercTelefoneUsu();
110 			        }
111 			        
112 			        titulo += telefone;
113 			        
114 			        if (usuDao.getCelularByUsuario(itemFuac.getUsuarioUsu()) != null && !"".equals(usuDao.getCelularByUsuario(itemFuac.getUsuarioUsu()))){
115 				        titulo += " <br> ";
116 				        titulo += usuDao.getCelularByUsuario(itemFuac.getUsuarioUsu());
117 			        }
118 			        
119 			        if(itemFuac.getUsuarioUsu().getEmail1UsuSent() != null && !"".equals(itemFuac.getUsuarioUsu().getEmail1UsuSent())){
120 			        	if(!"".equals(titulo)){
121 			        		titulo += " <br> ";
122 			        	}
123 			        	titulo += itemFuac.getUsuarioUsu().getEmail1UsuSent();
124 			        }
125 			       
126 			        atribuidoPor = itemFuac.getUsuarioUsu().getNomeUsuSent();
127 			        
128 					imagem_inativa = "";
129 					
130 					if (!"S".equals(itemFuac.getUsuarioUsu().getIndAtivoUsu())){
131 						imagem_inativa="<img src=\"../images/icon_usuario_inativo.png\" title=\"Usuário Inativo\">";
132 					}
133 	                //sb.append("<td>" + itemFuac.getTipoFuncAcompTpfa().getLabelTpfa() + " atual:&nbsp;");
134 			        	
135 			        
136 			        
137 		        } else if (itemFuac.getSisAtributoSatb() != null){
138 		        	atribuidoPor = itemFuac.getSisAtributoSatb().getDescricaoSatb();
139 			        
140 		        }
141 		        
142 				if (acompArel != null){
143 					sb.append("<td class=\"item_InfoUsu_td\" onMouseOver=\"javascript:showInfoUsu(" + acompArel.getCodArel().toString() + ",'" + atribuidoPor + "','" + posicao + "')\" onMouseOut=\"javascript:hideInfoUsu(" + acompArel.getCodArel().toString() + ",'" + atribuidoPor + "','" + posicao + "')\" >").append(itemFuac.getTipoFuncAcompTpfa().getLabelTpfa()).append(":&nbsp;");
144 	                sb.append("<b>").append(atribuidoPor).append("</b>");
145 				} else
146 					sb.append("<td>&nbsp;</td>");
147 				
148 		        // if alterado devido ao BUG 3490
149                 if (acompArel != null && acompArel.getUsuarioUsuUltimaManutencao() != null && itemFuac.getUsuarioUsu() != null &&
150                     acompArel.getUsuarioUsuUltimaManutencao().getCodUsu() != itemFuac.getUsuarioUsu().getCodUsu()){
151                     sb.append("<br>").append(itemFuac.getTipoFuncAcompTpfa().getLabelPosicaoTpfa()).append(" atribuído por:&nbsp;").append(acompArel.getUsuarioUsuUltimaManutencao().getNomeUsuSent());
152                 }                   
153                 if(acompArel != null)
154                 	sb.append(" <span id=\"spanInfoUsu"+acompArel.getCodArel().toString()+"_"+atribuidoPor+"_"+posicao+"\" class=\"item_InfoUsu_span\" >"+titulo+"</span>");
155                 sb.append(imagem_inativa + "</td></tr>");
156                 
157 		       
158 		    }
159 		    sb.append("</table>");
160             
161             writer.println(sb.toString());
162 		    
163 		} catch (Exception e) {
164         	org.apache.log4j.Logger.getLogger(this.getClass()).error(e);
165         	e.printStackTrace();
166 		}
167 		/* nao processa o conteudo do corpo da tag, porque nao existe */
168 		return Tag.SKIP_BODY;
169 	}
170 
171 	/**
172 	 * Encerra Tag.<br>
173 	 * 
174 	 * @author N/C
175 	 * @since N/C
176 	 * @version N/C
177 	 * @return int
178 	 * @throws JspException
179 	 */
180 	public int doEndTag() throws JspException {
181 	    /* processa o restante da página jsp */
182 		return Tag.EVAL_PAGE;
183 	}
184 
185     /**
186      * Retorna AcompReferenciaItemAri acompReferenciaItem.<br>
187      * 
188      * @author N/C
189 	 * @since N/C
190 	 * @version N/C
191      * @return AcompReferenciaItemAri - (Returns the acompReferenciaItem)
192      */
193     public AcompReferenciaItemAri getAcompReferenciaItem() {
194         return acompReferenciaItem;
195     }
196     
197     /**
198      * AcompReferenciaItemAri acompReferenciaItem.<br>
199      * 
200      * @author N/C
201 	 * @since N/C
202 	 * @version N/C
203      * @param AcompReferenciaItemAri acompReferenciaItem - (The acompReferenciaItem to set)
204      */
205     public void setAcompReferenciaItem(AcompReferenciaItemAri itemAri) {
206         this.acompReferenciaItem = itemAri;
207     }
208 
209     /**
210      * Retorna String caminho.<br>
211      * 
212      * @author N/C
213 	 * @since N/C
214 	 * @version N/C
215      * @return String
216      */
217 	public String getCaminho() {
218 		return caminho;
219 	}
220 
221 	/**
222 	 * Atribui valor especificado para String caminho.<br>
223 	 * 
224 	 * @author N/C
225 	 * @since N/C
226 	 * @version N/C
227 	 * @param String caminho
228 	 */
229 	public void setCaminho(String caminho) {
230 		this.caminho = caminho;
231 	}
232 }