Rev 297 | Rev 430 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 259 | espaco | 1 | package br.com.ec.controller; |
| 2 | |||
| 3 | import java.io.Serializable; |
||
| 268 | espaco | 4 | import java.util.ArrayList; |
| 261 | espaco | 5 | import java.util.Arrays; |
| 279 | espaco | 6 | import java.util.Date; |
| 259 | espaco | 7 | import java.util.List; |
| 8 | |||
| 9 | import javax.inject.Inject; |
||
| 10 | import javax.inject.Named; |
||
| 11 | |||
| 12 | import org.primefaces.model.charts.bar.BarChartModel; |
||
| 13 | import org.primefaces.model.charts.pie.PieChartModel; |
||
| 14 | import org.springframework.context.annotation.Scope; |
||
| 15 | |||
| 16 | import br.com.ec.core.generic.GenericService; |
||
| 279 | espaco | 17 | import br.com.ec.core.util.DataUtils; |
| 18 | import br.com.ec.domain.dto.AtestadoFuncionarioDTO; |
||
| 19 | import br.com.ec.domain.dto.AvaliacaoFuncionarioDTO; |
||
| 20 | import br.com.ec.domain.dto.ExameFuncionarioDTO; |
||
| 21 | import br.com.ec.domain.dto.FuncionarioFeriasDTO; |
||
| 268 | espaco | 22 | import br.com.ec.domain.dto.FormaPagamentoDTO; |
| 259 | espaco | 23 | import br.com.ec.domain.dto.FuncionarioDTO; |
| 268 | espaco | 24 | import br.com.ec.domain.dto.LojaDTO; |
| 279 | espaco | 25 | import br.com.ec.domain.dto.PessoaDTO; |
| 26 | import br.com.ec.domain.dto.PontoDTO; |
||
| 268 | espaco | 27 | import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO; |
| 259 | espaco | 28 | import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO; |
| 268 | espaco | 29 | import br.com.ec.domain.dto.grafico.GraficoBarraDTO; |
| 297 | espaco | 30 | import br.com.ec.domain.model.FuncionarioFerias; |
| 261 | espaco | 31 | import br.com.ec.domain.model.tipos.TipoProduto; |
| 279 | espaco | 32 | import br.com.ec.domain.service.AvaliacaoFuncionarioService; |
| 297 | espaco | 33 | import br.com.ec.domain.service.FuncionarioFeriasService; |
| 259 | espaco | 34 | import br.com.ec.domain.service.FuncionarioService; |
| 268 | espaco | 35 | import br.com.ec.domain.service.GraficoService; |
| 279 | espaco | 36 | import br.com.ec.web.exception.VerificadorLancamentoException; |
| 37 | import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean; |
||
| 259 | espaco | 38 | import br.com.ec.web.generic.AbstractBean; |
| 39 | |||
| 40 | @Named |
||
| 41 | @Scope("view") |
||
| 42 | public class RelatorioAnaliticoBean extends AbstractBean<FuncionarioDTO> implements Serializable { |
||
| 43 | |||
| 44 | private static final long serialVersionUID = 1L; |
||
| 45 | |||
| 268 | espaco | 46 | private FuncionarioService funcionarioService; |
| 47 | private GraficoService graficoService; |
||
| 279 | espaco | 48 | private AvaliacaoFuncionarioService avaliacaoFuncionarioService; |
| 297 | espaco | 49 | private FuncionarioFeriasService funcionarioFeriasService; |
| 268 | espaco | 50 | |
| 259 | espaco | 51 | private List<FuncionarioDTO> listaFuncionariosDTO; |
| 52 | private Long sequencialFuncionarioSelecionado; |
||
| 53 | private FuncionarioDTO funcionarioSelecionado; |
||
| 54 | private ParametrosPeriodoDTO parametrosPeriodoDTO; |
||
| 268 | espaco | 55 | private Boolean graficoConsultado; |
| 56 | private GraficoBarraDTO graficoVendas; |
||
| 57 | private GraficoBarraDTO graficoPercentuaisMeta; |
||
| 279 | espaco | 58 | private AvaliacaoFuncionarioDTO avaliacaoFuncionarioSelecionada; |
| 259 | espaco | 59 | |
| 60 | @Inject |
||
| 297 | espaco | 61 | public RelatorioAnaliticoBean(FuncionarioService funcionarioService, GraficoService graficoService, AvaliacaoFuncionarioService avaliacaoFuncionarioService, |
| 62 | FuncionarioFeriasService funcionarioFeriasService) { |
||
| 259 | espaco | 63 | this.funcionarioService = funcionarioService; |
| 268 | espaco | 64 | this.graficoService = graficoService; |
| 279 | espaco | 65 | this.avaliacaoFuncionarioService = avaliacaoFuncionarioService; |
| 297 | espaco | 66 | this.funcionarioFeriasService = funcionarioFeriasService; |
| 259 | espaco | 67 | } |
| 68 | |||
| 69 | @Override |
||
| 70 | public GenericService<FuncionarioDTO> getService() { |
||
| 71 | return null; |
||
| 72 | } |
||
| 73 | |||
| 74 | @Override |
||
| 75 | public FuncionarioDTO getId() { |
||
| 76 | return null; |
||
| 77 | } |
||
| 78 | |||
| 79 | @Override |
||
| 80 | public void preCarregamento() { |
||
| 81 | limparEntidade(); |
||
| 82 | consultarFuncionariosAdmitidos(); |
||
| 83 | } |
||
| 84 | |||
| 85 | @Override |
||
| 86 | public void limparEntidade() { |
||
| 87 | setEntidade(new FuncionarioDTO()); |
||
| 88 | setParametrosPeriodoDTO(new ParametrosPeriodoDTO()); |
||
| 89 | setFuncionarioSelecionado(null); |
||
| 268 | espaco | 90 | setGraficoConsultado(false); |
| 259 | espaco | 91 | } |
| 92 | |||
| 268 | espaco | 93 | public TipoProduto[] getTiposProduto() { |
| 94 | return TipoProduto.values(); |
||
| 95 | } |
||
| 96 | |||
| 259 | espaco | 97 | public List<FuncionarioDTO> getListaFuncionariosDTO() { |
| 98 | return listaFuncionariosDTO; |
||
| 99 | } |
||
| 100 | public void setListaFuncionariosDTO(List<FuncionarioDTO> listaFuncionariosDTO) { |
||
| 101 | this.listaFuncionariosDTO = listaFuncionariosDTO; |
||
| 102 | } |
||
| 103 | |||
| 104 | public Long getSequencialFuncionarioSelecionado() { |
||
| 105 | return sequencialFuncionarioSelecionado; |
||
| 106 | } |
||
| 107 | public void setSequencialFuncionarioSelecionado(Long sequencialFuncionarioSelecionado) { |
||
| 108 | this.sequencialFuncionarioSelecionado = sequencialFuncionarioSelecionado; |
||
| 109 | } |
||
| 110 | |||
| 111 | public FuncionarioDTO getFuncionarioSelecionado() { |
||
| 112 | return funcionarioSelecionado; |
||
| 113 | } |
||
| 114 | public void setFuncionarioSelecionado(FuncionarioDTO funcionarioSelecionado) { |
||
| 115 | this.funcionarioSelecionado = funcionarioSelecionado; |
||
| 116 | } |
||
| 117 | |||
| 118 | public ParametrosPeriodoDTO getParametrosPeriodoDTO() { |
||
| 119 | return parametrosPeriodoDTO; |
||
| 120 | } |
||
| 121 | public void setParametrosPeriodoDTO(ParametrosPeriodoDTO parametrosPeriodoDTO) { |
||
| 122 | this.parametrosPeriodoDTO = parametrosPeriodoDTO; |
||
| 123 | } |
||
| 124 | |||
| 268 | espaco | 125 | public Boolean getGraficoConsultado() { |
| 126 | return graficoConsultado; |
||
| 261 | espaco | 127 | } |
| 268 | espaco | 128 | public void setGraficoConsultado(Boolean graficoConsultado) { |
| 129 | this.graficoConsultado = graficoConsultado; |
||
| 130 | } |
||
| 261 | espaco | 131 | |
| 268 | espaco | 132 | public GraficoBarraDTO getGraficoVendas() { |
| 133 | return graficoVendas; |
||
| 134 | } |
||
| 135 | public void setGraficoVendas(GraficoBarraDTO graficoVendas) { |
||
| 136 | this.graficoVendas = graficoVendas; |
||
| 137 | } |
||
| 138 | |||
| 139 | public GraficoBarraDTO getGraficoPercentuaisMeta() { |
||
| 140 | return graficoPercentuaisMeta; |
||
| 141 | } |
||
| 142 | public void setGraficoPercentuaisMeta(GraficoBarraDTO graficoPercentuaisMeta) { |
||
| 143 | this.graficoPercentuaisMeta = graficoPercentuaisMeta; |
||
| 144 | } |
||
| 145 | |||
| 279 | espaco | 146 | public AvaliacaoFuncionarioDTO getAvaliacaoFuncionarioSelecionada() { |
| 147 | return avaliacaoFuncionarioSelecionada; |
||
| 148 | } |
||
| 149 | public void setAvaliacaoFuncionarioSelecionada(AvaliacaoFuncionarioDTO avaliacaoFuncionarioSelecionada) { |
||
| 150 | this.avaliacaoFuncionarioSelecionada = avaliacaoFuncionarioSelecionada; |
||
| 151 | } |
||
| 152 | |||
| 259 | espaco | 153 | /**********************************/ |
| 154 | |||
| 155 | public void consultarFuncionariosAdmitidos() { |
||
| 156 | setListaFuncionariosDTO(funcionarioService.consultarFuncionariosAdmitidos()); |
||
| 157 | } |
||
| 158 | |||
| 159 | public void analisarFuncionario() { |
||
| 279 | espaco | 160 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
| 161 | public void execute() { |
||
| 162 | FuncionarioDTO funcionarioDTO = funcionarioService.analisarFuncionario(getFuncionarioSelecionado()); |
||
| 163 | setFuncionarioSelecionado(funcionarioDTO); |
||
| 164 | } |
||
| 165 | }); |
||
| 259 | espaco | 166 | } |
| 167 | |||
| 168 | public void gerarGraficosFuncionario() { |
||
| 268 | espaco | 169 | setGraficoConsultado(true); |
| 261 | espaco | 170 | |
| 268 | espaco | 171 | ParametrosConsultaVendasDTO parametrosConsulta = new ParametrosConsultaVendasDTO(); |
| 172 | parametrosConsulta.setParametrosPeriodoDTO(getParametrosPeriodoDTO()); |
||
| 173 | parametrosConsulta.setVendedorSelecionado(getFuncionarioSelecionado().getVendedorDTO()); |
||
| 174 | parametrosConsulta.setFormasDePagamentoDTO(new FormaPagamentoDTO[0]); |
||
| 175 | |||
| 176 | setGraficoVendas(new GraficoBarraDTO(parametrosConsulta)); |
||
| 177 | setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), null)); |
||
| 178 | setGraficoPercentuaisMeta(graficoService.gerarGraficoPercentuaisMeta(getGraficoVendas().getParametrosConsulta())); |
||
| 179 | |||
| 180 | /*********************/ |
||
| 181 | |||
| 261 | espaco | 182 | BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO()); |
| 183 | getFuncionarioSelecionado().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro); |
||
| 184 | |||
| 185 | PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO(), Arrays.asList(getTiposProduto())); |
||
| 259 | espaco | 186 | getFuncionarioSelecionado().setGraficoTiposProdutos(graficoTiposProdutos); |
| 187 | |||
| 188 | PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO()); |
||
| 189 | getFuncionarioSelecionado().setGraficoFormasPagamento(graficoFormasPagamento); |
||
| 190 | } |
||
| 191 | |||
| 279 | espaco | 192 | public void consultarAvaliacoes() { |
| 193 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 194 | public void execute() { |
||
| 195 | getFuncionarioSelecionado().setAvaliacoesDTO(avaliacaoFuncionarioService.consultarAvaliacoesFuncionario(getFuncionarioSelecionado().getSequencialFuncionario())); |
||
| 196 | } |
||
| 197 | }); |
||
| 198 | } |
||
| 199 | |||
| 200 | public void detalharAvaliacao(final AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO) { |
||
| 201 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 202 | public void execute() { |
||
| 203 | avaliacaoFuncionarioDTO.setItensAvaliacao(avaliacaoFuncionarioService.consultarItensDaAvaliacao(avaliacaoFuncionarioDTO.getSequencialFuncionario(), avaliacaoFuncionarioDTO.getSequencialAvaliacao())); |
||
| 204 | setAvaliacaoFuncionarioSelecionada(avaliacaoFuncionarioDTO); |
||
| 205 | } |
||
| 206 | }); |
||
| 207 | } |
||
| 208 | |||
| 259 | espaco | 209 | } |