Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
288 espaco 1
package br.com.ec.domain.model;
2
 
3
import java.io.Serializable;
4
import java.util.Date;
5
 
6
import javax.persistence.Column;
7
import javax.persistence.Entity;
8
import javax.persistence.GeneratedValue;
9
import javax.persistence.GenerationType;
10
import javax.persistence.Id;
11
import javax.persistence.JoinColumn;
12
import javax.persistence.ManyToOne;
13
import javax.persistence.SequenceGenerator;
14
import javax.persistence.Table;
15
import javax.validation.constraints.NotNull;
16
import javax.validation.constraints.Size;
17
 
18
import org.hibernate.annotations.ForeignKey;
19
 
20
import br.com.ec.core.interfaces.Alterar;
21
import br.com.ec.core.interfaces.Cadastrar;
22
import br.com.ec.core.util.StringUtil;
23
 
24
@Entity
25
@Table(name="sec_contabancaria_transferencia", schema="sc_sec")
26
public class ContaBancariaTransferencia implements Serializable {
27
 
28
        private static final long serialVersionUID = 1L;
29
 
30
        private Long sequencial;
31
        private ContaBancaria contaBancariaEntrada;
32
        private ContaBancaria contaBancariaSaida;
33
        private Date dataOperacao;
34
        private Double valor;
35
        private String observacao;
36
 
37
        public ContaBancariaTransferencia() {}
38
 
39
        public ContaBancariaTransferencia(Long sequencial) {
40
                this.sequencial = sequencial;
41
        }
42
 
43
        @Id
44
        @SequenceGenerator(name = "sq_contabancariatransf")
45
        @GeneratedValue(strategy = GenerationType.IDENTITY)
46
        @Column(name="seq_contabancariatransf", nullable=false)
47
        public Long getSequencial() {
48
                return sequencial;
49
        }
50
        public void setSequencial(Long sequencial) {
51
                this.sequencial = sequencial;
52
        }
53
 
54
        @ManyToOne
55
        @ForeignKey(name = "fk_contabancariatransf_contabancariaentrada")
56
        @JoinColumn(name="seq_contabancaria_entrada", referencedColumnName="seq_conta_bancaria", insertable=true, updatable=true)
57
        @NotNull(message="Obrigatório informar a conta bancária de entrada", groups={Cadastrar.class, Alterar.class})
58
        public ContaBancaria getContaBancariaEntrada() {
59
                return contaBancariaEntrada;
60
        }
61
        public void setContaBancariaEntrada(ContaBancaria contaBancariaEntrada) {
62
                this.contaBancariaEntrada = contaBancariaEntrada;
63
        }
64
 
65
        @ManyToOne
66
        @ForeignKey(name = "fk_contabancariatransf_contabancariasaida")
67
        @JoinColumn(name="seq_contabancaria_saida", referencedColumnName="seq_conta_bancaria", insertable=true, updatable=true)
68
        @NotNull(message="Obrigatório informar a conta bancária de saída", groups={Cadastrar.class, Alterar.class})
69
        public ContaBancaria getContaBancariaSaida() {
70
                return contaBancariaSaida;
71
        }
72
        public void setContaBancariaSaida(ContaBancaria contaBancariaSaida) {
73
                this.contaBancariaSaida = contaBancariaSaida;
74
        }
75
 
76
        @Column(name="dth_operacao")
77
        @NotNull(message="Obrigatório informar a data da operação", groups={Cadastrar.class, Alterar.class})
78
        public Date getDataOperacao() {
79
                return dataOperacao;
80
        }
81
        public void setDataOperacao(Date dataOperacao) {
82
                this.dataOperacao = dataOperacao;
83
        }
84
 
85
        @Column(name="val_valor")
86
        @NotNull(message="Obrigatório informar o valor da operação", groups={Cadastrar.class, Alterar.class})
87
        public Double getValor() {
88
                return valor;
89
        }
90
        public void setValor(Double valor) {
91
                this.valor = valor;
92
        }
93
 
94
        @Column(name="dsc_observacao")
95
        @Size(max = 240, message = "Limite de caracteres ultrapassado: Observação")
96
        public String getObservacao() {
97
                return observacao;
98
        }
99
        public void setObservacao(String observacao) {
100
                this.observacao = StringUtil.setarUpperCaseComTrim(observacao);
101
        }
102
 
103
        @Override
104
        public int hashCode() {
105
                final int prime = 31;
106
                int result = 1;
107
                result = prime * result
108
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
109
                return result;
110
        }
111
 
112
        @Override
113
        public boolean equals(Object obj) {
114
                if (this == obj)
115
                        return true;
116
                if (obj == null)
117
                        return false;
118
                if (getClass() != obj.getClass())
119
                        return false;
120
                ContaBancariaTransferencia other = (ContaBancariaTransferencia) obj;
121
                if (sequencial == null) {
122
                        if (other.sequencial != null)
123
                                return false;
124
                } else if (!sequencial.equals(other.sequencial))
125
                        return false;
126
                return true;
127
        }
128
 
129
}