Subversion Repositories Integrator Subversion

Rev

Rev 430 | Rev 610 | 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
 
439 espaco 40
        public AvaliacaoFuncionarioDTO(Long sequencialPessoa, Long sequencialFuncionario, String nomeFuncionario, String emailFuncionario,
430 espaco 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);
439 espaco 44
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, sequencialPessoa, nomeFuncionario, emailFuncionario, 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
}