Subversion Repositories Integrator Subversion

Rev

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