Subversion Repositories Integrator Subversion

Rev

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