Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.srv.model;
2
 
3
import static br.gov.al.saude.srv.ContantesSrv.Mensagens.OBRIGATORIO_INFORMAR_DESCRICAO;
4
import static br.gov.al.saude.srv.ContantesSrv.Mensagens.OBRIGATORIO_INFORMAR_SIGLA;
5
import static br.gov.al.saude.srv.ContantesSrv.Mensagens.OBRIGATORIO_INFORMAR_ESFERA;
6
 
7
import java.io.Serializable;
8
 
9
import javax.persistence.Column;
10
import javax.persistence.Entity;
11
import javax.persistence.GeneratedValue;
12
import javax.persistence.GenerationType;
13
import javax.persistence.Id;
14
import javax.persistence.SequenceGenerator;
15
import javax.persistence.Table;
16
import javax.persistence.Transient;
17
import javax.validation.constraints.NotNull;
18
 
19
import org.hibernate.validator.constraints.NotEmpty;
20
 
21
import br.gov.al.saude.framework.core.generic.identidade.Identidade;
22
import br.gov.al.saude.framework.core.interfaces.Alterar;
23
import br.gov.al.saude.framework.core.interfaces.Cadastrar;
24
import br.gov.al.saude.framework.core.util.VerificadorUtil;
25
import br.gov.al.saude.srv.model.enums.Esfera;
26
 
27
@Entity
28
@Table(name="srv_orgao", schema="sc_srv")
29
public class Orgao implements Serializable, Identidade {
30
        private static final long serialVersionUID = 1L;
31
 
32
        private Integer sequencial;
33
        private String descricao;
34
        private Integer codigoOrgao;
35
        private String sigla;
36
        private String esfera;
37
        private Boolean ativo;
38
 
39
        @Id
40
        @GeneratedValue(generator = "ORGAO_GENERATOR", strategy = GenerationType.SEQUENCE)
41
        @SequenceGenerator(name = "ORGAO_GENERATOR", sequenceName = "sq_orgao", initialValue = 1, allocationSize = 1)
42
        @Column(name="seq_orgao", nullable=false)
43
        public Integer getSequencial() {
44
                return sequencial;
45
        }
46
        public void setSequencial(Integer sequencial) {
47
                this.sequencial = sequencial;
48
        }
49
 
50
 
51
        @NotEmpty(message=OBRIGATORIO_INFORMAR_DESCRICAO, groups={Cadastrar.class, Alterar.class})
52
        @NotNull(message=OBRIGATORIO_INFORMAR_DESCRICAO, groups={Cadastrar.class, Alterar.class})
53
        @Column(name="dsc_orgao", length=200, nullable=false)
54
        public String getDescricao() {
55
                return descricao;
56
        }
57
        public void setDescricao(String descricao) {
58
                this.descricao = VerificadorUtil.naoEstaNulo(descricao) ? descricao.toUpperCase() : descricao;
59
        }
60
 
61
        @Column(name="cod_orgao", length=5)
62
        public Integer getCodigoOrgao() {
63
                return codigoOrgao;
64
        }
65
        public void setCodigoOrgao(Integer codigoOrgao) {
66
                this.codigoOrgao = codigoOrgao;
67
        }
68
 
69
        @NotEmpty(message=OBRIGATORIO_INFORMAR_SIGLA, groups={Cadastrar.class, Alterar.class})
70
        @NotNull(message=OBRIGATORIO_INFORMAR_SIGLA, groups={Cadastrar.class, Alterar.class})
71
        @Column(name="dsc_sigla_orgao", length=20)
72
        public String getSigla() {
73
                return sigla;
74
        }
75
        public void setSigla(String sigla) {
76
                this.sigla = VerificadorUtil.naoEstaNulo(sigla) ? sigla.toUpperCase() : sigla;
77
        }
78
 
79
 
80
        @NotEmpty(message=OBRIGATORIO_INFORMAR_ESFERA, groups={Cadastrar.class, Alterar.class})
81
        @NotNull(message=OBRIGATORIO_INFORMAR_ESFERA, groups={Cadastrar.class, Alterar.class})
82
        @Column(name="tip_esfera_orgao", length=1)
83
        public String getEsfera() {
84
                return esfera;
85
        }
86
        public void setEsfera(String esfera) {
87
                this.esfera = esfera;
88
        }
89
        public void setEsfera(Esfera esfera) {
90
                if (VerificadorUtil.naoEstaNulo(esfera)) {
91
                        setEsfera(esfera.getCodigo());
92
                }
93
        }
94
 
95
        @Transient
96
        public String getEsferaDescricao() {
97
                Esfera esfera = Esfera.parse(this.getEsfera());
98
                return VerificadorUtil.estaNulo(esfera) ? null : esfera.getDescricao();
99
        }
100
 
101
        @Column(name="ind_ativo")
102
        public Boolean getAtivo() {
103
                return ativo;
104
        }
105
 
106
        public void setAtivo(Boolean ativo) {
107
                this.ativo = ativo;
108
        }
109
 
110
        @Transient
111
        public String getDescricaoAtivo() {
112
                return getAtivo() ? "SIM" : "NÃO";
113
        }
114
 
115
 
116
        @Transient
117
        @Override
118
        public Object getId() {
119
                return getSequencial();
120
        }
121
 
122
        @Override
123
        public void setId(Object sequencial) {
124
                setSequencial((Integer) sequencial);
125
        }
126
 
127
        @Override
128
        public int hashCode() {
129
                final int prime = 31;
130
                int result = 1;
131
                result = prime * result
132
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
133
                return result;
134
        }
135
 
136
        @Override
137
        public boolean equals(Object obj) {
138
                if (this == obj)
139
                        return true;
140
                if (obj == null)
141
                        return false;
142
                if (getClass() != obj.getClass())
143
                        return false;
144
                Orgao other = (Orgao) obj;
145
                if (sequencial == null) {
146
                        if (other.sequencial != null)
147
                                return false;
148
                } else if (!sequencial.equals(other.sequencial))
149
                        return false;
150
                return true;
151
        }      
152
}