Subversion Repositories Integrator Subversion

Rev

Rev 279 | Rev 430 | 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 {
429 espaco 11
 
12
        private Long sequencialPessoa;
279 espaco 13
        private Long sequencialFuncionario;
429 espaco 14
        private String nomeFuncionario;
279 espaco 15
        private Long sequencialAvaliacao;
16
 
17
        private String descricaoVigencia;
18
        private Double porcentagemComissao;
19
        private String observacao;
20
        private Long pontuacao;
21
 
268 espaco 22
        private Double valorTotalVendido;
23
        private Double valorMetaMensal;
429 espaco 24
        private Double valorComissao;
268 espaco 25
 
279 espaco 26
        private List<AvaliacaoFuncionarioItemAvaliacaoDTO> itensAvaliacao;
268 espaco 27
 
279 espaco 28
        public AvaliacaoFuncionarioDTO() {}
268 espaco 29
 
279 espaco 30
        public AvaliacaoFuncionarioDTO(Long sequencialFuncionario, Long sequencialAvaliacao, String descricaoVigencia,
31
                        String observacao, Long pontuacaoNegativa) {
32
                this.sequencialFuncionario = sequencialFuncionario;
33
                this.sequencialAvaliacao = sequencialAvaliacao;
34
                this.descricaoVigencia = descricaoVigencia;
35
                this.observacao = observacao;
36
                if (VerificadorUtil.naoEstaNulo(pontuacaoNegativa)) {
37
                        this.pontuacao = 10 - pontuacaoNegativa;
38
                } else {
39
                        this.pontuacao = new Long(10);
40
                }
41
        }
42
 
429 espaco 43
        public AvaliacaoFuncionarioDTO(Long sequencialPessoa, Long sequencialFuncionario, String nomeFuncionario, Long sequencialAvaliacao, String descricaoVigencia,
44
                        Double porcentagemComissao, String observacao, Long pontuacao, Double valorComissao, Double valorMetaMensal) {
45
                this.sequencialPessoa = sequencialPessoa;
46
                this.sequencialFuncionario = sequencialFuncionario;
47
                this.nomeFuncionario = nomeFuncionario;
48
                this.sequencialAvaliacao = sequencialAvaliacao;
49
                this.descricaoVigencia = descricaoVigencia;
50
                this.porcentagemComissao = porcentagemComissao;
51
                this.observacao = observacao;
52
                this.pontuacao = pontuacao;
53
                this.valorComissao = valorComissao;
54
                this.valorMetaMensal = valorMetaMensal;
55
        }
56
 
57
        public Long getSequencialPessoa() {
58
                return sequencialPessoa;
59
        }
60
        public void setSequencialPessoa(Long sequencialPessoa) {
61
                this.sequencialPessoa = sequencialPessoa;
62
        }
63
 
279 espaco 64
        public Long getSequencialFuncionario() {
65
                return sequencialFuncionario;
66
        }
67
        public void setSequencialFuncionario(Long sequencialFuncionario) {
68
                this.sequencialFuncionario = sequencialFuncionario;
69
        }
70
 
429 espaco 71
        public String getNomeFuncionario() {
72
                return nomeFuncionario;
73
        }
74
        public void setNomeFuncionario(String nomeFuncionario) {
75
                this.nomeFuncionario = nomeFuncionario;
76
        }
77
 
279 espaco 78
        public Long getSequencialAvaliacao() {
79
                return sequencialAvaliacao;
80
        }
81
        public void setSequencialAvaliacao(Long sequencialAvaliacao) {
82
                this.sequencialAvaliacao = sequencialAvaliacao;
83
        }
84
 
85
        public String getDescricaoVigencia() {
86
                return descricaoVigencia;
87
        }
88
        public void setDescricaoVigencia(String descricaoVigencia) {
89
                this.descricaoVigencia = descricaoVigencia;
90
        }
91
 
92
        public Double getPorcentagemComissao() {
93
                return porcentagemComissao;
94
        }
95
        public void setPorcentagemComissao(Double porcentagemComissao) {
96
                this.porcentagemComissao = porcentagemComissao;
97
        }
98
 
99
        public String getObservacao() {
100
                return observacao;
101
        }
102
        public void setObservacao(String observacao) {
103
                this.observacao = observacao;
104
        }
105
 
106
        public Long getPontuacao() {
107
                return pontuacao;
108
        }
109
        public void setPontuacao(Long pontuacao) {
110
                this.pontuacao = pontuacao;
111
        }
112
 
268 espaco 113
        public Double getValorTotalVendido() {
114
                return valorTotalVendido;
115
        }
116
        public void setValorTotalVendido(Double valorTotalVendido) {
117
                this.valorTotalVendido = valorTotalVendido;
118
        }
119
 
120
        public Double getValorMetaMensal() {
121
                return valorMetaMensal;
122
        }
123
        public void setValorMetaMensal(Double valorMetaMensal) {
124
                this.valorMetaMensal = valorMetaMensal;
125
        }
126
 
429 espaco 127
        public Double getValorComissao() {
128
                return valorComissao;
129
        }
130
        public void setValorComissao(Double valorComissao) {
131
                this.valorComissao = valorComissao;
132
        }
133
 
279 espaco 134
        public List<AvaliacaoFuncionarioItemAvaliacaoDTO> getItensAvaliacao() {
135
                return itensAvaliacao;
136
        }
137
        public void setItensAvaliacao(List<AvaliacaoFuncionarioItemAvaliacaoDTO> itensAvaliacao) {
138
                this.itensAvaliacao = itensAvaliacao;
139
        }
140
 
268 espaco 141
        @Transient
142
        public Double retornarValorComissao(Double totalVendas, String tipoComissionamento) {
143
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
144
                        return totalVendas * retornarFaixaComissao(totalVendas, tipoComissionamento);
145
                }
146
                return 0.0;
147
        }
