Subversion Repositories Integrator Subversion

Rev

Rev 279 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
268 espaco 1
package br.com.ec.domain.dto;
2
 
3
import javax.persistence.Transient;
4
 
5
import br.com.ec.core.util.VerificadorUtil;
6
import br.com.ec.domain.model.tipos.TipoComissionamento;
7
 
8
public class AvaliacaoFuncionarioDTO {
9
 
10
        private Double valorTotalVendido;
11
        private Double valorMetaMensal;
12
 
13
        /*
14
        private AvaliacaoFuncionarioId avaliacaoFuncionarioId;
15
        private Funcionario funcionario;
16
        private Avaliacao avaliacao;
17
        private String observacao;
18
        private Double porcentagemComissao;
19
        private Integer quantidadeHorasExtras50;
20
        private Integer quantidadeHorasExtras100;
21
        private Double valorMetaMensalVivo;
22
        private Double valorComissao;
23
 
24
        private Double valorTotalVendidoVivo;
25
 
26
//      private List<AvaliacaoFuncionarioItemAvaliacao> itens;
27
        */
28
 
29
        public Double getValorTotalVendido() {
30
                return valorTotalVendido;
31
        }
32
        public void setValorTotalVendido(Double valorTotalVendido) {
33
                this.valorTotalVendido = valorTotalVendido;
34
        }
35
 
36
        public Double getValorMetaMensal() {
37
                return valorMetaMensal;
38
        }
39
        public void setValorMetaMensal(Double valorMetaMensal) {
40
                this.valorMetaMensal = valorMetaMensal;
41
        }
42
 
43
        @Transient
44
        public Double retornarValorComissao(Double totalVendas, String tipoComissionamento) {
45
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
46
                        return totalVendas * retornarFaixaComissao(totalVendas, tipoComissionamento);
47
                }
48
                return 0.0;
49
        }
50
        /*
51
        @Transient
52
        public Double retornarValorComissao() {
53
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
54
                        return retornarValorComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
55
                }
56
                return 0.0;
57
        }
58
        */
59
        @Transient
60
        public Double retornarFaixaComissao(Double totalVendas, String tipoComissionamento) {
61
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
62
                        Double percentualRealizado = totalVendas * 100 / valorMetaMensal;
63
                        if (TipoComissionamento.COMISSSIONAMENTO_ESPACO_CASE.getValor().equals(tipoComissionamento)) {
64
                                if (percentualRealizado < 75) {
65
                                        return 0.0;
66
                                } else if (percentualRealizado < 100) {
67
                                        return 0.01;
68
                                } else if (percentualRealizado < 125) {
69
                                        return 0.02;
70
                                }
71
                                return 0.025;
72
                        }
73
                        if (TipoComissionamento.COMISSSIONAMENTO_FARMACIA.getValor().equals(tipoComissionamento)) {
74
                                if (percentualRealizado < 75) {
75
                                        return 0.0;
76
                                } else if (percentualRealizado < 100) {
77
                                        return 0.025;
78
                                }
79
                                return 0.05;
80
                        }
81
                }
82
                return 0.0;
83
        }
84
        /*
85
        @Transient
86
        public Double retornarFaixaComissao() {
87
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
88
                        return retornarFaixaComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
89
                }
90
                return 0.0;
91
        }
92
        */
93
        @Transient
94
        public Double retornarPercentualRealizado() {
95
                return retornarPercentual(getValorTotalVendido(), getValorMetaMensal());
96
        }
97
 
98
        @Transient
99
        public Double retornarPercentualRealizado(Double totalVendas) {
100
                return retornarPercentual(totalVendas, getValorMetaMensal());
101
        }
102
 
103
        @Transient
104
        public Double retornarPercentual(Double total, Double meta) {
105
                return VerificadorUtil.naoEstaNulo(total) && VerificadorUtil.naoEstaNulo(meta)? meta > new Double(0.0) ? total / meta : new Double(0.0) : new Double(0.0);
106
        }
107
 
108
}