Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
259 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.Id;
8
import javax.persistence.Table;
9
import javax.persistence.Transient;
10
import javax.validation.constraints.Size;
11
 
12
import br.com.ec.core.util.StringUtil;
13
 
14
@Entity
15
@Table(name="sec_forma_pagamento", schema="sc_sec")
16
public class FormaPagamento implements Serializable {
17
 
18
        private static final long serialVersionUID = 1L;
19
 
20
        private static final long FORMAPAGAMENTO_DINHEIRO = 1;
21
        private static final long FORMAPAGAMENTO_DEBITO = 2;
22
        private static final long FORMAPAGAMENTO_PAGSEGURO = 6;
23
        private static final long FORMAPAGAMENTO_CUPOM = 16;
24
        private static final long FORMAPAGAMENTO_OUTROS = 17;
25
        private static final long FORMAPAGAMENTO_1X = 3;
26
        private static final long FORMAPAGAMENTO_2X = 4;
27
        private static final long FORMAPAGAMENTO_3X = 5;
28
        private static final long FORMAPAGAMENTO_4X = 7;
29
        private static final long FORMAPAGAMENTO_5X = 8;
30
        private static final long FORMAPAGAMENTO_6X = 9;
31
        private static final long FORMAPAGAMENTO_7X = 10;
32
        private static final long FORMAPAGAMENTO_8X = 11;
33
        private static final long FORMAPAGAMENTO_9X = 12;
34
        private static final long FORMAPAGAMENTO_10X = 13;
35
        private static final long FORMAPAGAMENTO_11X = 14;
36
        private static final long FORMAPAGAMENTO_12X = 15;
37
        private static final long FORMAPAGAMENTO_PIX = 18;
38
 
39
        private Long codigo;
40
        private String descricao;
41
        private Integer numeroOrdem;
42
        private Boolean ativo;
43
 
44
        public FormaPagamento() {}
45
 
46
        public FormaPagamento(Long codigo) {
47
                this.codigo = codigo;
48
        }
49
 
50
        @Id
51
        @Column(name="cod_formapagament", nullable=false)
52
        public Long getCodigo() {
53
                return codigo;
54
        }
55
        public void setCodigo(Long codigo) {
56
                this.codigo = codigo;
57
        }
58
 
59
        @Column(name="dsc_formapagament")
60
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Descrição")
61
        public String getDescricao() {
62
                return descricao;
63
        }
64
        public void setDescricao(String descricao) {
65
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
66
        }
67
 
68
        @Column(name="num_ordem")
69
        public Integer getNumeroOrdem() {
70
                return numeroOrdem;
71
        }
72
        public void setNumeroOrdem(Integer numeroOrdem) {
73
                this.numeroOrdem = numeroOrdem;
74
        }
75
 
76
        @Column(name="ind_ativo", nullable=false)
77
        public Boolean getAtivo() {
78
                return ativo;
79
        }
80
        public void setAtivo(Boolean ativo) {
81
                this.ativo = ativo;
82
        }
83
 
84
        @Transient
85
        public boolean formaPagamentoEhDinheiro() {
86
                return getCodigo().equals(FORMAPAGAMENTO_DINHEIRO);
87
        }
88
 
89
        @Transient
90
        public boolean formaPagamentoEhCartao() {
91
                return !(formaPagamentoEhDinheiro() || formaPagamentoEhCupom() || formaPagamentoEhOutros());
92
        }
93
 
94
        @Transient
95
        public boolean formaPagamentoEhDebito() {
96
                return getCodigo().equals(FORMAPAGAMENTO_DEBITO);
97
        }
98
 
99
        @Transient
100
        public boolean formaPagamentoEhPagseguro() {
101
                return getCodigo().equals(FORMAPAGAMENTO_PAGSEGURO);
102
        }
103
 
104
        @Transient
105
        public boolean formaPagamentoEhPix() {
106
                return getCodigo().equals(FORMAPAGAMENTO_PIX);
107
        }
108
 
109
        @Transient
110
        public boolean formaPagamentoEhCredito() {
111
                return !(formaPagamentoEhDinheiro() || formaPagamentoEhDebito() || formaPagamentoEhPagseguro() || formaPagamentoEhCupom() || formaPagamentoEhOutros() || formaPagamentoEhPix());
112
        }
113
 
114
        @Transient
115
        public boolean formaPagamentoEhCreditoDividido() {
116
                return formaPagamentoEhCredito() && !formaPagamentoEh1x();
117
        }
118
 
119
        @Transient
120
        public boolean formaPagamentoEh1x() {
121
                return getCodigo().equals(FORMAPAGAMENTO_1X);
122
        }
123
 
124
        @Transient
125
        public boolean formaPagamentoEh2x() {
126
                return getCodigo().equals(FORMAPAGAMENTO_2X);
127
        }
128
 
129
        @Transient
130
        public boolean formaPagamentoEh3x() {
131
                return getCodigo().equals(FORMAPAGAMENTO_3X);
132
        }
133
 
134
        @Transient
135
        public boolean formaPagamentoEh4x() {
136
                return getCodigo().equals(FORMAPAGAMENTO_4X);
137
        }
138
 
139
        @Transient
140
        public boolean formaPagamentoEh5x() {
141
                return getCodigo().equals(FORMAPAGAMENTO_5X);
142
        }
143
 
144
        @Transient
145
        public boolean formaPagamentoEh6x() {
146
                return getCodigo().equals(FORMAPAGAMENTO_6X);
147
        }
148
 
149
        @Transient
150
        public boolean formaPagamentoEh7x() {
151
                return getCodigo().equals(FORMAPAGAMENTO_7X);
152
        }
153
 
154
        @Transient
155
        public boolean formaPagamentoEh8x() {
156
                return getCodigo().equals(FORMAPAGAMENTO_8X);
157
        }
158
 
159
        @Transient
160
        public boolean formaPagamentoEh9x() {
161
                return getCodigo().equals(FORMAPAGAMENTO_9X);
162
        }
163
 
164
        @Transient
165
        public boolean formaPagamentoEh10x() {
166
                return getCodigo().equals(FORMAPAGAMENTO_10X);
167
        }
168
 
169
        @Transient
170
        public boolean formaPagamentoEh11x() {
171
                return getCodigo().equals(FORMAPAGAMENTO_11X);
172
        }
173
 
174
        @Transient
175
        public boolean formaPagamentoEh12x() {
176
                return getCodigo().equals(FORMAPAGAMENTO_12X);
177
        }
178
 
179
        @Transient
180
        public boolean formaPagamentoEhCupom() {
181
                return getCodigo().equals(FORMAPAGAMENTO_CUPOM);
182
        }
183
 
184
        @Transient
185
        public boolean formaPagamentoEhOutros() {
186
                return getCodigo().equals(FORMAPAGAMENTO_OUTROS);
187
        }
188
 
189
        @Transient
190
        public static Long recuperarCodigoDaFormaDePagamento(String parcela) {
191
                if (parcela.equals("1")) {
192
                        return FORMAPAGAMENTO_1X;
193
                } else if (parcela.equals("2")) {
194
                        return FORMAPAGAMENTO_2X;
195
                } else if (parcela.equals("3")) {
196
                        return FORMAPAGAMENTO_3X;
197
                } else if (parcela.equals("4")) {
198
                        return FORMAPAGAMENTO_4X;
199
                } else if (parcela.equals("5")) {
200
                        return FORMAPAGAMENTO_5X;
201
                } else if (parcela.equals("6")) {
202
                        return FORMAPAGAMENTO_6X;
203
                } else if (parcela.equals("7")) {
204
                        return FORMAPAGAMENTO_7X;
205
                } else if (parcela.equals("8")) {
206
                        return FORMAPAGAMENTO_8X;
207
                } else if (parcela.equals("9")) {
208
                        return FORMAPAGAMENTO_9X;
209
                } else if (parcela.equals("10")) {
210
                        return FORMAPAGAMENTO_10X;
211
                } else if (parcela.equals("11")) {
212
                        return FORMAPAGAMENTO_11X;
213
                } else if (parcela.equals("12")) {
214
                        return FORMAPAGAMENTO_12X;
215
                }
216
                return null;
217
        }
218
 
219
        @Override
220
        public int hashCode() {
221
                final int prime = 31;
222
                int result = 1;
223
                result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
224
                return result;
225
        }
226
 
227
        @Override
228
        public boolean equals(Object obj) {
229
                if (this == obj)
230
                        return true;
231
                if (obj == null)
232
                        return false;
233
                if (getClass() != obj.getClass())
234
                        return false;
235
                FormaPagamento other = (FormaPagamento) obj;
236
                if (codigo == null) {
237
                        if (other.codigo != null)
238
                                return false;
239
                } else if (!codigo.equals(other.codigo))
240
                        return false;
241
                return true;
242
        }
243
 
244
}