Subversion Repositories Integrator Subversion

Rev

Rev 686 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
685 blopes 1
package br.com.ec.domain.dto;
2
 
3
import java.util.Date;
4
 
688 blopes 5
import br.com.ec.core.util.DataUtils;
6
import br.com.ec.core.util.VerificadorUtil;
685 blopes 7
import br.com.ec.domain.model.Cliente;
8
import br.com.ec.domain.model.Venda;
688 blopes 9
import br.com.ec.domain.model.tipos.TipoCashback;
685 blopes 10
 
11
public class CashbackDTO {
12
 
13
        private Long sequencial;
14
        private Date dataHoraEmissao;
15
        private Date prazoInicial;
16
        private Date prazoFinal;
17
        private Double valor;
18
        private String tipoCashback; // E - ENTRADA, S - SAÍDA
19
        private String observacao;
20
        private Boolean ativo;
21
 
686 blopes 22
        private Cliente cliente;
23
        private Venda venda;
685 blopes 24
 
25
        public CashbackDTO() {}
26
 
686 blopes 27
        public static String CONSULTA_DTO_COMPLETA = "e.sequencial, e.dataHoraEmissao, e.prazoInicial, e.prazoFinal, e.valor, "
688 blopes 28
                        + "e.tipoCashback, e.observacao, e.ativo, e.cliente.sequencial, e.venda.sequencial";
686 blopes 29
        public CashbackDTO(Long sequencial, Date dataHoraEmissao, Date prazoInicial, Date prazoFinal, Double valor, String tipoCashback, String observacao,
688 blopes 30
                        Boolean ativo, Long sequencialCliente, Long sequencialVenda) {
685 blopes 31
                super();
32
                this.sequencial = sequencial;
686 blopes 33
                this.dataHoraEmissao = dataHoraEmissao;
34
                this.prazoInicial = prazoInicial;
35
                this.prazoFinal = prazoFinal;
685 blopes 36
                this.valor = valor;
686 blopes 37
                this.tipoCashback = tipoCashback;
685 blopes 38
                this.observacao = observacao;
686 blopes 39
                this.ativo = ativo;
40
                this.cliente = new Cliente(sequencialCliente);
688 blopes 41
                Venda venda = new Venda();
42
                venda.setSequencial(sequencialVenda);
43
                this.venda = venda;
685 blopes 44
        }
45
 
46
        public Long getSequencial() {return sequencial;}
47
        public void setSequencial(Long sequencial) {this.sequencial = sequencial;}
48
 
49
        public Date getDataHoraEmissao() {return dataHoraEmissao;}
50
        public void setDataHoraEmissao(Date dataHoraEmissao) {this.dataHoraEmissao = dataHoraEmissao;}
51
 
52
        public Date getPrazoInicial() {
53
                return prazoInicial;
54
        }
55
        public void setPrazoInicial(Date prazoInicial) {
56
                this.prazoInicial = prazoInicial;
57
        }
58
 
59
        public Date getPrazoFinal() {
60
                return prazoFinal;
61
        }
62
        public void setPrazoFinal(Date prazoFinal) {
63
                this.prazoFinal = prazoFinal;
64
        }
65
 
66
        public Double getValor() {
67
                return valor;
68
        }
69
        public void setValor(Double valor) {
70
                this.valor = valor;
71
        }
72
 
73
        public String getTipoCashback() {
74
                return tipoCashback;
75
        }
76
        public void setTipoCashback(String tipoCashback) {
77
                this.tipoCashback = tipoCashback;
78
        }
688 blopes 79
        public String getDescricaoDoTipoCashback() {
80
                return VerificadorUtil.naoEstaNulo(tipoCashback)? TipoCashback.parse(tipoCashback).getDescricao() : "";
81
        }
685 blopes 82
 
83
        public String getObservacao() {
84
                return observacao;
85
        }
86
        public void setObservacao(String observacao) {
87
                this.observacao = observacao;
88
        }
89
 
90
        public Boolean getAtivo() {
91
                return ativo;
92
        }
93
        public void setAtivo(Boolean ativo) {
94
                this.ativo = ativo;
95
        }
96
 
686 blopes 97
        public Cliente getCliente() {
98
                return cliente;
685 blopes 99
        }
686 blopes 100
        public void setCliente(Cliente cliente) {
101
                this.cliente = cliente;
685 blopes 102
        }
103
 
686 blopes 104
        public Venda getVenda() {
105
                return venda;
685 blopes 106
        }
686 blopes 107
        public void setVenda(Venda venda) {
108
                this.venda = venda;
685 blopes 109
        }
688 blopes 110
 
685 blopes 111
        @Override
112
        public int hashCode() {
113
                final int prime = 31;
114
                int result = 1;
115
                result = prime * result + ((sequencial == null) ? 0 : sequencial.hashCode());
116
                return result;
117
        }
118
 
119
        @Override
120
        public boolean equals(Object obj) {
121
                if (this == obj)
122
                        return true;
123
                if (obj == null)
124
                        return false;
125
                if (getClass() != obj.getClass())
126
                        return false;
127
                CashbackDTO other = (CashbackDTO) obj;
128
                if (sequencial == null) {
129
                        if (other.sequencial != null)
130
                                return false;
131
                } else if (!sequencial.equals(other.sequencial))
132
                        return false;
133
                return true;
134
        }
688 blopes 135
 
136
 
137
        public Boolean valido() {
138
                Boolean valido = false;
139
                if (getAtivo()) {
140
                        if (VerificadorUtil.naoEstaNulo(getPrazoInicial())) {
141
                                if (VerificadorUtil.naoEstaNulo(getPrazoFinal())) {
142
                                        if (DataUtils.dataAtualEstaEntrePeriodos(getPrazoInicial(), getPrazoFinal())) {
143
                                                valido = true;
144
                                        }
145
                                } else {
146
                                        if (DataUtils.getDataAtual().after(getPrazoInicial())) {
147
                                                valido = true;
148
                                        }
149
                                }
150
                        }
151
                }
152
                return valido;
153
        }
685 blopes 154
 
155
}