Subversion Repositories Integrator Subversion

Rev

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