Subversion Repositories Integrator Subversion

Rev

Rev 195 | Rev 333 | 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.dto;
2
 
3
import java.beans.Transient;
4
 
195 espaco 5
import br.com.ec.core.util.DataUtils;
6
import br.com.ec.core.util.VerificadorUtil;
106 espaco 7
import br.com.ec.domain.model.AvaliacaoFuncionario;
8
import br.com.ec.domain.model.Funcionario;
9
import br.com.ec.domain.model.Vendedor;
10
 
11
public class RankingVendedorDTO implements Comparable<RankingVendedorDTO> {
12
 
13
        private AvaliacaoFuncionario avaliacaoFuncionario;
14
        private Vendedor vendedor;
15
        private Funcionario funcionario;
16
        private Double quantidadeBancoHoras;
17
        private Double valorTotalVendidoDoDia;
18
        private Double valorTotalVendido;
19
        private Integer quantidadeTotalProdutosVendidos;
20
        private Double valorTotalVendidoVivo;
21
        private Double valorTotalDescontos;
22
        private Double percentualDescontos;
252 espaco 23
        private Integer quantidadeProdutosPromocaoInterna;
24
        private Integer quantidadeTpuSoftNormal;
25
        private Integer quantidadeTpuSoftCamera;
106 espaco 26
        private Integer quantidadePedidos;
27
        private Integer quantidadePedidosInvalidos;
28
        private Integer quantidadeVendas;
29
        private Integer quantidadeContagens;
30
        private Integer quantidadeAtendimentos;
31
        private Double percentualMetaDiaria;
32
        private Double percentualMetaMensal;
33
        private Double percentualMetaMensalVivo;
34
        private Double comissao;
35
        private Double comissaoVivo;
36
 
37
        public AvaliacaoFuncionario getAvaliacaoFuncionario() {
38
                return avaliacaoFuncionario;
39
        }
40
        public void setAvaliacaoFuncionario(AvaliacaoFuncionario avaliacaoFuncionario) {
41
                this.avaliacaoFuncionario = avaliacaoFuncionario;
42
        }
43
 
44
        public Vendedor getVendedor() {
45
                return vendedor;
46
        }
47
        public void setVendedor(Vendedor vendedor) {
48
                this.vendedor = vendedor;
49
        }
50
 
51
        public Funcionario getFuncionario() {
52
                return funcionario;
53
        }
54
        public void setFuncionario(Funcionario funcionario) {
55
                this.funcionario = funcionario;
56
        }
57
 
58
        public Double getQuantidadeBancoHoras() {
59
                return quantidadeBancoHoras;
60
        }
61
        public void setQuantidadeBancoHoras(Double quantidadeBancoHoras) {
62
                this.quantidadeBancoHoras = quantidadeBancoHoras;
63
        }
64
 
65
        public Double getValorTotalVendidoDoDia() {
66
                return valorTotalVendidoDoDia;
67
        }
68
        public void setValorTotalVendidoDoDia(Double valorTotalVendidoDoDia) {
69
                this.valorTotalVendidoDoDia = valorTotalVendidoDoDia;
70
        }
71
 
72
        public Double getValorTotalVendido() {
73
                return valorTotalVendido;
74
        }
75
        public void setValorTotalVendido(Double valorTotalVendido) {
76
                this.valorTotalVendido = valorTotalVendido;
77
        }
78
 
79
        public Integer getQuantidadeTotalProdutosVendidos() {
80
                return quantidadeTotalProdutosVendidos;
81
        }
82
        public void setQuantidadeTotalProdutosVendidos(Integer quantidadeTotalProdutosVendidos) {
83
                this.quantidadeTotalProdutosVendidos = quantidadeTotalProdutosVendidos;
84
        }
85
 
86
        public Double getValorTotalVendidoVivo() {
87
                return valorTotalVendidoVivo;
88
        }
89
        public void setValorTotalVendidoVivo(Double valorTotalVendidoVivo) {
90
                this.valorTotalVendidoVivo = valorTotalVendidoVivo;
91
        }
92
 
93
        public Double getValorTotalDescontos() {
94
                return valorTotalDescontos;
95
        }
96
        public void setValorTotalDescontos(Double valorTotalDescontos) {
97
                this.valorTotalDescontos = valorTotalDescontos;
98
        }
99
 
100
        public Double getPercentualDescontos() {
101
                return percentualDescontos;
102
        }
103
        public void setPercentualDescontos(Double percentualDescontos) {
104
                this.percentualDescontos = percentualDescontos;
105
        }
106
 
252 espaco 107
        public Integer getQuantidadeProdutosPromocaoInterna() {
108
                return quantidadeProdutosPromocaoInterna;
109
        }
110
        public void setQuantidadeProdutosPromocaoInterna(Integer quantidadeProdutosPromocaoInterna) {
111
                this.quantidadeProdutosPromocaoInterna = quantidadeProdutosPromocaoInterna;
112
        }
113
 
114
        public Integer getQuantidadeTpuSoftNormal() {
115
                return quantidadeTpuSoftNormal;
116
        }
117
        public void setQuantidadeTpuSoftNormal(Integer quantidadeTpuSoftNormal) {
118
                this.quantidadeTpuSoftNormal = quantidadeTpuSoftNormal;
119
        }
120
 
121
        public Integer getQuantidadeTpuSoftCamera() {
122
                return quantidadeTpuSoftCamera;
123
        }
124
        public void setQuantidadeTpuSoftCamera(Integer quantidadeTpuSoftCamera) {
125
                this.quantidadeTpuSoftCamera = quantidadeTpuSoftCamera;
126
        }
127
 
106 espaco 128
        public Integer getQuantidadePedidos() {
129
                return quantidadePedidos;
130
        }
131
        public void setQuantidadePedidos(Integer quantidadePedidos) {
132
                this.quantidadePedidos = quantidadePedidos;
133
        }
134
 
135
        public Integer getQuantidadePedidosInvalidos() {
136
                return quantidadePedidosInvalidos;
137
        }
138
        public void setQuantidadePedidosInvalidos(Integer quantidadePedidosInvalidos) {
139
                this.quantidadePedidosInvalidos = quantidadePedidosInvalidos;
140
        }
141
 
142
        public Integer getQuantidadeVendas() {
143
                return quantidadeVendas;
144
        }
145
        public void setQuantidadeVendas(Integer quantidadeVendas) {
146
                this.quantidadeVendas = quantidadeVendas;
147
        }
148
 
149
        public Integer getQuantidadeContagens() {
150
                return quantidadeContagens;
151
        }
152
        public void setQuantidadeContagens(Integer quantidadeContagens) {
153
                this.quantidadeContagens = quantidadeContagens;
154
        }
155
 
156
        public Integer getQuantidadeAtendimentos() {
157
                return quantidadeAtendimentos;
158
        }
159
        public void setQuantidadeAtendimentos(Integer quantidadeAtendimentos) {
160
                this.quantidadeAtendimentos = quantidadeAtendimentos;
161
        }
162
 
163
        public Double getPercentualMetaDiaria() {
164
                return percentualMetaDiaria;
165
        }
166
        public void setPercentualMetaDiaria(Double percentualMetaDiaria) {
167
                this.percentualMetaDiaria = percentualMetaDiaria;
168
        }
169
 
170
        public Double getPercentualMetaMensal() {
171
                return percentualMetaMensal;
172
        }
173
        public void setPercentualMetaMensal(Double percentualMetaMensal) {
174
                this.percentualMetaMensal = percentualMetaMensal;
175
        }
176
 
177
        public Double getPercentualMetaMensalVivo() {
178
                return percentualMetaMensalVivo;
179
        }
180
        public void setPercentualMetaMensalVivo(Double percentualMetaMensalVivo) {
181
                this.percentualMetaMensalVivo = percentualMetaMensalVivo;
182
        }
183
 
184
        public Double getComissao() {
185
                return comissao;
186
        }
187
        public void setComissao(Double comissao) {
188
                this.comissao = comissao;
189
        }
190
 
191
        public Double getComissaoVivo() {
192
                return comissaoVivo;
193
        }
194
        public void setComissaoVivo(Double comissaoVivo) {
195
                this.comissaoVivo = comissaoVivo;
196
        }
197
 
198
        @SuppressWarnings("deprecation")
199
        public Double getPercentualPercorridoMesAtual() {
200
                Integer ultimoDiaDoMes = DataUtils.getUltimoDiaDoMesAtual().getDate();
201
                Integer diaAtual = DataUtils.getDataAtual().getDate();
202
                return new Double(100*diaAtual/ultimoDiaDoMes);
203
        }
204
 
205
        @Override
206
        public int compareTo(RankingVendedorDTO rankingVendedorDTO) {
207
                return rankingVendedorDTO.getValorTotalVendido().compareTo(this.valorTotalVendido);
208
        }
209
 
210
        public Double getTicketMedio() {
211
                if (VerificadorUtil.naoEstaNulo(getValorTotalVendido())
212
                                && VerificadorUtil.naoEstaNulo(getQuantidadeVendas())) {
213
                        if (getValorTotalVendido() > 0 && getQuantidadeVendas() > 0) {
214
                                return getValorTotalVendido()/getQuantidadeVendas();
215
                        }
216
                }
217
                return 0.0;
218
        }
219
 
220
        @Transient
221
        public Double retornarFaixaComissao() {
222
                if (VerificadorUtil.naoEstaNulo(getAvaliacaoFuncionario())) {
223
                        if (VerificadorUtil.naoEstaNulo(getAvaliacaoFuncionario().getPorcentagemComissao())) {
224
                                return getAvaliacaoFuncionario().getPorcentagemComissao();
225
                        }
226
                        return getAvaliacaoFuncionario().retornarFaixaComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
227
                }
228
                return 0.0;
229
        }
230
 
231
        @Transient
232
        public String corSobreMeta() {
233
                if (VerificadorUtil.naoEstaNulo(getPercentualMetaMensal())) {
234
                        if (getPercentualMetaMensal() > 0.99) return "green";
235
                        if (getPercentualMetaMensal() > 0.74) return "orange";
236
                        return "red";
237
                }
238
                return "black";
239
        }
240
 
241
        @Transient
242
        public String corSobreMetaCorrente(Double percentualPercorridoMesAtual) {
243
                if (VerificadorUtil.naoEstaNulo(getPercentualMetaMensal()) && VerificadorUtil.naoEstaNulo(percentualPercorridoMesAtual)) {
244
                        Double diferenca = getPercentualMetaMensal() - (percentualPercorridoMesAtual/100);
245
                        Double diferencaSetentaCinco = percentualPercorridoMesAtual * 25 / 100;
246
                        if (diferenca > 0.24) {
247
                                return "blue";
248
                        } else if (diferenca > 0) {
249
                                return "green";
250
                        } else if (diferenca > (diferencaSetentaCinco * -1 / 100)) {
251
                                return "orange";
252
                        } else {
253
                                return "red";
254
                        }
255
                }
256
                return "black";
257
        }
258
 
259
        @Transient
260
        public Boolean percentualDescontosPertoDoLimite() {
261
                if (VerificadorUtil.naoEstaNulo(getPercentualDescontos())) {
262
                        if (getPercentualDescontos() > 0.06 && getPercentualDescontos() < 0.07) {
263
                                return true;
264
                        }
265
                }
266
                return false;
267
        }
268
 
269
        @Transient
270
        public Boolean percentualDescontosSuperiorAoLimite() {
271
                if (VerificadorUtil.naoEstaNulo(getPercentualDescontos())) {
272
                        if (getPercentualDescontos() > 0.07) {
273
                                return true;
274
                        }
275
                }
276
                return false;
277
        }
278
 
279
}