Subversion Repositories Integrator Subversion

Rev

Rev 268 | Rev 429 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
268 espaco 1
package br.com.ec.domain.dto;
2
 
279 espaco 3
import java.util.List;
4
 
268 espaco 5
import javax.persistence.Transient;
6
 
7
import br.com.ec.core.util.VerificadorUtil;
8
import br.com.ec.domain.model.tipos.TipoComissionamento;
9
 
10
public class AvaliacaoFuncionarioDTO {
11
 
279 espaco 12
        private Long sequencialFuncionario;
13
        private Long sequencialAvaliacao;
14
 
15
        private String descricaoVigencia;
16
        private Double porcentagemComissao;
17
        private String observacao;
18
        private Long pontuacao;
19
 
268 espaco 20
        private Double valorTotalVendido;
21
        private Double valorMetaMensal;
22
 
279 espaco 23
        private List<AvaliacaoFuncionarioItemAvaliacaoDTO> itensAvaliacao;
268 espaco 24
 
279 espaco 25
        public AvaliacaoFuncionarioDTO() {}
268 espaco 26
 
279 espaco 27
        public AvaliacaoFuncionarioDTO(Long sequencialFuncionario, Long sequencialAvaliacao, String descricaoVigencia,
28
                        String observacao, Long pontuacaoNegativa) {
29
                this.sequencialFuncionario = sequencialFuncionario;
30
                this.sequencialAvaliacao = sequencialAvaliacao;
31
                this.descricaoVigencia = descricaoVigencia;
32
                this.observacao = observacao;
33
                if (VerificadorUtil.naoEstaNulo(pontuacaoNegativa)) {
34
                        this.pontuacao = 10 - pontuacaoNegativa;
35
                } else {
36
                        this.pontuacao = new Long(10);
37
                }
38
        }
39
 
40
        public Long getSequencialFuncionario() {
41
                return sequencialFuncionario;
42
        }
43
        public void setSequencialFuncionario(Long sequencialFuncionario) {
44
                this.sequencialFuncionario = sequencialFuncionario;
45
        }
46
 
47
        public Long getSequencialAvaliacao() {
48
                return sequencialAvaliacao;
49
        }
50
        public void setSequencialAvaliacao(Long sequencialAvaliacao) {
51
                this.sequencialAvaliacao = sequencialAvaliacao;
52
        }
53
 
54
        public String getDescricaoVigencia() {
55
                return descricaoVigencia;
56
        }
57
        public void setDescricaoVigencia(String descricaoVigencia) {
58
                this.descricaoVigencia = descricaoVigencia;
59
        }
60
 
61
        public Double getPorcentagemComissao() {
62
                return porcentagemComissao;
63
        }
64
        public void setPorcentagemComissao(Double porcentagemComissao) {
65
                this.porcentagemComissao = porcentagemComissao;
66
        }
67
 
68
        public String getObservacao() {
69
                return observacao;
70
        }
71
        public void setObservacao(String observacao) {
72
                this.observacao = observacao;
73
        }
74
 
75
        public Long getPontuacao() {
76
                return pontuacao;
77
        }
78
        public void setPontuacao(Long pontuacao) {
79
                this.pontuacao = pontuacao;
80
        }
81
 
268 espaco 82
        public Double getValorTotalVendido() {
83
                return valorTotalVendido;
84
        }
85
        public void setValorTotalVendido(Double valorTotalVendido) {
86
                this.valorTotalVendido = valorTotalVendido;
87
        }
88
 
89
        public Double getValorMetaMensal() {
90
                return valorMetaMensal;
91
        }
92
        public void setValorMetaMensal(Double valorMetaMensal) {
93
                this.valorMetaMensal = valorMetaMensal;
94
        }
95
 
279 espaco 96
        public List<AvaliacaoFuncionarioItemAvaliacaoDTO> getItensAvaliacao() {
97
                return itensAvaliacao;
98
        }
99
        public void setItensAvaliacao(List<AvaliacaoFuncionarioItemAvaliacaoDTO> itensAvaliacao) {
100
                this.itensAvaliacao = itensAvaliacao;
101
        }
102
 
268 espaco 103
        @Transient
104
        public Double retornarValorComissao(Double totalVendas, String tipoComissionamento) {
105
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
106
                        return totalVendas * retornarFaixaComissao(totalVendas, tipoComissionamento);
107
                }
108
                return 0.0;
109
        }
110
        /*
111
        @Transient
112
        public Double retornarValorComissao() {
113
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
114
                        return retornarValorComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
115
                }
116
                return 0.0;
117
        }
118
        */
119
        @Transient
120
        public Double retornarFaixaComissao(Double totalVendas, String tipoComissionamento) {
121
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
122
                        Double percentualRealizado = totalVendas * 100 / valorMetaMensal;
123
                        if (TipoComissionamento.COMISSSIONAMENTO_ESPACO_CASE.getValor().equals(tipoComissionamento)) {
124
                                if (percentualRealizado < 75) {
125
                                        return 0.0;
126
                                } else if (percentualRealizado < 100) {
127
                                        return 0.01;
128
                                } else if (percentualRealizado < 125) {
129
                                        return 0.02;
130
                                }
131
                                return 0.025;
132
                        }
133
                        if (TipoComissionamento.COMISSSIONAMENTO_FARMACIA.getValor().equals(tipoComissionamento)) {
134
                                if (percentualRealizado < 75) {
135
                                        return 0.0;
136
                                } else if (percentualRealizado < 100) {
137
                                        return 0.025;
138
                                }
139
                                return 0.05;
140
                        }
141
                }
142
                return 0.0;
143
        }
144
        /*
145
        @Transient
146
        public Double retornarFaixaComissao() {
147
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
148
                        return retornarFaixaComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
149
                }
150
                return 0.0;
151
        }
152
        */
153
        @Transient
154
        public Double retornarPercentualRealizado() {
155
                return retornarPercentual(getValorTotalVendido(), getValorMetaMensal());
156
        }
157
 
158
        @Transient
159
        public Double retornarPercentualRealizado(Double totalVendas) {
160
                return retornarPercentual(totalVendas, getValorMetaMensal());
161
        }
162
 
163
        @Transient
164
        public Double retornarPercentual(Double total, Double meta) {
165
                return VerificadorUtil.naoEstaNulo(total) && VerificadorUtil.naoEstaNulo(meta)? meta > new Double(0.0) ? total / meta : new Double(0.0) : new Double(0.0);
166
        }
167
 
168
}