Subversion Repositories Integrator Subversion

Rev

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