Subversion Repositories Integrator Subversion

Rev

Rev 686 | 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.Id;
8
import javax.persistence.Table;
9
import javax.persistence.Transient;
10
import javax.validation.constraints.Size;
11
 
195 espaco 12
import br.com.ec.core.util.StringUtil;
106 espaco 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;
270 espaco 37
        private static final long FORMAPAGAMENTO_13X = 19;
38
        private static final long FORMAPAGAMENTO_14X = 20;
39
        private static final long FORMAPAGAMENTO_15X = 21;
277 espaco 40
        private static final long FORMAPAGAMENTO_16X = 22;
41
        private static final long FORMAPAGAMENTO_17X = 23;
42
        private static final long FORMAPAGAMENTO_18X = 24;
351 espaco 43
        private static final long FORMAPAGAMENTO_19X = 26;
44
        private static final long FORMAPAGAMENTO_20X = 27;
106 espaco 45
        private static final long FORMAPAGAMENTO_PIX = 18;
344 espaco 46
        private static final long FORMAPAGAMENTO_TRANSFERENCIA = 25;
686 blopes 47
        private static final long FORMAPAGAMENTO_CASHBACK = 28;
106 espaco 48
 
49
        private Long codigo;
50
        private String descricao;
51
        private Integer numeroOrdem;
52
        private Boolean ativo;
53
 
54
        public FormaPagamento() {}
55
 
56
        public FormaPagamento(Long codigo) {
57
                this.codigo = codigo;
58
        }
59
 
60
        @Id
61
        @Column(name="cod_formapagament", nullable=false)
62
        public Long getCodigo() {
63
                return codigo;
64
        }
65
        public void setCodigo(Long codigo) {
66
                this.codigo = codigo;
67
        }
68
 
69
        @Column(name="dsc_formapagament")
70
        @Size(max = 120, message = "Limite de caracteres ultrapassado: Descrição")
71
        public String getDescricao() {
72
                return descricao;
73
        }
74
        public void setDescricao(String descricao) {
75
                this.descricao = StringUtil.setarUpperCaseComTrim(descricao);
76
        }
77
 
78
        @Column(name="num_ordem")
79
        public Integer getNumeroOrdem() {
80
                return numeroOrdem;
81
        }
82
        public void setNumeroOrdem(Integer numeroOrdem) {
83
                this.numeroOrdem = numeroOrdem;
84
        }
85
 
86
        @Column(name="ind_ativo", nullable=false)
87
        public Boolean getAtivo() {
88
                return ativo;
89
        }
90
        public void setAtivo(Boolean ativo) {
91
                this.ativo = ativo;
92
        }
93
 
94
        @Transient
95
        public boolean formaPagamentoEhDinheiro() {
96
                return getCodigo().equals(FORMAPAGAMENTO_DINHEIRO);
97
        }
98
 
99
        @Transient
100
        public boolean formaPagamentoEhCartao() {
690 blopes 101
                return !(formaPagamentoEhDinheiro() || formaPagamentoEhTransferencia() || formaPagamentoEhCupom() || formaPagamentoEhOutros() ||
102
                                formaPagamentoEhPix() || formaPagamentoEhCashback());
106 espaco 103
        }
104
 
105
        @Transient
106
        public boolean formaPagamentoEhDebito() {
107
                return getCodigo().equals(FORMAPAGAMENTO_DEBITO);
108
        }
109
 
110
        @Transient
111
        public boolean formaPagamentoEhPagseguro() {
112
                return getCodigo().equals(FORMAPAGAMENTO_PAGSEGURO);
113
        }
114
 
115
        @Transient
116
        public boolean formaPagamentoEhPix() {
117
                return getCodigo().equals(FORMAPAGAMENTO_PIX);
118
        }
119
 
120
        @Transient
344 espaco 121
        public boolean formaPagamentoEhTransferencia() {
122
                return getCodigo().equals(FORMAPAGAMENTO_TRANSFERENCIA);
123
        }
124
 
125
        @Transient
