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 java.io.Serializable;
4
 
5
import javax.persistence.Column;
6
import javax.persistence.EmbeddedId;
7
import javax.persistence.Entity;
8
import javax.persistence.JoinColumn;
9
import javax.persistence.ManyToOne;
10
import javax.persistence.Table;
11
import javax.validation.constraints.NotNull;
12
 
13
import br.gov.al.saude.framework.core.interfaces.Alterar;
14
import br.gov.al.saude.framework.core.interfaces.Cadastrar;
15
import br.gov.al.saude.srv.model.embedded.ServidorContaBancarialId;
16
 
17
@Entity
18
@Table(name = "srv_servidor_conta_bancaria", schema = "sc_srv")
19
public class ServidorContaBancaria implements Serializable, Comparable<ServidorContaBancaria> {
20
        private static final long serialVersionUID = 1L;
21
 
22
        private ServidorContaBancarialId servidorContaBancarialId = new ServidorContaBancarialId();
23
        private Servidor servidor;
24
        private Banco banco;
25
        private String numeroAgencia;
26
        private String numeroConta;
27
        private Integer numeroOperacao;
28
 
29
        @EmbeddedId
30
        public ServidorContaBancarialId getServidorContaBancarialId() {
31
                return servidorContaBancarialId;
32
        }      
33
        public void setServidorContaBancarialId(ServidorContaBancarialId servidorContaBancarialId) {
34
                this.servidorContaBancarialId = servidorContaBancarialId;
35
        }
36
 
37
        @ManyToOne
38
        @JoinColumn(name="seq_pessoa_servidor", referencedColumnName="seq_pessoa_servidor", nullable=false, insertable=false, updatable=false)
39
        public Servidor getServidor() {
40
                return servidor;
41
        }
42
        public void setServidor(Servidor servidor) {
43
                getServidorContaBancarialId().setSequencialPessoaServidor(servidor.getPessoa().getSequencialPessoa());
44
                this.servidor = servidor;
45
        }
46
 
47
 
48
        @ManyToOne
49
        @JoinColumn(name="cod_banco", referencedColumnName="cod_banco", nullable=false, insertable=false, updatable=false)
50
        @NotNull(message="Obrigatório informar o Banco.", groups={Cadastrar.class, Alterar.class})
51
        public Banco getBanco() {
52
                return banco;
53
        }
54
        public void setBanco(Banco banco) {
55
                if (getServidorContaBancarialId() != null && banco != null) {
56
                        getServidorContaBancarialId().setCodigoBanco(banco.getCodigo());
57
                }
58
                this.banco = banco;
59
        }
60
 
61
 
62
        @Column(name="num_conta_bancaria", length=20, nullable=false)
63
        @NotNull(message="Obrigatório informar o número da conta.", groups={Cadastrar.class, Alterar.class})
64
        public String getNumeroConta() {
65
                return numeroConta;
66
        }
67
        public void setNumeroConta(String numeroConta) {
68
                this.numeroConta = numeroConta;
69
        }
70
 
71
 
72
        @Column(name="num_agencia", length=1)
73
        @NotNull(message="Obrigatório informar o número da agência.", groups={Cadastrar.class, Alterar.class})
74
        public String getNumeroAgencia() {
75
                return numeroAgencia;
76
        }
77
        public void setNumeroAgencia(String numeroAgencia) {
78
                this.numeroAgencia = numeroAgencia;
79
        }
80
 
81
 
82
        @Column(name="num_operacao_contabancaria", length=2)
83
        public Integer getNumeroOperacao() {
84
                return numeroOperacao;
85
        }
86
        public void setNumeroOperacao(Integer numeroOperacao) {
87
                this.numeroOperacao = numeroOperacao;
88
        }
89
 
90
        @Override
91
        public int hashCode() {
92
                final int prime = 31;
93
                int result = 1;
94
                result = prime
95
                                * result
96
                                + ((servidorContaBancarialId == null) ? 0
97
                                                : servidorContaBancarialId.hashCode());
98
                return result;
99
        }
100
 
101
        @Override
102
        public boolean equals(Object obj) {
103
                if (this == obj)
104
                        return true;
105
                if (obj == null)
106
                        return false;
107
                if (getClass() != obj.getClass())
108
                        return false;
109
                ServidorContaBancaria other = (ServidorContaBancaria) obj;
110
                if (servidorContaBancarialId == null) {
111
                        if (other.servidorContaBancarialId != null)
112
                                return false;
113
                } else if (!servidorContaBancarialId
114
                                .equals(other.servidorContaBancarialId))
115
                        return false;
116
                return true;
117
        }
118
 
119
        @Override
120
        public int compareTo(ServidorContaBancaria scb) {
121
                return getBanco().getCodigo().compareTo(scb.getBanco().getCodigo());
122
        }
123
}