Rev 658 | Rev 664 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 648 | blopes | 1 | package br.com.ec.controller; |
| 2 | |||
| 650 | blopes | 3 | import java.io.IOException; |
| 648 | blopes | 4 | import java.io.Serializable; |
| 5 | |||
| 650 | blopes | 6 | import javax.annotation.PostConstruct; |
| 648 | blopes | 7 | import javax.inject.Inject; |
| 8 | import javax.inject.Named; |
||
| 9 | |||
| 10 | import org.springframework.context.annotation.Scope; |
||
| 11 | |||
| 12 | import br.com.ec.core.generic.GenericService; |
||
| 650 | blopes | 13 | import br.com.ec.core.util.VerificadorUtil; |
| 14 | import br.com.ec.domain.dto.AvaliacaoDTO; |
||
| 655 | blopes | 15 | import br.com.ec.domain.dto.AvaliacaoFuncionarioDTO; |
| 659 | blopes | 16 | import br.com.ec.domain.dto.LojaDTO; |
| 657 | blopes | 17 | import br.com.ec.domain.dto.UsuarioDTO; |
| 659 | blopes | 18 | import br.com.ec.domain.dto.VendedorDTO; |
| 650 | blopes | 19 | import br.com.ec.domain.dto.VigenciaDTO; |
| 659 | blopes | 20 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
| 21 | import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO; |
||
| 648 | blopes | 22 | import br.com.ec.domain.model.Avaliacao; |
| 655 | blopes | 23 | import br.com.ec.domain.model.AvaliacaoFuncionario; |
| 656 | blopes | 24 | import br.com.ec.domain.model.AvaliacaoFuncionarioId; |
| 659 | blopes | 25 | import br.com.ec.domain.model.tipos.TipoFaixaComissao; |
| 656 | blopes | 26 | import br.com.ec.domain.service.AvaliacaoFuncionarioService; |
| 648 | blopes | 27 | import br.com.ec.domain.service.AvaliacaoService; |
| 659 | blopes | 28 | import br.com.ec.domain.service.LojaService; |
| 657 | blopes | 29 | import br.com.ec.domain.service.UsuarioService; |
| 659 | blopes | 30 | import br.com.ec.domain.service.VendaService; |
| 31 | import br.com.ec.domain.service.VendedorService; |
||
| 648 | blopes | 32 | import br.com.ec.domain.service.VigenciaService; |
| 33 | import br.com.ec.web.exception.VerificadorLancamentoException; |
||
| 34 | import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean; |
||
| 35 | import br.com.ec.web.generic.AbstractBean; |
||
| 36 | import br.com.ec.web.message.LancadorMensagem; |
||
| 37 | import br.com.ec.web.util.TipoOperacao; |
||
| 38 | |||
| 39 | @Named |
||
| 40 | @Scope("view") |
||
| 650 | blopes | 41 | public class MetasAvaliacoesBean extends AbstractBean<Avaliacao> implements Serializable { |
| 648 | blopes | 42 | |
| 43 | private static final long serialVersionUID = 1L; |
||
| 44 | |||
| 650 | blopes | 45 | private VigenciaDTO vigenciaSelecionada; |
| 46 | private AvaliacaoDTO avaliacaoSelecionada; |
||
| 47 | |||
| 656 | blopes | 48 | private AvaliacaoFuncionario participanteSelecionado; |
| 657 | blopes | 49 | private UsuarioDTO usuarioParticipanteSelecionado; |
| 659 | blopes | 50 | private LojaDTO lojaParticipanteSelecionado; |
| 656 | blopes | 51 | private Long sequencialLojaSelecionada; |
| 655 | blopes | 52 | |
| 648 | blopes | 53 | private VigenciaService vigenciaService; |
| 54 | private AvaliacaoService avaliacaoService; |
||
| 656 | blopes | 55 | private AvaliacaoFuncionarioService avaliacaoFuncionarioService; |
| 657 | blopes | 56 | private UsuarioService usuarioService; |
| 659 | blopes | 57 | private LojaService lojaService; |
| 58 | private VendaService vendaService; |
||
| 59 | private VendedorService vendedorService; |
||
| 648 | blopes | 60 | |
| 61 | @Inject |
||
| 656 | blopes | 62 | public MetasAvaliacoesBean(VigenciaService vigenciaService, AvaliacaoService avaliacaoService, |
| 659 | blopes | 63 | AvaliacaoFuncionarioService avaliacaoFuncionarioService, UsuarioService usuarioService, |
| 64 | LojaService lojaService, VendaService vendaService, VendedorService vendedorService) { |
||
| 648 | blopes | 65 | this.vigenciaService = vigenciaService; |
| 66 | this.avaliacaoService = avaliacaoService; |
||
| 656 | blopes | 67 | this.avaliacaoFuncionarioService = avaliacaoFuncionarioService; |
| 657 | blopes | 68 | this.usuarioService = usuarioService; |
| 659 | blopes | 69 | this.lojaService = lojaService; |
| 70 | this.vendaService = vendaService; |
||
| 71 | this.vendedorService = vendedorService; |
||
| 648 | blopes | 72 | } |
| 73 | |||
| 74 | @Override |
||
| 75 | public void preCarregamento() { |
||
| 76 | limparEntidade(); |
||
| 77 | } |
||
| 650 | blopes | 78 | |
| 79 | @PostConstruct |
||
| 80 | private void posCarregamento() { |
||
| 656 | blopes | 81 | consultarMetasAvaliacoes(); |
| 650 | blopes | 82 | } |
| 656 | blopes | 83 | |
| 648 | blopes | 84 | @Override |
| 85 | public void limparEntidade() { |
||
| 650 | blopes | 86 | setEntidade(new Avaliacao()); |
| 648 | blopes | 87 | } |
| 88 | |||
| 89 | @Override |
||
| 650 | blopes | 90 | public GenericService<Avaliacao> getService() { |
| 91 | return avaliacaoService; |
||
| 648 | blopes | 92 | } |
| 93 | |||
| 94 | @Override |
||
| 650 | blopes | 95 | public Avaliacao getEntidade() { |
| 648 | blopes | 96 | return entidade; |
| 97 | } |
||
| 98 | |||
| 99 | @Override |
||
| 100 | public void preConsultar() { |
||
| 101 | setTipoOperacao(TipoOperacao.CONSULTAR); |
||
| 102 | } |
||
| 103 | |||
| 104 | @Override |
||
| 650 | blopes | 105 | public Avaliacao getId() { |
| 648 | blopes | 106 | return getEntidade(); |
| 107 | } |
||
| 108 | |||
| 650 | blopes | 109 | public VigenciaDTO getVigenciaSelecionada() { |
| 110 | return vigenciaSelecionada; |
||
| 111 | } |
||
| 112 | public void setVigenciaSelecionada(VigenciaDTO vigenciaSelecionada) { |
||
| 113 | this.vigenciaSelecionada = vigenciaSelecionada; |
||
| 114 | } |
||
| 115 | |||
| 116 | public AvaliacaoDTO getAvaliacaoSelecionada() { |
||
| 117 | return avaliacaoSelecionada; |
||
| 118 | } |
||
| 119 | public void setAvaliacaoSelecionada(AvaliacaoDTO avaliacaoSelecionada) { |
||
| 120 | this.avaliacaoSelecionada = avaliacaoSelecionada; |
||
| 121 | } |
||
| 122 | |||
| 656 | blopes | 123 | public AvaliacaoFuncionario getParticipanteSelecionado() { |
| 655 | blopes | 124 | return participanteSelecionado; |
| 125 | } |
||
| 656 | blopes | 126 | public void setParticipanteSelecionado(AvaliacaoFuncionario participanteSelecionado) { |
| 655 | blopes | 127 | this.participanteSelecionado = participanteSelecionado; |
| 128 | } |
||
| 129 | |||
| 656 | blopes | 130 | public Long getSequencialLojaSelecionada() { |
| 131 | return sequencialLojaSelecionada; |
||
| 132 | } |
||
| 133 | public void setSequencialLojaSelecionada(Long sequencialLojaSelecionada) { |
||
| 134 | this.sequencialLojaSelecionada = sequencialLojaSelecionada; |
||
| 135 | } |
||
| 136 | |||
| 657 | blopes | 137 | public UsuarioDTO getUsuarioParticipanteSelecionado() { |
| 138 | return usuarioParticipanteSelecionado; |
||
| 139 | } |
||
| 140 | public void setUsuarioParticipanteSelecionado(UsuarioDTO usuarioParticipanteSelecionado) { |
||
| 141 | this.usuarioParticipanteSelecionado = usuarioParticipanteSelecionado; |
||
| 142 | } |
||
| 143 | |||
| 659 | blopes | 144 | public LojaDTO getLojaParticipanteSelecionado() { |
| 145 | return lojaParticipanteSelecionado; |
||
| 146 | } |
||
| 147 | public void setLojaParticipanteSelecionado(LojaDTO lojaParticipanteSelecionado) { |
||
| 148 | this.lojaParticipanteSelecionado = lojaParticipanteSelecionado; |
||
| 149 | } |
||
| 150 | |||
| 648 | blopes | 151 | /***************************************************************/ |
| 152 | |||
| 659 | blopes | 153 | public TipoFaixaComissao[] getTiposFaixaComissao() { |
| 154 | return TipoFaixaComissao.values(); |
||
| 155 | } |
||
| 156 | |||
| 157 | public void atualizarValorComissao() { |
||
| 158 | if (VerificadorUtil.naoEstaNuloOuVazio(getParticipanteSelecionado().getPorcentagemComissao())) { |
||
| 159 | getParticipanteSelecionado().setValorComissao(consultarVendasDoPeriodo(getParticipanteSelecionado()) * getParticipanteSelecionado().getPorcentagemComissao() / 100); |
||
| 160 | } |
||
| 161 | } |
||
| 162 | |||
| 163 | private Double consultarVendasDoPeriodo(AvaliacaoFuncionario avaliacaoFuncionario) { |
||
| 164 | ParametrosConsultaVendasDTO parametrosConsultaVendasDTO = new ParametrosConsultaVendasDTO(); |
||
| 165 | VendedorDTO vendedorDTO = vendedorService.consultarVendedorPorPessoa(avaliacaoFuncionario.getFuncionario().getSequencialDaPessoa()); |
||
| 166 | parametrosConsultaVendasDTO.setSequencialVendedor(vendedorDTO.getSequencial()); |
||
| 167 | ParametrosPeriodoDTO parametrosPeriodoDTO = new ParametrosPeriodoDTO(); |
||
| 168 | parametrosPeriodoDTO.setDataInicial(avaliacaoFuncionario.getAvaliacao().getVigencia().getDataInicio()); |
||
| 169 | parametrosPeriodoDTO.setDataFinal(avaliacaoFuncionario.getAvaliacao().getVigencia().getDataFim()); |
||
| 170 | parametrosConsultaVendasDTO.setParametrosPeriodoDTO(parametrosPeriodoDTO); |
||
| 171 | parametrosConsultaVendasDTO.setIndicadorComissionado(true); |
||
| 172 | return vendaService.obterValorTotalBrutoDeVendas(parametrosConsultaVendasDTO); |
||
| 173 | // return vendaService.obterValorTotalBrutoDeVendasPorLojaEePeriodo(parametrosConsultaVendasDTO); |
||
| 174 | } |
||
| 175 | |||
| 656 | blopes | 176 | private void consultarMetasAvaliacoes() { |
| 177 | if (VerificadorUtil.estaNulo(vigenciaSelecionada)) { |
||
| 178 | if (VerificadorUtil.naoEstaNulo(getParametro("vigencia"))) { |
||
| 179 | setVigenciaSelecionada(vigenciaService.consultarVigencia(new Long(getParametro("vigencia").toString()))); |
||
| 180 | } |
||
| 181 | } |
||
| 182 | |||
| 183 | AvaliacaoDTO avaliacaoDTO = avaliacaoService.consultarAvaliacao(getVigenciaSelecionada().getSequencial()); |
||
| 184 | if (VerificadorUtil.naoEstaNulo(avaliacaoDTO)) { |
||
| 185 | VigenciaDTO vigenciaDetalhada = vigenciaService.consultarVigencia(avaliacaoDTO.getVigenciaDTO().getSequencial()); |
||
| 186 | setVigenciaSelecionada(vigenciaDetalhada); |
||
| 187 | // DETALHAR AVALIAÇÃO COMPLETA |
||
| 188 | AvaliacaoDTO avaliacaoDetalhada = avaliacaoService.consultarAvaliacaoCompleta(avaliacaoDTO.getSequencial()); |
||
| 189 | setAvaliacaoSelecionada(avaliacaoDetalhada); |
||
| 190 | } |
||
| 191 | } |
||
| 192 | |||
| 650 | blopes | 193 | public void redirecionarGestaoMensal() { |
| 194 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 195 | public void execute() { |
||
| 196 | try { |
||
| 197 | LancadorMensagem.redirecionarTela("/sistema/gestao_mensal/gestao_mensal.xhtml"); |
||
| 198 | } catch (IOException e) { |
||
| 199 | e.printStackTrace(); |
||
| 200 | } |
||
| 201 | } |
||
| 202 | }); |
||
| 203 | } |
||
| 204 | |||
| 655 | blopes | 205 | public void selecionarParticipante(AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO) { |
| 656 | blopes | 206 | AvaliacaoFuncionarioId avaliacaoFuncionarioId = new AvaliacaoFuncionarioId(); |
| 207 | avaliacaoFuncionarioId.setSequencialAvaliacao(avaliacaoFuncionarioDTO.getSequencialDaAvaliacao()); |
||
| 659 | blopes | 208 | // avaliacaoFuncionarioId.setSequencialLoja(avaliacaoFuncionarioDTO.getSequencialDaLoja()); |
| 657 | blopes | 209 | avaliacaoFuncionarioId.setSequencialFuncionario(avaliacaoFuncionarioDTO.getSequencialDoFuncionario()); |
| 656 | blopes | 210 | // DETALHAR AVALIACAO FUNCIONARIO |
| 657 | blopes | 211 | AvaliacaoFuncionario avaliacaoFuncionario = avaliacaoFuncionarioService.detalhar(avaliacaoFuncionarioId); |
| 656 | blopes | 212 | setParticipanteSelecionado(avaliacaoFuncionario); |
| 659 | blopes | 213 | LojaDTO lojaParticipanteSelecionado = lojaService.consultarLojaPeloId(avaliacaoFuncionario.getSequencialDaLoja()); |
| 214 | setLojaParticipanteSelecionado(lojaParticipanteSelecionado); |
||
| 657 | blopes | 215 | setUsuarioParticipanteSelecionado(usuarioService.consultarPorPessoa(avaliacaoFuncionario.getFuncionario().getSequencialDaPessoa())); |
| 659 | blopes | 216 | getParticipanteSelecionado().setValorTotalVendido(consultarVendasDoPeriodo(getParticipanteSelecionado())); |
| 655 | blopes | 217 | // setItemSelecionado(new AvaliacaoFuncionarioItemAvaliacao()); |
| 218 | // getParticipanteSelecionado().setValorTotalVendidoVivo(consultarVendasVivoDoPeriodo(getParticipanteSelecionado())); |
||
| 219 | } |
||
| 220 | |||
| 656 | blopes | 221 | |
| 222 | public void alterarMetaAvaliacao() { |
||
| 223 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 224 | public void execute() { |
||
| 659 | blopes | 225 | avaliacaoFuncionarioService.alterarMetaAvaliacao(getParticipanteSelecionado(), getLojaParticipanteSelecionado()); |
| 656 | blopes | 226 | consultarMetasAvaliacoes(); |
| 227 | LancadorMensagem.lancarSucesso("META/AVALIAÇÃO ALTERADA COM SUCESSO"); |
||
| 228 | } |
||
| 229 | }); |
||
| 230 | } |
||
| 231 | |||
| 648 | blopes | 232 | } |