1
2
3
4
5 package ecar.taglib.util;
6
7 import java.util.ArrayList;
8 import java.util.Collection;
9 import java.util.Collections;
10 import java.util.Comparator;
11 import java.util.Iterator;
12 import java.util.List;
13
14 import javax.servlet.jsp.JspException;
15 import javax.servlet.jsp.JspWriter;
16 import javax.servlet.jsp.tagext.Tag;
17 import javax.servlet.jsp.tagext.TagSupport;
18
19 import comum.util.Util;
20
21 import ecar.dao.ItemEstruturaDao;
22 import ecar.dao.PontoCriticoDao;
23 import ecar.pojo.EstruturaEtt;
24 import ecar.pojo.EstruturaFuncaoEttf;
25 import ecar.pojo.ItemEstruturaIett;
26
27
28
29
30
31 public class BarraLinksItemEstruturaTag extends TagSupport {
32 private static final long serialVersionUID = -4120193640057668093L;
33
34 private EstruturaEtt estrutura;
35 private String selectedFuncao;
36 private String codItemEstrutura;
37 private Boolean desabilitarLinks;
38 private String contextPath;
39
40
41
42
43
44
45
46
47
48
49 public int doStartTag() throws JspException {
50 JspWriter writer = this.pageContext.getOut();
51 try {
52 StringBuffer s = new StringBuffer();
53 s.append("<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" id=\"abas\"><tr><td>");
54 List funcoes = new ArrayList( getEstrutura().getEstruturaFuncaoEttfs());
55 Collections.sort(funcoes, new Comparator(){
56 public int compare(Object arg0, Object arg1) {
57 EstruturaFuncaoEttf ef1 = (EstruturaFuncaoEttf) arg0;
58 EstruturaFuncaoEttf ef2 = (EstruturaFuncaoEttf) arg1;
59
60 Integer seq1 = ef1.getSeqApresentacaoTelaEttf();
61 Integer seq2 = ef2.getSeqApresentacaoTelaEttf();
62
63 if(seq1 == null && seq2 == null)
64 return 0;
65 if(seq1 != null && seq2 == null)
66 return 1;
67 if(seq1 == null && seq2 != null)
68 return -1;
69 return ef1.getSeqApresentacaoTelaEttf().compareTo(ef2.getSeqApresentacaoTelaEttf());
70 }
71 });
72
73
74 if(getSelectedFuncao() != null && !"".equals(getSelectedFuncao()))
75 s.append("<table class=\"abadesabilitada\"><tr><td nowrap>");
76 else
77 s.append("<table class=\"abahabilitada\"><tr><td nowrap>");
78
79 if (desabilitarLinks == null || desabilitarLinks.booleanValue() == false) {
80 s.append("<a href=\"../dadosGerais/frm_con.jsp?")
81 .append("codIett=").append(getCodItemEstrutura()).append("\">");
82 }
83 s.append("Dados Gerais");
84 if (desabilitarLinks == null || desabilitarLinks.booleanValue() == false)
85 s.append("</a>");
86
87 s.append("</td></tr></table>");
88
89
90
91 Iterator it = funcoes.iterator();
92
93 while (it.hasNext()) {
94 EstruturaFuncaoEttf estruturaFuncao = (EstruturaFuncaoEttf) it.next();
95 if (!"N".equals(estruturaFuncao.getFuncaoFun().getIndOpcionalFun())
96 && !"N".equals(estruturaFuncao.getFuncaoFun().getIndAtivoFun())
97 && estruturaFuncao.getFuncaoFun().getLinkFuncaoFun() != null) {
98
99 String tipoAba = "abadesabilitada";
100
101 if (!"".equals(getSelectedFuncao())) {
102 if (estruturaFuncao.getFuncaoFun().getCodFun().equals(Long.valueOf(getSelectedFuncao()))) {
103 tipoAba = "abahabilitada";
104 }
105 }
106 if ("Pontos Críticos".equals(estruturaFuncao.getLabelEttf())) {
107
108 try {
109 ItemEstruturaDao itemEstruturaDao = new ItemEstruturaDao(null);
110 ItemEstruturaIett itemEstrutura = (ItemEstruturaIett) itemEstruturaDao.buscar(ItemEstruturaIett.class, Long.valueOf(getCodItemEstrutura()));
111 PontoCriticoDao pontoCriticoDao = new PontoCriticoDao(null);
112 Collection pontosCriticos = Collections.EMPTY_LIST;
113 pontosCriticos = pontoCriticoDao.getAtivos(itemEstrutura);
114
115 if (pontoCriticoDao.verificaDatasUltrapassadas(pontosCriticos)) {
116 tipoAba = "abapontocritico";
117 }
118 } catch (Exception e) {
119 tipoAba = "abadesabilitada";
120 }
121
122 }
123
124 s.append("<table class=\"").append(tipoAba).append("\"><tr>");
125 s.append("<td nowrap>");
126
127 if (desabilitarLinks == null || desabilitarLinks.booleanValue() == false) {
128 s.append("<a href=\"../").append(estruturaFuncao.getFuncaoFun().getLinkFuncaoFun())
129 .append("?codAba=").append(estruturaFuncao.getFuncaoFun().getCodFun()).append("&codIett=")
130 .append(getCodItemEstrutura()).append("\">");
131 }
132
133 s.append(estruturaFuncao.getLabelEttf());
134 if (desabilitarLinks == null || desabilitarLinks.booleanValue() == false)
135 s.append("</a>");
136
137
138
139 if (estruturaFuncao.getDicaEttf() != null && !"".equals(estruturaFuncao.getDicaEttf()) )
140 s.append(Util.getTagDica(estruturaFuncao.getFuncaoFun().getNomeFun(), this.getContextPath(), estruturaFuncao.getDicaEttf()));
141
142 s.append("</td></tr></table>");
143 }
144
145 }
146 s.append("</td></tr></table>");
147 writer.print(s.toString());
148 } catch (Exception e) {
149 org.apache.log4j.Logger.getLogger(this.getClass()).error(e);
150 }
151 return Tag.SKIP_BODY;
152
153 }
154
155
156
157
158
159
160
161
162
163
164 public int doEndTag() throws JspException {
165
166 return Tag.EVAL_PAGE;
167 }
168
169
170
171
172
173
174
175
176
177 public String getSelectedFuncao() {
178 return selectedFuncao;
179 }
180
181
182
183
184
185
186
187
188
189 public void setSelectedFuncao(String selectedEstrutura) {
190 this.selectedFuncao = selectedEstrutura;
191 }
192
193
194
195
196
197
198
199
200
201 public EstruturaEtt getEstrutura() {
202 return estrutura;
203 }
204
205
206
207
208
209
210
211
212
213 public void setEstrutura(EstruturaEtt estrutura) {
214 this.estrutura = estrutura;
215 }
216
217
218
219
220
221
222
223
224
225 public String getCodItemEstrutura() {
226 return codItemEstrutura;
227 }
228
229
230
231
232
233
234
235
236
237 public void setCodItemEstrutura(String codItemEstrutura) {
238 this.codItemEstrutura = codItemEstrutura;
239 }
240
241
242
243
244
245
246
247
248
249 public Boolean getDesabilitarLinks() {
250 return desabilitarLinks;
251 }
252
253
254
255
256
257
258
259
260
261 public void setDesabilitarLinks(Boolean desabilitarLinks) {
262 this.desabilitarLinks = desabilitarLinks;
263 }
264
265
266
267
268
269
270
271
272
273 public String getContextPath() {
274 return contextPath;
275 }
276
277
278
279
280
281
282
283
284
285 public void setContextPath(String contextPath) {
286 this.contextPath = contextPath;
287 }
288 }