Subversion Repositories Integrator Subversion

Rev

Rev 351 | 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.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() {
101
                return !(formaPagamentoEhDinheiro() || formaPagamentoEhCupom() || formaPagamentoEhOutros());
102
        }
103
 
104
        @Transient
105
        public boolean formaPagamentoEhDebito() {
106
                return getCodigo().equals(FORMAPAGAMENTO_DEBITO);
107
        }
108
 
109
        @Transient
110
        public boolean formaPagamentoEhPagseguro() {
111
                return getCodigo().equals(FORMAPAGAMENTO_PAGSEGURO);
112
        }
113
 
114
        @Transient
115
        public boolean formaPagamentoEhPix() {
116
                return getCodigo().equals(FORMAPAGAMENTO_PIX);
117
        }
118
 
119
        @Transient
344 espaco 120
        public boolean formaPagamentoEhTransferencia() {
121
                return getCodigo().equals(FORMAPAGAMENTO_TRANSFERENCIA);
122
        }
123
 
124
        @Transient
686 blopes 125
        public boolean formaPagamentoEhCashback() {
126
                return getCodigo().equals(FORMAPAGAMENTO_CASHBACK);
127
        }
128
 
129
        @Transient
106 espaco 130
        public boolean formaPagamentoEhCredito() {
131
                return !(formaPagamentoEhDinheiro() || formaPagamentoEhDebito() || formaPagamentoEhPagseguro() || formaPagamentoEhCupom() || formaPagamentoEhOutros() || formaPagamentoEhPix());
132
        }
133
 
134
        @Transient
135
        public boolean formaPagamentoEhCreditoDividido() {
136
                return formaPagamentoEhCredito() && !formaPagamentoEh1x();
137
        }
277 espaco 138
 
139
        @Transient
140
        public boolean formaPagamentoEhCreditoAcima12x() {
141
                return formaPagamentoEh13x() || formaPagamentoEh14x() || formaPagamentoEh15x() || formaPagamentoEh16x() || formaPagamentoEh17x() || formaPagamentoEh18x();
142
        }
106 espaco 143
 
144
        @Transient
145
        public boolean formaPagamentoEh1x() {
146
                return getCodigo().equals(FORMAPAGAMENTO_1X);
147
        }
148
 
149
        @Transient
150
        public boolean formaPagamentoEh2x() {
151
                return getCodigo().equals(FORMAPAGAMENTO_2X);
152
        }
153
 
154
        @Transient
155
        public boolean formaPagamentoEh3x() {
156
                return getCodigo().equals(FORMAPAGAMENTO_3X);
157
        }
158
 
159
        @Transient
160
        public boolean formaPagamentoEh4x() {
161
                return getCodigo().equals(FORMAPAGAMENTO_4X);
162
        }
163
 
164
        @Transient
165
        public boolean formaPagamentoEh5x() {
166
                return getCodigo().equals(FORMAPAGAMENTO_5X);
167
        }
168
 
169
        @Transient
170
        public boolean formaPagamentoEh6x() {
171
                return getCodigo().equals(FORMAPAGAMENTO_6X);
172
        }
173
 
174
        @Transient
175
        public boolean formaPagamentoEh7x() {
176
                return getCodigo().equals(FORMAPAGAMENTO_7X);
177
        }
178
 
179
        @Transient
180
        public boolean formaPagamentoEh8x() {
181
                return getCodigo().equals(FORMAPAGAMENTO_8X);
182
        }
183
 
184
        @Transient
185
        public boolean formaPagamentoEh9x() {
186
                return getCodigo().equals(FORMAPAGAMENTO_9X);
187
        }
188
 
189
        @Transient
190
        public boolean formaPagamentoEh10x() {
191
                return getCodigo().equals(FORMAPAGAMENTO_10X);
192
        }
193
 
194
        @Transient
195
        public boolean formaPagamentoEh11x() {
196
                return getCodigo().equals(FORMAPAGAMENTO_11X);
197
        }
198
 
199
        @Transient
200
        public boolean formaPagamentoEh12x() {
201
                return getCodigo().equals(FORMAPAGAMENTO_12X);
202
        }
203
 
204
        @Transient
270 espaco 205
        public boolean formaPagamentoEh13x() {
206
                return getCodigo().equals(FORMAPAGAMENTO_13X);
207
        }
208
 
209
        @Transient
210
        public boolean formaPagamentoEh14x() {
211
                return getCodigo().equals(FORMAPAGAMENTO_14X);
212
        }
