Subversion Repositories Integrator Subversion

Rev

Rev 439 | Rev 653 | 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
 
610 blopes 40
        public AvaliacaoFuncionarioDTO(Long sequencialPessoa, Long sequencialFuncionario, String nomeFuncionario, String cpfFuncionario, 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);
610 blopes 44
                this.funcionarioDTO = new FuncionarioDTO(sequencialFuncionario, sequencialPessoa, nomeFuncionario, cpfFuncionario, 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
        */
610 blopes 165
 
268 espaco 166
        public Double retornarPercentualRealizado() {
167
                return retornarPercentual(getValorTotalVendido(), getValorMetaMensal());
168
        }
169
 
170
        public Double retornarPercentualRealizado(Double totalVendas) {
171
                return retornarPercentual(totalVendas, getValorMetaMensal());
172
        }
173
 
174
        public Double retornarPercentual(Double total, Double meta) {
175
                return VerificadorUtil.naoEstaNulo(total) && VerificadorUtil.naoEstaNulo(meta)? meta > new Double(0.0) ? total / meta : new Double(0.0) : new Double(0.0);
176
        }
430 espaco 177
 
178
        public Integer getCodigoContabilidadeDoFuncionario() {
179
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getCodigoContabilidade() : null;
180
        }
181
 
182
        public Long getSequencialPessoaDoFuncionario() {
183
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getSequencialPessoaDoFuncionario() : null;
184
        }
268 espaco 185
 
430 espaco 186
        public Long getSequencialDoFuncionario() {
187
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getSequencialFuncionario() : null;
188
        }
189
 
190
        public Long getSequencialDaAvaliacao() {
191
                return VerificadorUtil.naoEstaNulo(getAvaliacaoDTO())? getAvaliacaoDTO().getSequencial() : null;
192
        }
193
 
610 blopes 194
        public String getCpfCnpjDoFuncionario() {
195
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getCpfCnpjDaPessoa() : null;
196
        }
197
 
430 espaco 198
        public String getNomeDaPessoa() {
199
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getNomeDaPessoa() : null;
200
        }
201
 
202
        public String getEmailDaPessoa() {
203
                return VerificadorUtil.naoEstaNulo(getFuncionarioDTO())? getFuncionarioDTO().getEmailDaPessoa() : null;
204
        }
205
 
268 espaco 206
}