148
        /*
149
        @Transient
150
        public Double retornarValorComissao() {
151
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
152
                        return retornarValorComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
153
                }
154
                return 0.0;
155
        }
156
        */
157
        @Transient
158
        public Double retornarFaixaComissao(Double totalVendas, String tipoComissionamento) {
159
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
160
                        Double percentualRealizado = totalVendas * 100 / valorMetaMensal;
161
                        if (TipoComissionamento.COMISSSIONAMENTO_ESPACO_CASE.getValor().equals(tipoComissionamento)) {
162
                                if (percentualRealizado < 75) {
163
                                        return 0.0;
164
                                } else if (percentualRealizado < 100) {
165
                                        return 0.01;
166
                                } else if (percentualRealizado < 125) {
167
                                        return 0.02;
168
                                }
169
                                return 0.025;
170
                        }
171
                        if (TipoComissionamento.COMISSSIONAMENTO_FARMACIA.getValor().equals(tipoComissionamento)) {
172
                                if (percentualRealizado < 75) {
173
                                        return 0.0;
174
                                } else if (percentualRealizado < 100) {
175
                                        return 0.025;
176
                                }
177
                                return 0.05;
178
                        }
179
                }
180
                return 0.0;
181
        }
182
        /*
183
        @Transient
184
        public Double retornarFaixaComissao() {
185
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
186
                        return retornarFaixaComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
187
                }
188
                return 0.0;
189
        }
190
        */
191
        @Transient
192
        public Double retornarPercentualRealizado() {
193
                return retornarPercentual(getValorTotalVendido(), getValorMetaMensal());
194
        }
195
 
196
        @Transient
197
        public Double retornarPercentualRealizado(Double totalVendas) {
198
                return retornarPercentual(totalVendas, getValorMetaMensal());
199
        }
200
 
201
        @Transient
202
        public Double retornarPercentual(Double total, Double meta) {
203
                return VerificadorUtil.naoEstaNulo(total) && VerificadorUtil.naoEstaNulo(meta)? meta > new Double(0.0) ? total / meta : new Double(0.0) : new Double(0.0);
204
        }
205
 
206
}