Subversion Repositories Integrator Subversion

Rev

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