1 package ecar.pojo;
2
3
4
5 import java.io.Serializable;
6 import java.util.HashSet;
7 import java.util.Set;
8 import javax.persistence.AttributeOverride;
9 import javax.persistence.AttributeOverrides;
10 import javax.persistence.CascadeType;
11 import javax.persistence.Column;
12 import javax.persistence.EmbeddedId;
13 import javax.persistence.Entity;
14 import javax.persistence.FetchType;
15 import javax.persistence.JoinColumn;
16 import javax.persistence.JoinTable;
17 import javax.persistence.ManyToMany;
18 import javax.persistence.ManyToOne;
19 import javax.persistence.OneToMany;
20 import javax.persistence.Table;
21
22 import org.apache.commons.lang.builder.EqualsBuilder;
23 import org.apache.commons.lang.builder.HashCodeBuilder;
24 import org.apache.commons.lang.builder.ToStringBuilder;
25 import org.hibernate.annotations.Cascade;
26
27 import ecar.dao.ItemEstruturaDao;
28 import ecar.dao.ItemEstruturarevisaoIettrevDAO;
29 import ecar.exception.ECARException;
30
31
32
33
34 @Entity
35 @Table(name = "TB_ESTRUTURA_ATRIBUTO_ETTAT")
36 public class EstruturaAtributoEttat implements PaiFilho, ObjetoEstrutura, Serializable {
37
38
39 private static final long serialVersionUID = -6486974193684393987L;
40
41 private EstruturaAtributoEttatPK comp_id;
42 private String indObrigatorioEttat;
43 private String indPodeBloquearEttat;
44 private String indFiltroEttat;
45 private String indListagemImpressCompEtta;
46 private Integer seqApresListagemTelaEttat;
47 private Integer larguraListagemTelaEttat;
48 private String indListagemTelaEttat;
49 private Integer seqApresentTelaCampoEttat;
50 private String labelEstruturaEttat;
51 private String indListagemImpressaResEtta;
52 private String indRelacaoImpressaEttat;
53 private String indRevisaoEttat;
54 private String dicaEttat;
55 private Integer tamanhoConteudoAtribEttat;
56 private String documentacaoEttat;
57 private EstruturaEtt estruturaEtt;
58 private AtributosAtb atributosAtb;
59 private Set<EstAtribTipoAcompEata> estAtribTipoAcompEatas = new HashSet<EstAtribTipoAcompEata>(0);
60 private Set<TipoFuncAcompTpfa> libTipoFuncAcompTpfas = new HashSet<TipoFuncAcompTpfa>(0);
61
62 public EstruturaAtributoEttat() {
63 }
64
65 public EstruturaAtributoEttat(EstruturaAtributoEttatPK comp_id) {
66 this.comp_id = comp_id;
67 }
68
69 public EstruturaAtributoEttat(EstruturaAtributoEttatPK comp_id, String indObrigatorioEttat, String indPodeBloquearEttat, String indFiltroEttat, String indListagemImpressCompEtta, Integer seqApresListagemTelaEttat, Integer larguraListagemTelaEttat, String indListagemTelaEttat, Integer seqApresentTelaCampoEttat, String labelEstruturaEttat, String indListagemImpressaResEtta, String indRelacaoImpressaEttat, String indRevisaoEttat, String dicaEttat, Integer tamanhoConteudoAtribEttat, String documentacaoEttat, EstruturaEtt estruturaEtt, AtributosAtb atributosAtb, Set<EstAtribTipoAcompEata> estAtribTipoAcompEatas, Set<TipoFuncAcompTpfa> libTipoFuncAcompTpfas) {
70 this.comp_id = comp_id;
71 this.indObrigatorioEttat = indObrigatorioEttat;
72 this.indPodeBloquearEttat = indPodeBloquearEttat;
73 this.indFiltroEttat = indFiltroEttat;
74 this.indListagemImpressCompEtta = indListagemImpressCompEtta;
75 this.seqApresListagemTelaEttat = seqApresListagemTelaEttat;
76 this.larguraListagemTelaEttat = larguraListagemTelaEttat;
77 this.indListagemTelaEttat = indListagemTelaEttat;
78 this.seqApresentTelaCampoEttat = seqApresentTelaCampoEttat;
79 this.labelEstruturaEttat = labelEstruturaEttat;
80 this.indListagemImpressaResEtta = indListagemImpressaResEtta;
81 this.indRelacaoImpressaEttat = indRelacaoImpressaEttat;
82 this.indRevisaoEttat = indRevisaoEttat;
83 this.dicaEttat = dicaEttat;
84 this.tamanhoConteudoAtribEttat = tamanhoConteudoAtribEttat;
85 this.documentacaoEttat = documentacaoEttat;
86 this.estruturaEtt = estruturaEtt;
87 this.atributosAtb = atributosAtb;
88 this.estAtribTipoAcompEatas = estAtribTipoAcompEatas;
89 this.libTipoFuncAcompTpfas = libTipoFuncAcompTpfas;
90 }
91
92 @EmbeddedId
93 @AttributeOverrides( { @AttributeOverride(name = "codEtt", column = @Column(name = "COD_ETT", nullable = false, length = 10)), @AttributeOverride(name = "codAtb", column = @Column(name = "COD_ATB", nullable = false, length = 10)) })
94 public EstruturaAtributoEttatPK getComp_id() {
95 return this.comp_id;
96 }
97
98 public void setComp_id(EstruturaAtributoEttatPK comp_id) {
99 this.comp_id = comp_id;
100 }
101
102 @Column(name = "IND_OBRIGATORIO_ETTAT", length = 1)
103 public String getIndObrigatorioEttat() {
104 return this.indObrigatorioEttat;
105 }
106
107 public void setIndObrigatorioEttat(String indObrigatorioEttat) {
108 this.indObrigatorioEttat = indObrigatorioEttat;
109 }
110
111 @Column(name = "ind_pode_bloquear_ettat", length = 1)
112 public String getIndPodeBloquearEttat() {
113 return this.indPodeBloquearEttat;
114 }
115
116 public void setIndPodeBloquearEttat(String indPodeBloquearEttat) {
117 this.indPodeBloquearEttat = indPodeBloquearEttat;
118 }
119
120 @Column(name = "ind_filtro_ettat", length = 1)
121 public String getIndFiltroEttat() {
122 return this.indFiltroEttat;
123 }
124
125 public void setIndFiltroEttat(String indFiltroEttat) {
126 this.indFiltroEttat = indFiltroEttat;
127 }
128
129 @Column(name = "IND_LISTAGEM_IMPRESS_COMP_ETTA", length = 1)
130 public String getIndListagemImpressCompEtta() {
131 return this.indListagemImpressCompEtta;
132 }
133
134 public void setIndListagemImpressCompEtta(String indListagemImpressCompEtta) {
135 this.indListagemImpressCompEtta = indListagemImpressCompEtta;
136 }
137
138 @Column(name = "SEQ_APRES_LISTAGEM_TELA_ETTAT", length = 4)
139 public Integer getSeqApresListagemTelaEttat() {
140 return this.seqApresListagemTelaEttat;
141 }
142
143 public void setSeqApresListagemTelaEttat(Integer seqApresListagemTelaEttat) {
144 this.seqApresListagemTelaEttat = seqApresListagemTelaEttat;
145 }
146
147 @Column(name = "LARGURA_LISTAGEM_TELA_ETTAT", length = 2)
148 public Integer getLarguraListagemTelaEttat() {
149 return this.larguraListagemTelaEttat;
150 }
151
152 public void setLarguraListagemTelaEttat(Integer larguraListagemTelaEttat) {
153 this.larguraListagemTelaEttat = larguraListagemTelaEttat;
154 }
155
156 @Column(name = "IND_LISTAGEM_TELA_ETTAT", length = 1)
157 public String getIndListagemTelaEttat() {
158 return this.indListagemTelaEttat;
159 }
160
161 public void setIndListagemTelaEttat(String indListagemTelaEttat) {
162 this.indListagemTelaEttat = indListagemTelaEttat;
163 }
164
165 @Column(name = "SEQ_APRESENT_TELA_CAMPO_ETTAT", length = 4)
166 public Integer getSeqApresentTelaCampoEttat() {
167 return this.seqApresentTelaCampoEttat;
168 }
169
170 public void setSeqApresentTelaCampoEttat(Integer seqApresentTelaCampoEttat) {
171 this.seqApresentTelaCampoEttat = seqApresentTelaCampoEttat;
172 }
173
174 @Column(name = "LABEL_ESTRUTURA_ETTAT", length = 40)
175 public String getLabelEstruturaEttat() {
176 return this.labelEstruturaEttat;
177 }
178
179 public void setLabelEstruturaEttat(String labelEstruturaEttat) {
180 this.labelEstruturaEttat = labelEstruturaEttat;
181 }
182
183 @Column(name = "IND_LISTAGEM_IMPRESSA_RES_ETTA", length = 1)
184 public String getIndListagemImpressaResEtta() {
185 return this.indListagemImpressaResEtta;
186 }
187
188 public void setIndListagemImpressaResEtta(String indListagemImpressaResEtta) {
189 this.indListagemImpressaResEtta = indListagemImpressaResEtta;
190 }
191
192 @Column(name = "IND_RELACAO_IMPRESSA_ETTAT", length = 1)
193 public String getIndRelacaoImpressaEttat() {
194 return this.indRelacaoImpressaEttat;
195 }
196
197 public void setIndRelacaoImpressaEttat(String indRelacaoImpressaEttat) {
198 this.indRelacaoImpressaEttat = indRelacaoImpressaEttat;
199 }
200
201 @Column(name = "IND_REVISAO", length = 1)
202 public String getIndRevisaoEttat() {
203 return this.indRevisaoEttat;
204 }
205
206 public void setIndRevisaoEttat(String indRevisaoEttat) {
207 this.indRevisaoEttat = indRevisaoEttat;
208 }
209
210 @Column(name = "DICA_ETTAT", length = 2000)
211 public String getDicaEttat() {
212 return this.dicaEttat;
213 }
214
215 public void setDicaEttat(String dicaEttat) {
216 this.dicaEttat = dicaEttat;
217 }
218
219 @Column(name = "TAMANHO_CONTEUDO_ATRIB_ETTAT", length = 4)
220 public Integer getTamanhoConteudoAtribEttat() {
221 return this.tamanhoConteudoAtribEttat;
222 }
223
224 public void setTamanhoConteudoAtribEttat(Integer tamanhoConteudoAtribEttat) {
225 this.tamanhoConteudoAtribEttat = tamanhoConteudoAtribEttat;
226 }
227
228 @Column(name = "DOCUMENTACAO_ETTAT", length = 2000)
229 public String getDocumentacaoEttat() {
230 return this.documentacaoEttat;
231 }
232
233 public void setDocumentacaoEttat(String documentacaoEttat) {
234 this.documentacaoEttat = documentacaoEttat;
235 }
236
237 @ManyToOne(fetch = FetchType.LAZY)
238 @JoinColumn(name = "COD_ETT", insertable = false, updatable = false)
239 public EstruturaEtt getEstruturaEtt() {
240 return this.estruturaEtt;
241 }
242
243 public void setEstruturaEtt(EstruturaEtt estruturaEtt) {
244 this.estruturaEtt = estruturaEtt;
245 }
246
247 @ManyToOne(fetch = FetchType.LAZY)
248 @JoinColumn(name = "COD_ATB", insertable = false, updatable = false)
249 public AtributosAtb getAtributosAtb() {
250 return this.atributosAtb;
251 }
252
253 public void setAtributosAtb(AtributosAtb atributosAtb) {
254 this.atributosAtb = atributosAtb;
255 }
256
257 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "estruturaAtributoEttat")
258 public Set<EstAtribTipoAcompEata> getEstAtribTipoAcompEatas() {
259 return this.estAtribTipoAcompEatas;
260 }
261
262 public void setEstAtribTipoAcompEatas(Set<EstAtribTipoAcompEata> estAtribTipoAcompEatas) {
263 this.estAtribTipoAcompEatas = estAtribTipoAcompEatas;
264 }
265
266 @ManyToMany(fetch = FetchType.EAGER)
267 @JoinTable(name = "TB_ESTRUTURA_ATRIBUTO_TIPO_FUNC_ACOMP_ETTATTPFA", joinColumns = { @JoinColumn(name = "COD_ETT", nullable = false, updatable = false), @JoinColumn(name = "COD_ATB", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "COD_TPFA", nullable = false, updatable = false) })
268 @Cascade( { org.hibernate.annotations.CascadeType.SAVE_UPDATE })
269 public Set<TipoFuncAcompTpfa> getLibTipoFuncAcompTpfas() {
270 return this.libTipoFuncAcompTpfas;
271 }
272
273 public void setLibTipoFuncAcompTpfas(Set<TipoFuncAcompTpfa> libTipoFuncAcompTpfas) {
274 this.libTipoFuncAcompTpfas = libTipoFuncAcompTpfas;
275 }
276
277 public SisGrupoAtributoSga iGetGrupoAtributosLivres() {
278 if (this.getAtributosAtb() != null)
279 return this.getAtributosAtb().getSisGrupoAtributoSga();
280 else
281 return null;
282 }
283
284 public String toString() {
285 return new ToStringBuilder(this).append("comp_id", getComp_id()).toString();
286 }
287
288 public boolean equals(Object other) {
289 if ((this == other))
290 return true;
291 if (!(other instanceof EstruturaAtributoEttat))
292 return false;
293 EstruturaAtributoEttat castOther = (EstruturaAtributoEttat) other;
294 return new EqualsBuilder().append(this.getEstruturaEtt(), castOther.getEstruturaEtt()).append(this.getAtributosAtb(), castOther.getAtributosAtb()).isEquals();
295 }
296
297 public int hashCode() {
298 return new HashCodeBuilder().append(getComp_id()).toHashCode();
299 }
300
301
302
303
304
305 public void atribuirPKPai() {
306 comp_id = new EstruturaAtributoEttatPK();
307 comp_id.setCodEtt(this.getEstruturaEtt().getCodEtt());
308 comp_id.setCodAtb(this.getAtributosAtb().getCodAtb());
309 }
310
311
312
313
314
315 public String iGetNome() {
316 return this.getAtributosAtb().getNomeAtb();
317 }
318
319 public String iGetNomeOrdenarLista() {
320
321
322
323
324 if (this.getAtributosAtb().getSisGrupoAtributoSga() == null && this.getAtributosAtb().getNomeFkAtb() != null && !"".equals(this.getAtributosAtb().getNomeFkAtb().trim()))
325 return (this.getAtributosAtb().getNomeAtb() + "." + this.getAtributosAtb().getNomeFkAtb());
326 else if (this.getAtributosAtb().getSisGrupoAtributoSga() == null) {
327 return this.getAtributosAtb().getNomeAtb();
328 }
329 else {
330
331
332 return "";
333 }
334 }
335
336
337
338
339
340 public String iGetLabel() {
341 return (this.getLabelEstruturaEttat() != null) ? this.getLabelEstruturaEttat() : this.getAtributosAtb().getLabelPadraoAtb();
342 }
343
344
345
346
347
348 public Integer iGetLargura() {
349 return (this.getLarguraListagemTelaEttat() == null) ? Integer.valueOf(ObjetoEstrutura.DEFAULT_LARGURA_TELA_CAMPO) : this.getLarguraListagemTelaEttat();
350 }
351
352
353
354
355
356 public Integer iGetSequenciaColunaEmListagem() {
357 return (this.getSeqApresListagemTelaEttat() == null) ? Integer.valueOf(ObjetoEstrutura.MAX_SEQUENCIA_COLUNA_LISTAGEM) : this.getSeqApresListagemTelaEttat();
358 }
359
360
361
362
363
364 public String iGetValor(ItemEstruturaIett item) throws ECARException {
365 return new ItemEstruturaDao(null).getValorAtributoItemEstrutura(item, this.getAtributosAtb().getNomeAtb(), this.getAtributosAtb().getNomeFkAtb());
366 }
367
368
369
370
371
372 public Integer iGetSequenciaCampoEmTela() {
373 return (this.getSeqApresentTelaCampoEttat() == null) ? Integer.valueOf(ObjetoEstrutura.MAX_SEQUENCIA_TELA_CAMPO) : this.getSeqApresentTelaCampoEttat();
374 }
375
376
377
378
379
380 public Class iGetTipo() {
381 return this.getClass();
382 }
383
384
385
386
387
388 public Boolean iGetObrigatorio() {
389 return ("S".equals(this.getIndObrigatorioEttat()) ? new Boolean(true) : new Boolean(false));
390 }
391
392
393
394
395
396 public String iGetValorCodFk(ItemEstruturaIett item) throws ECARException {
397 return new ItemEstruturaDao(null).getValorAtributoItemEstrutura(item, this.getAtributosAtb().getNomeAtb(), this.getAtributosAtb().getCodFkAtb());
398 }
399
400
401
402
403
404 public String iGetCodFk() {
405 return this.getAtributosAtb().getCodFkAtb();
406 }
407
408
409
410
411
412 public String iGetNomeFk() {
413 return this.getAtributosAtb().getNomeFkAtb();
414 }
415
416
417
418
419
420 public String iGetDica() {
421 return this.getDicaEttat();
422 }
423
424 public String iGetValor(ItemEstruturarevisaoIettrev itemRev) throws ECARException {
425 return new ItemEstruturarevisaoIettrevDAO(null).getValorAtributoItemEstrutura(itemRev, this.getAtributosAtb().getNomeAtb(), this.getAtributosAtb().getNomeFkAtb());
426 }
427
428 public String iGetValorCodFk(ItemEstruturarevisaoIettrev itemRev) throws ECARException {
429 return new ItemEstruturarevisaoIettrevDAO(null).getValorAtributoItemEstrutura(itemRev, this.getAtributosAtb().getNomeAtb(), this.getAtributosAtb().getCodFkAtb());
430 }
431
432 public Boolean iGetIndOpcional() {
433 if (this.getAtributosAtb() != null) {
434 if ("S".equals(this.getAtributosAtb().getIndOpcionalAtb()))
435 return new Boolean(true);
436 }
437 return new Boolean(false);
438 }
439
440 public Integer iGetTamanhoConteudoAtrib() {
441 if (tamanhoConteudoAtribEttat != null && tamanhoConteudoAtribEttat != 0) {
442 return tamanhoConteudoAtribEttat;
443 }
444 else {
445 return DEFAULT_TAMANHO_CAMPO_TEXT;
446 }
447 }
448
449 public Boolean iGetBloqueado() {
450 return ("S".equals(this.getIndPodeBloquearEttat()) ? new Boolean(true) : new Boolean(false));
451 }
452
453 public Set iGetLibTipoFuncAcompTpfas() {
454 return libTipoFuncAcompTpfas;
455 }
456
457 }