Rev 279 | Rev 353 | 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; |
| 297 | espaco | 59 | private FuncionarioFeriasDTO funcionarioFeriasSelecionado; |
| 259 | espaco | 60 | |
| 61 | @Inject |
||
| 297 | espaco | 62 | public RelatorioAnaliticoBean(FuncionarioService funcionarioService, GraficoService graficoService, AvaliacaoFuncionarioService avaliacaoFuncionarioService, |
| 63 | FuncionarioFeriasService funcionarioFeriasService) { |
||
| 259 | espaco | 64 | this.funcionarioService = funcionarioService; |
| 268 | espaco | 65 | this.graficoService = graficoService; |
| 279 | espaco | 66 | this.avaliacaoFuncionarioService = avaliacaoFuncionarioService; |
| 297 | espaco | 67 | this.funcionarioFeriasService = funcionarioFeriasService; |
| 259 | espaco | 68 | } |
| 69 | |||
| 70 | @Override |
||
| 71 | public GenericService<FuncionarioDTO> getService() { |
||
| 72 | return null; |
||
| 73 | } |
||
| 74 | |||
| 75 | @Override |
||
| 76 | public FuncionarioDTO getId() { |
||
| 77 | return null; |
||
| 78 | } |
||
| 79 | |||
| 80 | @Override |
||
| 81 | public void preCarregamento() { |
||
| 82 | limparEntidade(); |
||
| 83 | consultarFuncionariosAdmitidos(); |
||
| 84 | } |
||
| 85 | |||
| 86 | @Override |
||
| 87 | public void limparEntidade() { |
||
| 88 | setEntidade(new FuncionarioDTO()); |
||
| 89 | setParametrosPeriodoDTO(new ParametrosPeriodoDTO()); |
||
| 90 | setFuncionarioSelecionado(null); |
||
| 268 | espaco | 91 | setGraficoConsultado(false); |
| 259 | espaco | 92 | } |
| 93 | |||
| 268 | espaco | 94 | public TipoProduto[] getTiposProduto() { |
| 95 | return TipoProduto.values(); |
||
| 96 | } |
||
| 97 | |||
| 259 | espaco | 98 | public List<FuncionarioDTO> getListaFuncionariosDTO() { |
| 99 | return listaFuncionariosDTO; |
||
| 100 | } |
||
| 101 | public void setListaFuncionariosDTO(List<FuncionarioDTO> listaFuncionariosDTO) { |
||
| 102 | this.listaFuncionariosDTO = listaFuncionariosDTO; |
||
| 103 | } |
||
| 104 | |||
| 105 | public Long getSequencialFuncionarioSelecionado() { |
||
| 106 | return sequencialFuncionarioSelecionado; |
||
| 107 | } |
||
| 108 | public void setSequencialFuncionarioSelecionado(Long sequencialFuncionarioSelecionado) { |
||
| 109 | this.sequencialFuncionarioSelecionado = sequencialFuncionarioSelecionado; |
||
| 110 | } |
||
| 111 | |||
| 112 | public FuncionarioDTO getFuncionarioSelecionado() { |
||
| 113 | return funcionarioSelecionado; |
||
| 114 | } |
||
| 115 | public void setFuncionarioSelecionado(FuncionarioDTO funcionarioSelecionado) { |
||
| 116 | this.funcionarioSelecionado = funcionarioSelecionado; |
||
| 117 | } |
||
| 118 | |||
| 119 | public ParametrosPeriodoDTO getParametrosPeriodoDTO() { |
||
| 120 | return parametrosPeriodoDTO; |
||
| 121 | } |
||
| 122 | public void setParametrosPeriodoDTO(ParametrosPeriodoDTO parametrosPeriodoDTO) { |
||
| 123 | this.parametrosPeriodoDTO = parametrosPeriodoDTO; |
||
| 124 | } |
||
| 125 | |||
| 268 | espaco | 126 | public Boolean getGraficoConsultado() { |
| 127 | return graficoConsultado; |
||
| 261 | espaco | 128 | } |
| 268 | espaco | 129 | public void setGraficoConsultado(Boolean graficoConsultado) { |
| 130 | this.graficoConsultado = graficoConsultado; |
||
| 131 | } |
||
| 261 | espaco | 132 | |
| 268 | espaco | 133 | public GraficoBarraDTO getGraficoVendas() { |
| 134 | return graficoVendas; |
||
| 135 | } |
||
| 136 | public void setGraficoVendas(GraficoBarraDTO graficoVendas) { |
||
| 137 | this.graficoVendas = graficoVendas; |
||
| 138 | } |
||
| 139 | |||
| 140 | public GraficoBarraDTO getGraficoPercentuaisMeta() { |
||
| 141 | return graficoPercentuaisMeta; |
||
| 142 | } |
||
| 143 | public void setGraficoPercentuaisMeta(GraficoBarraDTO graficoPercentuaisMeta) { |
||
| 144 | this.graficoPercentuaisMeta = graficoPercentuaisMeta; |
||
| 145 | } |
||
| 146 | |||
| 279 | espaco | 147 | public AvaliacaoFuncionarioDTO getAvaliacaoFuncionarioSelecionada() { |
| 148 | return avaliacaoFuncionarioSelecionada; |
||
| 149 | } |
||
| 150 | public void setAvaliacaoFuncionarioSelecionada(AvaliacaoFuncionarioDTO avaliacaoFuncionarioSelecionada) { |
||
| 151 | this.avaliacaoFuncionarioSelecionada = avaliacaoFuncionarioSelecionada; |
||
| 152 | } |
||
| 153 | |||
| 297 | espaco | 154 | public FuncionarioFeriasDTO getFuncionarioFeriasSelecionado() { |
| 155 | return funcionarioFeriasSelecionado; |
||
| 156 | } |
||
| 157 | public void setFuncionarioFeriasSelecionado(FuncionarioFeriasDTO funcionarioFeriasSelecionado) { |
||
| 158 | this.funcionarioFeriasSelecionado = funcionarioFeriasSelecionado; |
||
| 159 | } |
||
| 160 | |||
| 259 | espaco | 161 | /**********************************/ |
| 162 | |||
| 163 | public void consultarFuncionariosAdmitidos() { |
||
| 164 | setListaFuncionariosDTO(funcionarioService.consultarFuncionariosAdmitidos()); |
||
| 165 | } |
||
| 166 | |||
| 167 | public void analisarFuncionario() { |
||
| 279 | espaco | 168 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
| 169 | public void execute() { |
||
| 170 | FuncionarioDTO funcionarioDTO = funcionarioService.analisarFuncionario(getFuncionarioSelecionado()); |
||
| 171 | setFuncionarioSelecionado(funcionarioDTO); |
||
| 172 | } |
||
| 173 | }); |
||
| 259 | espaco | 174 | } |
| 175 | |||
| 176 | public void gerarGraficosFuncionario() { |
||
| 268 | espaco | 177 | setGraficoConsultado(true); |
| 261 | espaco | 178 | |
| 268 | espaco | 179 | ParametrosConsultaVendasDTO parametrosConsulta = new ParametrosConsultaVendasDTO(); |
| 180 | parametrosConsulta.setParametrosPeriodoDTO(getParametrosPeriodoDTO()); |
||
| 181 | parametrosConsulta.setVendedorSelecionado(getFuncionarioSelecionado().getVendedorDTO()); |
||
| 182 | parametrosConsulta.setFormasDePagamentoDTO(new FormaPagamentoDTO[0]); |
||
| 183 | |||
| 184 | setGraficoVendas(new GraficoBarraDTO(parametrosConsulta)); |
||
| 185 | setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), null)); |
||
| 186 | setGraficoPercentuaisMeta(graficoService.gerarGraficoPercentuaisMeta(getGraficoVendas().getParametrosConsulta())); |
||
| 187 | |||
| 188 | /*********************/ |
||
| 189 | |||
| 261 | espaco | 190 | BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO()); |
| 191 | getFuncionarioSelecionado().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro); |
||
| 192 | |||
| 193 | PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO(), Arrays.asList(getTiposProduto())); |
||
| 259 | espaco | 194 | getFuncionarioSelecionado().setGraficoTiposProdutos(graficoTiposProdutos); |
| 195 | |||
| 196 | PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO()); |
||
| 197 | getFuncionarioSelecionado().setGraficoFormasPagamento(graficoFormasPagamento); |
||
| 198 | } |
||
| 199 | |||
| 279 | espaco | 200 | public void consultarAvaliacoes() { |
| 201 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 202 | public void execute() { |
||
| 203 | getFuncionarioSelecionado().setAvaliacoesDTO(avaliacaoFuncionarioService.consultarAvaliacoesFuncionario(getFuncionarioSelecionado().getSequencialFuncionario())); |
||
| 204 | } |
||
| 205 | }); |
||
| 206 | } |
||
| 207 | |||
| 208 | public void detalharAvaliacao(final AvaliacaoFuncionarioDTO avaliacaoFuncionarioDTO) { |
||
| 209 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 210 | public void execute() { |
||
| 211 | avaliacaoFuncionarioDTO.setItensAvaliacao(avaliacaoFuncionarioService.consultarItensDaAvaliacao(avaliacaoFuncionarioDTO.getSequencialFuncionario(), avaliacaoFuncionarioDTO.getSequencialAvaliacao())); |
||
| 212 | setAvaliacaoFuncionarioSelecionada(avaliacaoFuncionarioDTO); |
||
| 213 | } |
||
| 214 | }); |
||
| 215 | } |
||
| 216 | |||
| 217 | // TODO: IMPLEMENTAÇÃO PENDENTE |
||
| 218 | public void consultarFerias() { |
||
| 219 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 220 | public void execute() { |
||
| 297 | espaco | 221 | getFuncionarioSelecionado().setFeriasDTO(funcionarioFeriasService.consultarFerias(getFuncionarioSelecionado().getSequencialFuncionario())); |
| 222 | /* |
||
| 279 | espaco | 223 | List<FuncionarioFeriasDTO> feriasDTO = new ArrayList<FuncionarioFeriasDTO>(); |
| 224 | FuncionarioFeriasDTO funcionarioFeriasDTO = new FuncionarioFeriasDTO(); |
||
| 297 | espaco | 225 | funcionarioFeriasDTO.setDataInicial(DataUtils.converterStringParaData("01/09/2021")); |
| 226 | funcionarioFeriasDTO.setDataFinal(DataUtils.converterStringParaData("30/09/2021")); |
||
| 227 | funcionarioFeriasDTO.setDataInicialAquisicao(DataUtils.converterStringParaData("02/07/2019")); |
||
| 228 | funcionarioFeriasDTO.setDataFinalAquisicao(DataUtils.converterStringParaData("01/07/2020")); |
||
| 279 | espaco | 229 | funcionarioFeriasDTO.setConfirmada(true); |
| 230 | funcionarioFeriasDTO.setObservacao(""); |
||
| 231 | feriasDTO.add(funcionarioFeriasDTO); |
||
| 232 | |||
| 233 | funcionarioFeriasDTO = new FuncionarioFeriasDTO(); |
||
| 297 | espaco | 234 | funcionarioFeriasDTO.setDataInicial(DataUtils.converterStringParaData("01/10/2019")); |
| 235 | funcionarioFeriasDTO.setDataFinal(DataUtils.converterStringParaData("30/10/2019")); |
||
| 236 | funcionarioFeriasDTO.setDataInicialAquisicao(DataUtils.converterStringParaData("02/07/2018")); |
||
| 237 | funcionarioFeriasDTO.setDataFinalAquisicao(DataUtils.converterStringParaData("01/07/2019")); |
||
| 279 | espaco | 238 | funcionarioFeriasDTO.setConfirmada(true); |
| 239 | funcionarioFeriasDTO.setObservacao(""); |
||
| 240 | feriasDTO.add(funcionarioFeriasDTO); |
||
| 241 | |||
| 242 | getFuncionarioSelecionado().setFeriasDTO(feriasDTO); |
||
| 297 | espaco | 243 | */ |
| 279 | espaco | 244 | } |
| 245 | }); |
||
| 246 | } |
||
| 247 | |||
| 248 | // TODO: IMPLEMENTAÇÃO PENDENTE |
||
| 249 | public void consultarExames() { |
||
| 250 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 251 | public void execute() { |
||
| 252 | List<ExameFuncionarioDTO> examesDTO = new ArrayList<ExameFuncionarioDTO>(); |
||
| 253 | ExameFuncionarioDTO exameDTO = new ExameFuncionarioDTO(); |
||
| 254 | exameDTO.setDataPrevista(DataUtils.converterStringParaData("01/05/2021")); |
||
| 255 | exameDTO.setTipoExame("P"); |
||
| 256 | examesDTO.add(exameDTO); |
||
| 257 | |||
| 258 | exameDTO = new ExameFuncionarioDTO(); |
||
| 259 | exameDTO.setDataPrevista(DataUtils.converterStringParaData("01/05/2020")); |
||
| 260 | exameDTO.setDataRealizada(DataUtils.converterStringParaData("01/05/2020")); |
||
| 261 | exameDTO.setTipoExame("P"); |
||
| 262 | examesDTO.add(exameDTO); |
||
| 263 | |||
| 264 | exameDTO = new ExameFuncionarioDTO(); |
||
| 265 | exameDTO.setDataRealizada(DataUtils.converterStringParaData("01/05/2019")); |
||
| 266 | exameDTO.setTipoExame("A"); |
||
| 267 | examesDTO.add(exameDTO); |
||
| 268 | |||
| 269 | getFuncionarioSelecionado().setExamesDTO(examesDTO); |
||
| 270 | } |
||
| 271 | }); |
||
| 272 | } |
||
| 273 | |||
| 274 | // TODO: IMPLEMENTAÇÃO PENDENTE |
||
| 275 | public void consultarAtestados() { |
||
| 276 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 277 | public void execute() { |
||
| 278 | List<AtestadoFuncionarioDTO> atestadosDTO = new ArrayList<AtestadoFuncionarioDTO>(); |
||
| 279 | AtestadoFuncionarioDTO atestadoDTO = new AtestadoFuncionarioDTO(); |
||
| 280 | atestadoDTO.setDataAtestado(DataUtils.converterStringParaData("01/11/2020")); |
||
| 281 | atestadoDTO.setQuantidadeDias(new Long(15)); |
||
| 282 | atestadoDTO.setCodigoCid("Y71"); |
||
| 283 | atestadoDTO.setObservacao("COVID"); |
||
| 284 | atestadosDTO.add(atestadoDTO); |
||
| 285 | |||
| 286 | atestadoDTO = new AtestadoFuncionarioDTO(); |
||
| 287 | atestadoDTO.setDataAtestado(DataUtils.converterStringParaData("01/09/2020")); |
||
| 288 | atestadoDTO.setQuantidadeDias(new Long(3)); |
||
| 289 | atestadoDTO.setCodigoCid("Y59"); |
||
| 290 | atestadoDTO.setObservacao(""); |
||
| 291 | atestadosDTO.add(atestadoDTO); |
||
| 292 | |||
| 293 | getFuncionarioSelecionado().setAtestadosDTO(atestadosDTO); |
||
| 294 | } |
||
| 295 | }); |
||
| 296 | } |
||
| 297 | |||
| 298 | // TODO: IMPLEMENTAÇÃO PENDENTE |
||
| 299 | public void consultarPontoEletronico() { |
||
| 300 | new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() { |
||
| 301 | public void execute() { |
||
| 302 | List<PontoDTO> pontosDTO = new ArrayList<PontoDTO>(); |
||
| 303 | PontoDTO pontoDTO = new PontoDTO(); |
||
| 304 | LojaDTO lojaDTO = new LojaDTO(); |
||
| 305 | lojaDTO.setDescricao("QUIOSQUE BIG GRUTA"); |
||
| 306 | pontoDTO.setLojaDTO(lojaDTO); |
||
| 307 | |||
| 308 | PessoaDTO pessoaDTO = new PessoaDTO(); |
||
| 309 | pessoaDTO.setNome(getFuncionarioSelecionado().getNome()); |
||
| 310 | pontoDTO.setPessoaDTO(pessoaDTO); |
||
| 311 | |||
| 312 | pontoDTO.setDataPonto(DataUtils.converterStringParaData("13/08/2021")); |
||
| 313 | pontoDTO.setDataHoraPontoInicio(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00")); |
||
| 314 | pontoDTO.setDataHoraPontoFim(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00")); |
||
| 315 | pontoDTO.setDataHoraIntervaloInicio(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00")); |
||
| 316 | pontoDTO.setDataHoraIntervaloFim(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00")); |
||
| 317 | pontoDTO.setObservacao(""); |
||
| 318 | pontosDTO.add(pontoDTO); |
||
| 319 | |||
| 320 | getFuncionarioSelecionado().setPontosDTO(pontosDTO); |
||
| 321 | } |
||
| 322 | }); |
||
| 323 | } |
||
| 324 | |||
| 259 | espaco | 325 | } |