686 blopes 126
        public boolean formaPagamentoEhCashback() {
127
                return getCodigo().equals(FORMAPAGAMENTO_CASHBACK);
128
        }
129
 
130
        @Transient
106 espaco 131
        public boolean formaPagamentoEhCredito() {
690 blopes 132
                return !(formaPagamentoEhDinheiro() || formaPagamentoEhDebito() || formaPagamentoEhPagseguro() ||
133
                                formaPagamentoEhCupom() || formaPagamentoEhOutros() || formaPagamentoEhPix() ||
134
                                formaPagamentoEhTransferencia() || formaPagamentoEhCashback());
106 espaco 135
        }
136
 
137
        @Transient
138
        public boolean formaPagamentoEhCreditoDividido() {
139
                return formaPagamentoEhCredito() && !formaPagamentoEh1x();
140
        }
277 espaco 141
 
142
        @Transient
143
        public boolean formaPagamentoEhCreditoAcima12x() {
144
                return formaPagamentoEh13x() || formaPagamentoEh14x() || formaPagamentoEh15x() || formaPagamentoEh16x() || formaPagamentoEh17x() || formaPagamentoEh18x();
145
        }
106 espaco 146
 
147
        @Transient
148
        public boolean formaPagamentoEh1x() {
149
                return getCodigo().equals(FORMAPAGAMENTO_1X);
150
        }
151
 
152
        @Transient
153
        public boolean formaPagamentoEh2x() {
154
                return getCodigo().equals(FORMAPAGAMENTO_2X);
155
        }
156
 
157
        @Transient
158
        public boolean formaPagamentoEh3x() {
159
                return getCodigo().equals(FORMAPAGAMENTO_3X);
160
        }
161
 
162
        @Transient
163
        public boolean formaPagamentoEh4x() {
164
                return getCodigo().equals(FORMAPAGAMENTO_4X);
165
        }
166
 
167
        @Transient
168
        public boolean formaPagamentoEh5x() {
169
                return getCodigo().equals(FORMAPAGAMENTO_5X);
170
        }
171
 
172
        @Transient
173
        public boolean formaPagamentoEh6x() {
174
                return getCodigo().equals(FORMAPAGAMENTO_6X);
175
        }
176
 
177
        @Transient
178
        public boolean formaPagamentoEh7x() {
179
                return getCodigo().equals(FORMAPAGAMENTO_7X);
180
        }
181
 
182
        @Transient
183
        public boolean formaPagamentoEh8x() {
184
                return getCodigo().equals(FORMAPAGAMENTO_8X);
185
        }
186
 
187
        @Transient
188
        public boolean formaPagamentoEh9x() {
189
                return getCodigo().equals(FORMAPAGAMENTO_9X);
190
        }
191
 
192
        @Transient
193
        public boolean formaPagamentoEh10x() {
194
                return getCodigo().equals(FORMAPAGAMENTO_10X);
195
        }
196
 
197
        @Transient
198
        public boolean formaPagamentoEh11x() {
199
                return getCodigo().equals(FORMAPAGAMENTO_11X);
200
        }
201
 
202
        @Transient
203
        public boolean formaPagamentoEh12x() {
204
                return getCodigo().equals(FORMAPAGAMENTO_12X);
205
        }
206
 
207
        @Transient
270 espaco 208
        public boolean formaPagamentoEh13x() {
209
                return getCodigo().equals(FORMAPAGAMENTO_13X);
210
        }
211
 
212
        @Transient
213
        public boolean formaPagamentoEh14x() {
214
                return getCodigo().equals(FORMAPAGAMENTO_14X);
215
        }
216
 
217
        @Transient
218
        public boolean formaPagamentoEh15x() {
219
                return getCodigo().equals(FORMAPAGAMENTO_15X);
220
        }
221
 
222
        @Transient
277 espaco 223
        public boolean formaPagamentoEh16x() {
224
                return getCodigo().equals(FORMAPAGAMENTO_16X);
225
        }
226
 
227
        @Transient
