Subversion Repositories Integrator Subversion

Rev

Rev 291 | Rev 344 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.domain.model;
2
 
3
import java.io.Serializable;
4
 
5
import javax.persistence.Column;
6
import javax.persistence.Entity;
7
import javax.persistence.GeneratedValue;
8
import javax.persistence.GenerationType;
9
import javax.persistence.Id;
293 espaco 10
import javax.persistence.JoinColumn;
11
import javax.persistence.ManyToOne;
106 espaco 12
import javax.persistence.SequenceGenerator;
13
import javax.persistence.Table;
293 espaco 14
import javax.persistence.Transient;
106 espaco 15
import javax.validation.constraints.NotNull;
16
import javax.validation.constraints.Size;
17
 
293 espaco 18
import org.hibernate.annotations.ForeignKey;
106 espaco 19
import org.hibernate.validator.constraints.NotEmpty;
20
 
195 espaco 21
import br.com.ec.core.interfaces.Alterar;
22
import br.com.ec.core.interfaces.Cadastrar;
23
import br.com.ec.core.util.StringUtil;
293 espaco 24
import br.com.ec.core.util.VerificadorUtil;
25
import br.com.ec.domain.model.tipos.TipoContaBancaria;
106 espaco 26
 
27
@Entity
28
@Table(name="sec_conta_bancaria", schema="sc_sec")
29
public class ContaBancaria implements Serializable {
30
 
31
        private static final long serialVersionUID = 1L;
32
        private static final long CONTA_CAIXA = 1L;
288 espaco 33
        private static final long CONTA_PIX = 5L;
291 espaco 34
        private static final long CONTA_CASA_DAS_CAPAS = 4L;
106 espaco 35
 
36
        private Long sequencial;
37
        private String descricao;
293 espaco 38
        private Pessoa pessoa;
39
        private String tipoContaBancaria; // C - CAIXA (RECEBIMENTO EM: DINHEIRO E CUPONS) e B - BANCO
106 espaco 40
        private Boolean ativo;
41
 
42
        public ContaBancaria() {}
43
 
44
        public ContaBancaria(Long sequencial) {
45
                this.sequencial = sequencial;
46
        }
47
 
48
        @Id
49
        @SequenceGenerator(name = "sq_contabancaria")
50
        @GeneratedValue(strategy = GenerationType.IDENTITY)
51
        @Column(name="seq_conta_bancaria", nullable=false)
52
        public Long getSequencial() {
53
                return sequencial;
54
        }
55
        public void setSequencial(Long sequencial) {
56
                this.sequencial = sequencial;
57
        }
58
 
59
        @Column(name="dsc_descricao")
60
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Descrição")
61
        @NotNull(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
62
        @NotEmpty(message="Obrigatório informar a descrição", groups={Cadastrar.class, Alterar.class})
63
        public String getDescricao() {
64
                return descricao;
65
        }
66
        public void setDescricao(String descricao) {
67
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
68
        }
69
 
293 espaco 70
        @ManyToOne
71
        @ForeignKey(name="fk_contabancaria_pessoa")
72
        @JoinColumn(name = "seq_pessoa", nullable=true)
73
        public Pessoa getPessoa() {
74
                return pessoa;
75
        }
76
        public void setPessoa(Pessoa pessoa) {
77
                this.pessoa = pessoa;
78
        }
79
 
80
        @Column(name="tip_conta_bancaria", nullable=false)
81
        @NotNull(message="Obrigatório informar o tipo da conta bancária", groups={Cadastrar.class, Alterar.class})
82
        public String getTipoContaBancaria() {
83
                return tipoContaBancaria;
84
        }
85
        public void setTipoContaBancaria(String tipoContaBancaria) {
86
                this.tipoContaBancaria = tipoContaBancaria;
87
        }
88
 
89
        @Transient
90
        public String getTipoContaBancariaDescricao() {
91
                return TipoContaBancaria.parse(getTipoContaBancaria()).getDescricao();
92
        }
93
 
106 espaco 94
        @Column(name="ind_ativo", nullable=false)
95
        public Boolean getAtivo() {
96
                return ativo;
97
        }
98
 
99
        public void setAtivo(Boolean ativo) {
100
                this.ativo = ativo;
101
        }
102
 
103
        @Transient
104
        public static long getContaCaixa() {
105
                return CONTA_CAIXA;
106
        }
107
 
288 espaco 108
        @Transient
109
        public static long getContaPix() {
110
                return CONTA_PIX;
111
        }
112
 
291 espaco 113
        @Transient
114
        public static long getContaCasaDasCapas() {
115
                return CONTA_CASA_DAS_CAPAS;
116
        }
117
 
293 espaco 118
        @Transient
119
        public String getNomePessoa() {
120
                return VerificadorUtil.naoEstaNulo(getPessoa())? getPessoa().getNome() : "";
121
        }
122
 
123
        @Transient
124
        public String getCpfCnpjPessoa() {
125
                return VerificadorUtil.naoEstaNulo(getPessoa())? getPessoa().getCpfCnpjFormatado() : "";
126
        }
127
 
106 espaco 128
        @Override
129
        public int hashCode() {
130
                final int prime = 31;
131
                int result = 1;
132
                result = prime * result
133
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
134
                return result;
135
        }
136
 
137
        @Override
138
        public boolean equals(Object obj) {
139
                if (this == obj)
140
                        return true;
141
                if (obj == null)
142
                        return false;
143
                if (getClass() != obj.getClass())
144
                        return false;
145
                ContaBancaria other = (ContaBancaria) obj;
146
                if (sequencial == null) {
147
                        if (other.sequencial != null)
148
                                return false;
149
                } else if (!sequencial.equals(other.sequencial))
150
                        return false;
151
                return true;
152
        }
153
 
154
}