213
 
214
        @Transient
215
        public boolean formaPagamentoEh15x() {
216
                return getCodigo().equals(FORMAPAGAMENTO_15X);
217
        }
218
 
219
        @Transient
277 espaco 220
        public boolean formaPagamentoEh16x() {
221
                return getCodigo().equals(FORMAPAGAMENTO_16X);
222
        }
223
 
224
        @Transient
225
        public boolean formaPagamentoEh17x() {
226
                return getCodigo().equals(FORMAPAGAMENTO_17X);
227
        }
228
 
229
        @Transient
230
        public boolean formaPagamentoEh18x() {
231
                return getCodigo().equals(FORMAPAGAMENTO_18X);
232
        }
233
 
234
        @Transient
351 espaco 235
        public boolean formaPagamentoEh19x() {
236
                return getCodigo().equals(FORMAPAGAMENTO_19X);
237
        }
238
 
239
        @Transient
240
        public boolean formaPagamentoEh20x() {
241
                return getCodigo().equals(FORMAPAGAMENTO_20X);
242
        }
243
 
244
        @Transient
106 espaco 245
        public boolean formaPagamentoEhCupom() {
246
                return getCodigo().equals(FORMAPAGAMENTO_CUPOM);
247
        }
248
 
249
        @Transient
250
        public boolean formaPagamentoEhOutros() {
251
                return getCodigo().equals(FORMAPAGAMENTO_OUTROS);
252
        }
253
 
254
        @Transient
255
        public static Long recuperarCodigoDaFormaDePagamento(String parcela) {
256
                if (parcela.equals("1")) {
257
                        return FORMAPAGAMENTO_1X;
258
                } else if (parcela.equals("2")) {
259
                        return FORMAPAGAMENTO_2X;
260
                } else if (parcela.equals("3")) {
261
                        return FORMAPAGAMENTO_3X;
262
                } else if (parcela.equals("4")) {
263
                        return FORMAPAGAMENTO_4X;
264
                } else if (parcela.equals("5")) {
265
                        return FORMAPAGAMENTO_5X;
266
                } else if (parcela.equals("6")) {
267
                        return FORMAPAGAMENTO_6X;
268
                } else if (parcela.equals("7")) {
269
                        return FORMAPAGAMENTO_7X;
270
                } else if (parcela.equals("8")) {
271
                        return FORMAPAGAMENTO_8X;
272
                } else if (parcela.equals("9")) {
273
                        return FORMAPAGAMENTO_9X;
274
                } else if (parcela.equals("10")) {
275
                        return FORMAPAGAMENTO_10X;
276
                } else if (parcela.equals("11")) {
277
                        return FORMAPAGAMENTO_11X;
278
                } else if (parcela.equals("12")) {
279
                        return FORMAPAGAMENTO_12X;
270 espaco 280
                } else if (parcela.equals("13")) {
281
                        return FORMAPAGAMENTO_13X;
282
                } else if (parcela.equals("14")) {
283
                        return FORMAPAGAMENTO_14X;
284
                } else if (parcela.equals("15")) {
285
                        return FORMAPAGAMENTO_15X;
351 espaco 286
                } else if (parcela.equals("16")) {
287
                        return FORMAPAGAMENTO_16X;
288
                } else if (parcela.equals("17")) {
289
                        return FORMAPAGAMENTO_17X;
290
                } else if (parcela.equals("18")) {
291
                        return FORMAPAGAMENTO_18X;
292
                } else if (parcela.equals("19")) {
293
                        return FORMAPAGAMENTO_19X;
294
                } else if (parcela.equals("20")) {
295
                        return FORMAPAGAMENTO_20X;
106 espaco 296
                }
297
                return null;
298
        }
299
 
300
        @Override
301
        public int hashCode() {
302
                final int prime = 31;
303
                int result = 1;
304
                result = prime * result + ((codigo == null) ? 0 : codigo.hashCode());
305
                return result;
306
        }
307
 
308
        @Override
309
        public boolean equals(Object obj) {
310
                if (this == obj)
311
                        return true;
312
                if (obj == null)
313
                        return false;
314
                if (getClass() != obj.getClass())
315
                        return false;
316
                FormaPagamento other = (FormaPagamento) obj;
317
                if (codigo == null) {
318
                        if (other.codigo != null)
319
                                return false;
320
                } else if (!codigo.equals(other.codigo))
321
                        return false;
322
                return true;
323
        }
324
 
325
}