Subversion Repositories Integrator Subversion

Rev

Rev 279 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.domain.dto;

import javax.persistence.Transient;

import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.tipos.TipoComissionamento;

public class AvaliacaoFuncionarioDTO {
       
        private Double valorTotalVendido;
        private Double valorMetaMensal;
       
        /*
        private AvaliacaoFuncionarioId avaliacaoFuncionarioId;
        private Funcionario funcionario;
        private Avaliacao avaliacao;
        private String observacao;
        private Double porcentagemComissao;
        private Integer quantidadeHorasExtras50;
        private Integer quantidadeHorasExtras100;
        private Double valorMetaMensalVivo;
        private Double valorComissao;
       
        private Double valorTotalVendidoVivo;
       
//      private List<AvaliacaoFuncionarioItemAvaliacao> itens;
        */


        public Double getValorTotalVendido() {
                return valorTotalVendido;
        }
        public void setValorTotalVendido(Double valorTotalVendido) {
                this.valorTotalVendido = valorTotalVendido;
        }
       
        public Double getValorMetaMensal() {
                return valorMetaMensal;
        }
        public void setValorMetaMensal(Double valorMetaMensal) {
                this.valorMetaMensal = valorMetaMensal;
        }
       
        @Transient
        public Double retornarValorComissao(Double totalVendas, String tipoComissionamento) {
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
                        return totalVendas * retornarFaixaComissao(totalVendas, tipoComissionamento);
                }
                return 0.0;
        }
        /*
        @Transient
        public Double retornarValorComissao() {
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
                        return retornarValorComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
                }
                return 0.0;
        }
        */

        @Transient
        public Double retornarFaixaComissao(Double totalVendas, String tipoComissionamento) {
                if (VerificadorUtil.naoEstaNuloOuVazio(valorMetaMensal)) {
                        Double percentualRealizado = totalVendas * 100 / valorMetaMensal;
                        if (TipoComissionamento.COMISSSIONAMENTO_ESPACO_CASE.getValor().equals(tipoComissionamento)) {
                                if (percentualRealizado < 75) {
                                        return 0.0;
                                } else if (percentualRealizado < 100) {
                                        return 0.01;
                                } else if (percentualRealizado < 125) {
                                        return 0.02;
                                }
                                return 0.025;
                        }
                        if (TipoComissionamento.COMISSSIONAMENTO_FARMACIA.getValor().equals(tipoComissionamento)) {
                                if (percentualRealizado < 75) {
                                        return 0.0;
                                } else if (percentualRealizado < 100) {
                                        return 0.025;
                                }
                                return 0.05;
                        }
                }
                return 0.0;
        }
        /*
        @Transient
        public Double retornarFaixaComissao() {
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
                        return retornarFaixaComissao(getValorTotalVendido(), getFuncionario().getTipoComissionamento());
                }
                return 0.0;
        }
        */

        @Transient
        public Double retornarPercentualRealizado() {
                return retornarPercentual(getValorTotalVendido(), getValorMetaMensal());
        }
       
        @Transient
        public Double retornarPercentualRealizado(Double totalVendas) {
                return retornarPercentual(totalVendas, getValorMetaMensal());
        }
       
        @Transient
        public Double retornarPercentual(Double total, Double meta) {
                return VerificadorUtil.naoEstaNulo(total) && VerificadorUtil.naoEstaNulo(meta)? meta > new Double(0.0) ? total / meta : new Double(0.0) : new Double(0.0);
        }
       
}