228
        public boolean formaPagamentoEh17x() {
229
                return getCodigo().equals(FORMAPAGAMENTO_17X);
230
        }
231
 
232
        @Transient
233
        public boolean formaPagamentoEh18x() {
234
                return getCodigo().equals(FORMAPAGAMENTO_18X);
235
        }
236
 
237
        @Transient
351 espaco 238
        public boolean formaPagamentoEh19x() {
239
                return getCodigo().equals(FORMAPAGAMENTO_19X);
240
        }
241
 
242
        @Transient
243
        public boolean formaPagamentoEh20x() {
244
                return getCodigo().equals(FORMAPAGAMENTO_20X);
245
        }
246
 
247
        @Transient
106 espaco 248
        public boolean formaPagamentoEhCupom() {
249
                return getCodigo().equals(FORMAPAGAMENTO_CUPOM);
250
        }
251
 
252
        @Transient
253
        public boolean formaPagamentoEhOutros() {
254
                return getCodigo().equals(FORMAPAGAMENTO_OUTROS);
255
        }
256
 
257
        @Transient
258
        public static Long recuperarCodigoDaFormaDePagamento(String parcela) {
259
                if (parcela.equals("1")) {
260
                        return FORMAPAGAMENTO_1X;
261
                } else if (parcela.equals("2")) {
262
                        return FORMAPAGAMENTO_2X;
263
                } else if (parcela.equals("3")) {
264
                        return FORMAPAGAMENTO_3X;
265
                } else if (parcela.equals("4")) {
266
                        return FORMAPAGAMENTO_4X;
267
                } else if (parcela.equals("5")) {
268
                        return FORMAPAGAMENTO_5X;
269
                } else if (parcela.equals("6")) {
270
                        return FORMAPAGAMENTO_6X;
271
                } else if (parcela.equals("7")) {
272
                        return FORMAPAGAMENTO_7X;
273
                } else if (parcela.equals("8")) {
274
                        return FORMAPAGAMENTO_8X;
275
                } else if (parcela.equals("9")) {
276
                        return FORMAPAGAMENTO_9X;
277
                } else if (parcela.equals("10")) {
278
                        return FORMAPAGAMENTO_10X;
279
                } else if (parcela.equals("11")) {
280
                        return FORMAPAGAMENTO_11X;
281
                } else if (parcela.equals("12")) {
282
                        return FORMAPAGAMENTO_12X;
270 espaco 283
                } else if (parcela.equals("13")) {
284
                        return FORMAPAGAMENTO_13X;
285
                } else if (parcela.equals("14")) {
286
                        return FORMAPAGAMENTO_14X;
287
                } else if (parcela.equals("15")) {
288
                        return FORMAPAGAMENTO_15X;
351 espaco 289
                } else if (parcela.equals("16")) {
290
                        return FORMAPAGAMENTO_16X;
291
                } else if (parcela.equals("17")) {
292
                        return FORMAPAGAMENTO_17X;
293
                } else if (parcela.equals("18")) {
294
                        return FORMAPAGAMENTO_18X;
295
                } else if (parcela.equals("19")) {
296
                        return FORMAPAGAMENTO_19X;
297
                } else if (parcela.equals("20")) {
298
                        return FORMAPAGAMENTO_20X;
106 espaco 299
                }
300
                return null;
301
        }
302
 
303
        @Override
304
        public int hashCode() {
305
                final int prime = 31;
306
                int result = 1;
307
                result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
308
                return result;
309
        }
310
 
311
        @Override
312
        public boolean equals(Object obj) {
313
                if (this == obj)
314
                        return true;
315
                if (obj == null)
316
                        return false;
317
                if (getClass() != obj.getClass())
318
                        return false;
319
                FormaPagamento other = (FormaPagamento) obj;
320
                if (codigo == null) {
321
                        if (other.codigo != null)
322
                                return false;
323
                } else if (!codigo.equals(other.codigo))
324
                        return false;
325
                return true;
326
        }
327
 
328
}