Subversion Repositories Integrator Subversion

Rev

Rev 430 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
325 espaco 1
package br.com.ec.controller;
2
 
412 espaco 3
import java.io.IOException;
325 espaco 4
import java.io.Serializable;
353 espaco 5
import java.util.ArrayList;
553 blopes 6
import java.util.Arrays;
355 espaco 7
import java.util.Date;
325 espaco 8
import java.util.List;
9
 
10
import javax.inject.Inject;
11
import javax.inject.Named;
12
 
553 blopes 13
import org.primefaces.model.charts.bar.BarChartModel;
14
import org.primefaces.model.charts.pie.PieChartModel;
325 espaco 15
import org.springframework.context.annotation.Scope;
16
 
17
import br.com.ec.core.generic.GenericService;
353 espaco 18
import br.com.ec.core.util.DataUtils;
325 espaco 19
import br.com.ec.core.util.VerificadorUtil;
353 espaco 20
import br.com.ec.domain.dto.AtestadoFuncionarioDTO;
412 espaco 21
import br.com.ec.domain.dto.BancoHorasDTO;
325 espaco 22
import br.com.ec.domain.dto.EnderecoDTO;
353 espaco 23
import br.com.ec.domain.dto.ExameFuncionarioDTO;
553 blopes 24
import br.com.ec.domain.dto.FormaPagamentoDTO;
325 espaco 25
import br.com.ec.domain.dto.FuncionarioDTO;
353 espaco 26
import br.com.ec.domain.dto.FuncionarioEscalaDTO;
409 espaco 27
import br.com.ec.domain.dto.FuncionarioEventoDTO;
353 espaco 28
import br.com.ec.domain.dto.FuncionarioFeriasDTO;
29
import br.com.ec.domain.dto.LojaDTO;
30
import br.com.ec.domain.dto.PessoaDTO;
325 espaco 31
import br.com.ec.domain.dto.PessoaPapelDTO;
353 espaco 32
import br.com.ec.domain.dto.PontoDTO;
325 espaco 33
import br.com.ec.domain.dto.UsuarioDTO;
34
import br.com.ec.domain.dto.UsuarioLojaDTO;
35
import br.com.ec.domain.dto.UsuarioPerfilDTO;
355 espaco 36
import br.com.ec.domain.dto.VigenciaDTO;
553 blopes 37
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
38
import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO;
39
import br.com.ec.domain.dto.grafico.GraficoBarraDTO;
412 espaco 40
import br.com.ec.domain.model.BancoHoras;
325 espaco 41
import br.com.ec.domain.model.Endereco;
42
import br.com.ec.domain.model.Funcionario;
411 espaco 43
import br.com.ec.domain.model.FuncionarioEvento;
353 espaco 44
import br.com.ec.domain.model.FuncionarioFerias;
325 espaco 45
import br.com.ec.domain.model.Papel;
353 espaco 46
import br.com.ec.domain.model.Ponto;
325 espaco 47
import br.com.ec.domain.model.Usuario;
409 espaco 48
import br.com.ec.domain.model.tipos.TipoFuncionarioEvento;
553 blopes 49
import br.com.ec.domain.model.tipos.TipoProduto;
326 espaco 50
import br.com.ec.domain.service.AvaliacaoFuncionarioService;
412 espaco 51
import br.com.ec.domain.service.BancoHorasService;
325 espaco 52
import br.com.ec.domain.service.EnderecoService;
409 espaco 53
import br.com.ec.domain.service.FuncionarioEventoService;
353 espaco 54
import br.com.ec.domain.service.FuncionarioFeriasService;
325 espaco 55
import br.com.ec.domain.service.FuncionarioService;
553 blopes 56
import br.com.ec.domain.service.GraficoService;
325 espaco 57
import br.com.ec.domain.service.PapelService;
58
import br.com.ec.domain.service.PessoaPapelService;
59
import br.com.ec.domain.service.PessoaService;
353 espaco 60
import br.com.ec.domain.service.PontoService;
325 espaco 61
import br.com.ec.domain.service.UsuarioLojaService;
62
import br.com.ec.domain.service.UsuarioPerfilService;
63
import br.com.ec.domain.service.UsuarioService;
64
import br.com.ec.domain.service.VendedorService;
65
import br.com.ec.web.exception.VerificadorLancamentoException;
66
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
67
import br.com.ec.web.generic.AbstractBean;
68
import br.com.ec.web.message.LancadorMensagem;
69
import br.com.ec.web.util.TipoOperacao;
70
 
71
@Named
72
@Scope("view")
73
public class FuncionarioBean extends AbstractBean<Funcionario> implements Serializable {
74
 
75
        private static final long serialVersionUID = 1L;
76
 
77
        private FuncionarioService funcionarioService;
78
        private UsuarioService usuarioService;
79
        private PessoaService pessoaService;
80
        private PapelService papelService;
81
        private PessoaPapelService pessoaPapelService;
82
        private EnderecoService enderecoService;
83
        private UsuarioPerfilService usuarioPerfilService;
84
        private UsuarioLojaService usuarioLojaService;
85
        private VendedorService vendedorService;
326 espaco 86
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
353 espaco 87
        private FuncionarioFeriasService funcionarioFeriasService;
409 espaco 88
        private FuncionarioEventoService funcionarioEventoService;
412 espaco 89
        private BancoHorasService bancoHorasService;
353 espaco 90
        private PontoService pontoService;
553 blopes 91
        private GraficoService graficoService;
325 espaco 92
 
93
        private FuncionarioDTO entidadeParaConsulta;
94
        private List<FuncionarioDTO> funcionarios;
95
 
96
        private FuncionarioDTO entidadeDTO;
97
        private PessoaPapelDTO pessoaPapelDTO;
98
        private Endereco endereco;
99
        private Usuario usuario;
100
        private UsuarioPerfilDTO usuarioPerfilDTO;
101
        private UsuarioLojaDTO usuarioLojaDTO;
353 espaco 102
        private FuncionarioFeriasDTO funcionarioFeriasDTO;
409 espaco 103
        private FuncionarioEventoDTO funcionarioEventoDTO;
104
        private FuncionarioEscalaDTO funcionarioEscalaDTO;
412 espaco 105
        private BancoHorasDTO bancoHorasDTO;
325 espaco 106
 
553 blopes 107
        private ParametrosPeriodoDTO parametrosPeriodoResultadosDTO;
108
        private Boolean graficoConsultado;
109
        private GraficoBarraDTO graficoVendas;
110
        private GraficoBarraDTO graficoPercentuaisMeta;
111
 
325 espaco 112
        @Inject
113
        public FuncionarioBean(FuncionarioService funcionarioService, UsuarioService usuarioService, PessoaService pessoaService,
114
                        PapelService papelService, PessoaPapelService pessoaPapelService, EnderecoService enderecoService,
326 espaco 115
                        UsuarioPerfilService usuarioPerfilService, UsuarioLojaService usuarioLojaService, VendedorService vendedorService,
353 espaco 116
                        AvaliacaoFuncionarioService avaliacaoFuncionarioService, FuncionarioFeriasService funcionarioFeriasService,
553 blopes 117
                        FuncionarioEventoService funcionarioEventoService, BancoHorasService bancoHorasService, PontoService pontoService,
118
                        GraficoService graficoService) {
325 espaco 119
                this.funcionarioService = funcionarioService;
120
                this.usuarioService = usuarioService;
121
                this.pessoaService = pessoaService;
122
                this.papelService = papelService;
123
                this.pessoaPapelService = pessoaPapelService;
124
                this.enderecoService = enderecoService;
125
                this.usuarioPerfilService = usuarioPerfilService;
126
                this.usuarioLojaService = usuarioLojaService;
127
                this.vendedorService = vendedorService;
326 espaco 128
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
353 espaco 129
                this.funcionarioFeriasService = funcionarioFeriasService;
409 espaco 130
                this.funcionarioEventoService = funcionarioEventoService;
412 espaco 131
                this.bancoHorasService = bancoHorasService;
353 espaco 132
                this.pontoService = pontoService;
553 blopes 133
                this.graficoService = graficoService;
325 espaco 134
        }
135
 
136
        @Override
137
        public void preCarregamento() {
138
                limparEntidade();
553 blopes 139
                getEntidadeParaConsulta().setFuncionarioAdmitido(true);
325 espaco 140
                consultarFuncionarios();
141
        }
142
 
143
        @Override
144
        public void limparEntidade() {
145
                setEntidade(new Funcionario());
430 espaco 146
                FuncionarioDTO funcionarioParaConsulta = new FuncionarioDTO();
147
                funcionarioParaConsulta.setPessoaDTO(new PessoaDTO());
148
                setEntidadeParaConsulta(funcionarioParaConsulta);
325 espaco 149
                setEntidadeDTO(null);
553 blopes 150
                setParametrosPeriodoResultadosDTO(new ParametrosPeriodoDTO());
151
                setGraficoConsultado(false);
325 espaco 152
                consultarFuncionarios();
153
        }
154
 
155
        @Override
156
        public GenericService<Funcionario> getService() {
157
                return funcionarioService;
158
        }
159
 
160
        @Override
161
        public Funcionario getEntidade() {
162
                return entidade;
163
        }
164
 
165
        @Override
166
        public void preConsultar() {
167
                setTipoOperacao(TipoOperacao.CONSULTAR);
168
        }
169
 
170
        @Override
171
        public Funcionario getId() {
172
                return getEntidade();
173
        }
174
 
553 blopes 175
        public TipoProduto[] getTiposProduto() {
176
                return TipoProduto.values();
177
        }
178
 
325 espaco 179
        /*************************************************/
180
 
181
        public FuncionarioDTO getEntidadeParaConsulta() {
182
                return entidadeParaConsulta;
183
        }
184
        public void setEntidadeParaConsulta(FuncionarioDTO entidadeParaConsulta) {
185
                this.entidadeParaConsulta = entidadeParaConsulta;
186
        }
187
 
188
        public List<FuncionarioDTO> getFuncionarios() {
189
                return funcionarios;
190
        }
191
        public void setFuncionarios(List<FuncionarioDTO> funcionarios) {
192
                this.funcionarios = funcionarios;
193
        }
194
 
195
        public FuncionarioDTO getEntidadeDTO() {
196
                return entidadeDTO;
197
        }
198
        public void setEntidadeDTO(FuncionarioDTO entidadeDTO) {
199
                this.entidadeDTO = entidadeDTO;
200
        }
201
 
202
        public PessoaPapelDTO getPessoaPapelDTO() {
203
                return pessoaPapelDTO;
204
        }
205
        public void setPessoaPapelDTO(PessoaPapelDTO pessoaPapelDTO) {
206
                this.pessoaPapelDTO = pessoaPapelDTO;
207
        }
208
 
209
        public Endereco getEndereco() {
210
                return endereco;
211
        }
212
        public void setEndereco(Endereco endereco) {
213
                this.endereco = endereco;
214
        }
215
 
216
        public Usuario getUsuario() {
217
                return usuario;
218
        }
219
        public void setUsuario(Usuario usuario) {
220
                this.usuario = usuario;
221
        }
222
 
223
        public UsuarioPerfilDTO getUsuarioPerfilDTO() {
224
                return usuarioPerfilDTO;
225
        }
226
        public void setUsuarioPerfilDTO(UsuarioPerfilDTO usuarioPerfilDTO) {
227
                this.usuarioPerfilDTO = usuarioPerfilDTO;
228
        }
229
 
230
        public UsuarioLojaDTO getUsuarioLojaDTO() {
231
                return usuarioLojaDTO;
232
        }
233
        public void setUsuarioLojaDTO(UsuarioLojaDTO usuarioLojaDTO) {
234
                this.usuarioLojaDTO = usuarioLojaDTO;
235
        }
236
 
353 espaco 237
        public FuncionarioFeriasDTO getFuncionarioFeriasDTO() {
238
                return funcionarioFeriasDTO;
239
        }
240
        public void setFuncionarioFeriasDTO(FuncionarioFeriasDTO funcionarioFeriasDTO) {
241
                this.funcionarioFeriasDTO = funcionarioFeriasDTO;
242
        }
243
 
409 espaco 244
        public FuncionarioEventoDTO getFuncionarioEventoDTO() {
245
                return funcionarioEventoDTO;
246
        }
247
        public void setFuncionarioEventoDTO(FuncionarioEventoDTO funcionarioEventoDTO) {
248
                this.funcionarioEventoDTO = funcionarioEventoDTO;
249
        }
250
 
251
        public FuncionarioEscalaDTO getFuncionarioEscalaDTO() {
252
                return funcionarioEscalaDTO;
253
        }
254
        public void setFuncionarioEscalaDTO(FuncionarioEscalaDTO funcionarioEscalaDTO) {
255
                this.funcionarioEscalaDTO = funcionarioEscalaDTO;
256
        }
257
 
412 espaco 258
        public BancoHorasDTO getBancoHorasDTO() {
259
                return bancoHorasDTO;
260
        }
261
        public void setBancoHorasDTO(BancoHorasDTO bancoHorasDTO) {
262
                this.bancoHorasDTO = bancoHorasDTO;
263
        }
409 espaco 264
 
553 blopes 265
        public ParametrosPeriodoDTO getParametrosPeriodoResultadosDTO() {
266
                return parametrosPeriodoResultadosDTO;
267
        }
268
        public void setParametrosPeriodoResultadosDTO(ParametrosPeriodoDTO parametrosPeriodoResultadosDTO) {
269
                this.parametrosPeriodoResultadosDTO = parametrosPeriodoResultadosDTO;
270
        }
271
 
272
        public Boolean getGraficoConsultado() {
273
                return graficoConsultado;
274
        }
275
        public void setGraficoConsultado(Boolean graficoConsultado) {
276
                this.graficoConsultado = graficoConsultado;
277
        }
278
 
279
        public GraficoBarraDTO getGraficoVendas() {
280
                return graficoVendas;
281
        }
282
        public void setGraficoVendas(GraficoBarraDTO graficoVendas) {
283
                this.graficoVendas = graficoVendas;
284
        }
285
 
286
        public GraficoService getGraficoService() {
287
                return graficoService;
288
        }
289
        public void setGraficoService(GraficoService graficoService) {
290
                this.graficoService = graficoService;
291
        }
292
 
293
        public GraficoBarraDTO getGraficoPercentuaisMeta() {
294
                return graficoPercentuaisMeta;
295
        }
296
        public void setGraficoPercentuaisMeta(GraficoBarraDTO graficoPercentuaisMeta) {
297
                this.graficoPercentuaisMeta = graficoPercentuaisMeta;
298
        }
299
 
325 espaco 300
        /*************************************************/
301
 
302
        public void prepararDetalhar(FuncionarioDTO funcionarioDTO) {
303
                super.preDetalhar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
304
        }
305
 
306
        public void prepararAlterar(FuncionarioDTO funcionarioDTO) {
307
                super.preAlterar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
308
        }
309
 
310
        public void consultarFuncionarios() {
311
                setFuncionarios(funcionarioService.consultarFuncionarios(getEntidadeParaConsulta()));
312
        }
313
 
314
        public void prepararAlterarCompleto(FuncionarioDTO funcionarioDTO) {
315
                super.preAlterar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
430 espaco 316
                UsuarioDTO usuarioDTO = usuarioService.consultarPorPessoa(funcionarioDTO.getSequencialPessoaDoFuncionario());
317
                setEntidadeDTO(new FuncionarioDTO(getEntidade().getSequencial(), null, null));
325 espaco 318
                if (VerificadorUtil.naoEstaNulo(usuarioDTO)) {
319
                        getEntidadeDTO().setUsuarioDTO(usuarioDTO);
320
                        getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(usuarioDTO.getSequencial()));
321
                        getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(usuarioDTO.getSequencial()));
322
                }
323
                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getEntidade().getSequencialDaPessoa()));
324
                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
325
                getEntidadeDTO().setVendedorDTO(vendedorService.consultarVendedorPorPessoa(getEntidade().getSequencialDaPessoa()));
326
                limparPapel();
327
        }
328
 
329
        public void alterarCompleto() {
330
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
331
                        public void execute() {
332
                                pessoaService.alterar(getEntidade().getPessoa());
353 espaco 333
                                if (VerificadorUtil.naoEstaNulo(getEntidadeDTO().getUsuarioDTO())) {
334
                                        usuarioService.alterar(getEntidadeDTO().getUsuarioDTO());
335
                                }
326 espaco 336
                                vendedorService.alterar(getEntidadeDTO().getVendedorDTO());
325 espaco 337
                                alterar(getEntidade());
338
                        }
339
                });
340
        }
341
 
342
        public void limparPapel() {
343
                PessoaPapelDTO pessoaPapelDTO = new PessoaPapelDTO();
344
                pessoaPapelDTO.setSequencialPessoa(getEntidade().getPessoa().getSequencial());
345
                setPessoaPapelDTO(pessoaPapelDTO);
346
        }
347
 
348
        public void adicionarPapel() {
349
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
350
                        public void execute() {
351
                                pessoaPapelService.adicionarPapel(getEntidade().getPessoa(), new Papel(getPessoaPapelDTO().getCodigoPapel()));
352
                                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getPessoaPapelDTO().getSequencialPessoa()));
353
                                LancadorMensagem.lancarSucesso("PAPEL ADICIONADO COM SUCESSO");
354
                        }
355
                });
356
        }
357
 
358
        public void removerPapel(PessoaPapelDTO pessoaPapelDTO) {
359
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
360
                        public void execute() {
361
                                pessoaPapelService.removerPapel(pessoaPapelDTO.getSequencialPessoa(), pessoaPapelDTO.getCodigoPapel());
362
                                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(pessoaPapelDTO.getSequencialPessoa()));
363
                                LancadorMensagem.lancarSucesso("PAPEL REMOVIDO COM SUCESSO");
364
                        }
365
                });
366
        }
367
 
368
        public void limparEndereco() {
369
                Endereco endereco = new Endereco();
370
                endereco.setPessoa(getEntidade().getPessoa());
371
                endereco.setAtivo(true);
372
                setEndereco(endereco);
373
        }
374
 
375
        public void prepararAlterarEndereco(EnderecoDTO enderecoDTO) {
376
                setEndereco(enderecoService.consultarPorId(new Endereco(enderecoDTO.getSequencial())));
377
        }
378
 
379
        public void adicionarEndereco() {
380
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
381
                        public void execute() {
382
                                enderecoService.alterar(getEndereco());
383
                                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
384
                                LancadorMensagem.lancarSucesso("ENDEREÇO SALVO COM SUCESSO");
385
                        }
386
                });
387
        }
388
 
389
        public void removerEndereco(EnderecoDTO enderecoDTO) {
390
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
391
                        public void execute() {
392
                                enderecoService.removerEndereco(enderecoDTO.getSequencial());
393
                                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
394
                                LancadorMensagem.lancarSucesso("ENDEREÇO REMOVIDO COM SUCESSO");
395
                        }
396
                });
397
        }
398
 
399
        public void limparUsuarioPerfil() {
400
                UsuarioPerfilDTO usuarioPerfilDTO = new UsuarioPerfilDTO();
401
                usuarioPerfilDTO.setSequencialUsuario(getEntidadeDTO().getUsuarioDTO().getSequencial());
402
                setUsuarioPerfilDTO(usuarioPerfilDTO);
403
        }
404
 
405
        public void adicionarUsuarioPerfil() {
406
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
407
                        public void execute() {
408
                                usuarioPerfilService.adicionarPerfil(getUsuarioPerfilDTO().getSequencialUsuario(), getUsuarioPerfilDTO().getCodigoPerfil());
409
                                getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(getUsuarioPerfilDTO().getSequencialUsuario()));
410
                                LancadorMensagem.lancarSucesso("PERFIL ADICIONADO COM SUCESSO");
411
                        }
412
                });
413
        }
414
 
415
        public void removerUsuarioPerfil(UsuarioPerfilDTO usuarioPerfilDTO) {
416
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
417
                        public void execute() {
418
                                usuarioPerfilService.removerPerfil(usuarioPerfilDTO.getSequencial());
419
                                getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(usuarioPerfilDTO.getSequencialUsuario()));
420
                                LancadorMensagem.lancarSucesso("PERFIL REMOVIDO COM SUCESSO");
421
                        }
422
                });
423
        }
424
 
425
        public void limparUsuarioLoja() {
426
                UsuarioLojaDTO usuarioLojaDTO = new UsuarioLojaDTO();
427
                usuarioLojaDTO.setSequencialUsuario(getEntidadeDTO().getUsuarioDTO().getSequencial());
428
                setUsuarioLojaDTO(usuarioLojaDTO);
429
        }
430
 
431
        public void adicionarUsuarioLoja() {
432
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
433
                        public void execute() {
434
                                usuarioLojaService.adicionarLoja(getUsuarioLojaDTO().getSequencialUsuario(), getUsuarioLojaDTO().getSequencialLoja());
435
                                getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(getUsuarioLojaDTO().getSequencialUsuario()));
436
                                LancadorMensagem.lancarSucesso("LOJA ADICIONADA COM SUCESSO");
437
                        }
438
                });
439
        }
440
 
441
        public void removerUsuarioLoja(UsuarioLojaDTO usuarioLojaDTO) {
442
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
443
                        public void execute() {
444
                                usuarioLojaService.removerLoja(usuarioLojaDTO.getSequencialUsuario(), usuarioLojaDTO.getSequencialLoja());
445
                                getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(usuarioLojaDTO.getSequencialUsuario()));
446
                                LancadorMensagem.lancarSucesso("LOJA REMOVIDA COM SUCESSO");
447
                        }
448
                });
449
        }
450
 
353 espaco 451
        public void consultarFerias() {
452
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
453
                        public void execute() {
454
                                getEntidadeDTO().setFeriasDTO(funcionarioFeriasService.consultarFerias(getEntidadeDTO().getSequencialFuncionario()));
455
                        }
456
                });
457
        }
458
 
459
        public void selecionarFerias(FuncionarioFeriasDTO funcionarioFeriasDTO) {
460
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
461
                        public void execute() {
462
                                setFuncionarioFeriasDTO(funcionarioFeriasDTO);
463
                        }
464
                });
465
        }
466
 
467
        public void prepararFerias() {
468
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
469
                        public void execute() {
470
                                FuncionarioFeriasDTO funcionarioFeriasDTO = new FuncionarioFeriasDTO();
471
                                funcionarioFeriasDTO.setFuncionarioDTO(getEntidadeDTO());
472
                                setFuncionarioFeriasDTO(funcionarioFeriasDTO);
473
                        }
474
                });
475
        }
476
 
477
        public void atualizarFerias() {
478
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
479
                        public void execute() {
480
                                funcionarioFeriasService.alterarProvisao(getFuncionarioFeriasDTO());
481
                                consultarFerias();
482
                                LancadorMensagem.lancarSucesso("FÉRIAS ATUALIZADA COM SUCESSO!");
483
                        }
484
                });
485
        }
486
 
487
        public void removerFerias(FuncionarioFeriasDTO funcionarioFeriasDTO) {
488
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
489
                        public void execute() {
490
                                FuncionarioFerias funcionarioFerias = new FuncionarioFerias();
491
                                funcionarioFerias.setSequencial(funcionarioFeriasDTO.getSequencialFuncionarioFerias());
492
                                funcionarioFeriasService.excluir(funcionarioFerias);
493
                                consultarFerias();
494
                                LancadorMensagem.lancarSucesso("FÉRIAS REMOVIDA COM SUCESSO");
495
                        }
496
                });
497
        }
498
 
326 espaco 499
        public void consultarAvaliacoes() {
500
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
501
                        public void execute() {
502
                                getEntidadeDTO().setAvaliacoesDTO(avaliacaoFuncionarioService.consultarAvaliacoesFuncionario(getEntidadeDTO().getSequencialFuncionario()));
503
                        }
504
                });
325 espaco 505
        }
506
 
412 espaco 507
        public void prepararEvento() {
409 espaco 508
                FuncionarioEventoDTO funcionarioEventoDTO = new FuncionarioEventoDTO();
509
                funcionarioEventoDTO.setFuncionarioDTO(getEntidadeDTO());
510
                setFuncionarioEventoDTO(funcionarioEventoDTO);
511
        }
512
 
513
        public void adicionarEvento(UsuarioDTO usuarioLogado) {
514
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
515
                        public void execute() {
516
                                getFuncionarioEventoDTO().setUsuarioDTOCadastro(usuarioLogado);
517
                                funcionarioEventoService.cadastrar(getFuncionarioEventoDTO());
518
                                consultarEscala();
519
                                LancadorMensagem.lancarSucesso("EVENTO ADICIONADO COM SUCESSO");
520
                        }
521
                });
522
        }
523
 
524
        public void removerEvento(FuncionarioEventoDTO funcionarioEventoDTO) {
525
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
526
                        public void execute() {
411 espaco 527
                                funcionarioEventoService.excluir(new FuncionarioEvento(funcionarioEventoDTO));
409 espaco 528
                                getFuncionarioEscalaDTO().getEventosDTO().remove(funcionarioEventoDTO);
529
                                consultarEscala();
530
                                LancadorMensagem.lancarSucesso("EVENTO REMOVIDO COM SUCESSO");
531
                        }
532
                });
533
        }
534
 
412 espaco 535
        public void prepararParaAlterarEvento(FuncionarioEventoDTO funcionarioEventoDTO) {
536
                setFuncionarioEventoDTO(funcionarioEventoDTO);
537
        }
538
 
409 espaco 539
        public void confirmarEvento(UsuarioDTO usuarioLogado, FuncionarioEventoDTO funcionarioEventoDTO) {
540
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
541
                        public void execute() {
542
                                funcionarioEventoDTO.setUsuarioDTOAuditor(usuarioLogado);
412 espaco 543
                                funcionarioEventoService.alterar(new FuncionarioEvento(funcionarioEventoDTO));
544
                                consultarEscala();
409 espaco 545
                                LancadorMensagem.lancarSucesso("EVENTO CONFIRMADO COM SUCESSO");
546
                        }
547
                });
548
        }
549
 
412 espaco 550
        public void alterarEvento() {
551
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
552
                        public void execute() {
553
                                FuncionarioEvento funcionarioEvento = funcionarioEventoService.consultarPorId(new FuncionarioEvento(getFuncionarioEventoDTO()));
554
                                funcionarioEvento.atualizarDados(getFuncionarioEventoDTO());
555
                                funcionarioEventoService.alterar(funcionarioEvento);
556
                                consultarEscala();
557
                                LancadorMensagem.lancarSucesso("EVENTO ALTERADO COM SUCESSO");
558
                        }
559
                });
560
        }
561
 
409 espaco 562
        public void consultarEventos(FuncionarioEscalaDTO escalaDTOSelecionada) {
563
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
564
                        public void execute() {
565
                                setFuncionarioEscalaDTO(escalaDTOSelecionada);
566
                        }
567
                });
568
        }
569
 
412 espaco 570
        public void adicionarBancoHoras() {
571
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
572
                        public void execute() {
573
                                bancoHorasService.cadastrar(getBancoHorasDTO());
574
                                consultarBancoHoras();
575
                                LancadorMensagem.lancarSucesso("BANCO DE HORAS ADICIONADO COM SUCESSO");
576
                        }
577
                });
578
        }
579
 
580
        public void removerBancoHoras(BancoHorasDTO bancoHorasDTO) {
581
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
582
                        public void execute() {
583
                                bancoHorasService.excluir(new BancoHoras(bancoHorasDTO));
584
                                getEntidadeDTO().getListaBancoHorasDTO().remove(bancoHorasDTO);
585
                                consultarBancoHoras();
586
                                LancadorMensagem.lancarSucesso("BANCO DE HORAS REMOVIDO COM SUCESSO");
587
                        }
588
                });
589
        }
590
 
591
        public void prepararBancoHoras() {
592
                BancoHorasDTO bancoHorasDTO = new BancoHorasDTO();
593
                bancoHorasDTO.setFuncionarioDTO(getEntidadeDTO());
594
                setBancoHorasDTO(bancoHorasDTO);
595
        }
596
 
597
        public void prepararParaAlterarBancoHoras(BancoHorasDTO bancoHorasDTO) {
598
                setBancoHorasDTO(bancoHorasDTO);
599
        }
600
 
601
        public void alterarBancoHoras() {
602
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
603
                        public void execute() {
604
                                BancoHoras bancoHoras = bancoHorasService.consultarPorId(new BancoHoras(getBancoHorasDTO()));
605
                                bancoHoras.atualizarDados(getBancoHorasDTO());
606
                                bancoHorasService.alterar(bancoHoras);
607
                                consultarBancoHoras();
608
                                LancadorMensagem.lancarSucesso("BANCO DE HORAS ALTERADO COM SUCESSO");
609
                        }
610
                });
611
        }
612
 
613
        public void consultarBancoHoras() {
614
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
615
                        public void execute() {
616
                                getEntidadeDTO().setListaBancoHorasDTO(bancoHorasService.consultarBancoHorasFuncionario(getEntidadeDTO().getSequencialFuncionario()));
617
                        }
618
                });
619
        }
620
 
621
        public void consultarBancoHorasDoUsuario(UsuarioDTO usuarioDTO) {
622
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
623
                        public void execute() {
624
                                Usuario usuario = usuarioService.consultarPorId(new Usuario(usuarioDTO.getSequencial()));
625
                                Funcionario funcionario = funcionarioService.consultarFuncionarioPelaPessoa(usuario.getSequencialDaPessoa());
626
                                FuncionarioDTO funcionarioDTO = new FuncionarioDTO();
627
                                funcionarioDTO.setListaBancoHorasDTO(bancoHorasService.consultarBancoHorasFuncionario(funcionario.getSequencial()));
628
                                funcionarioDTO.setListaBancoHorasDTOAnoVigente(bancoHorasService.consultarBancoHorasFuncionarioAnoVigente(funcionario.getSequencial()));
629
                                setEntidadeDTO(funcionarioDTO);
630
                        }
631
                });
632
        }
633
 
353 espaco 634
        // TODO: IMPLEMENTAÇÃO PENDENTE
635
        public void consultarExames() {
636
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
637
                        public void execute() {
638
                                List<ExameFuncionarioDTO> examesDTO = new ArrayList<ExameFuncionarioDTO>();
639
                                ExameFuncionarioDTO exameDTO = new ExameFuncionarioDTO();
640
                                exameDTO.setDataPrevista(DataUtils.converterStringParaData("01/05/2021"));
641
                                exameDTO.setTipoExame("P");
642
                                examesDTO.add(exameDTO);
643
 
644
                                exameDTO = new ExameFuncionarioDTO();
645
                                exameDTO.setDataPrevista(DataUtils.converterStringParaData("01/05/2020"));
646
                                exameDTO.setDataRealizada(DataUtils.converterStringParaData("01/05/2020"));
647
                                exameDTO.setTipoExame("P");
648
                                examesDTO.add(exameDTO);
649
 
650
                                exameDTO = new ExameFuncionarioDTO();
651
                                exameDTO.setDataRealizada(DataUtils.converterStringParaData("01/05/2019"));
652
                                exameDTO.setTipoExame("A");
653
                                examesDTO.add(exameDTO);
654
 
655
                                getEntidadeDTO().setExamesDTO(examesDTO);
656
                        }
657
                });
658
        }
659
 
660
        // TODO: IMPLEMENTAÇÃO PENDENTE
661
        public void consultarAtestados() {
662
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
663
                        public void execute() {
664
                                List<AtestadoFuncionarioDTO> atestadosDTO = new ArrayList<AtestadoFuncionarioDTO>();
665
                                AtestadoFuncionarioDTO atestadoDTO = new AtestadoFuncionarioDTO();
666
                                atestadoDTO.setDataAtestado(DataUtils.converterStringParaData("01/11/2020"));
667
                                atestadoDTO.setQuantidadeDias(new Long(15));
668
                                atestadoDTO.setCodigoCid("Y71");
669
                                atestadoDTO.setObservacao("COVID");
670
                                atestadosDTO.add(atestadoDTO);
671
 
672
                                atestadoDTO = new AtestadoFuncionarioDTO();
673
                                atestadoDTO.setDataAtestado(DataUtils.converterStringParaData("01/09/2020"));
674
                                atestadoDTO.setQuantidadeDias(new Long(3));
675
                                atestadoDTO.setCodigoCid("Y59");
676
                                atestadoDTO.setObservacao("");
677
                                atestadosDTO.add(atestadoDTO);
678
 
679
                                getEntidadeDTO().setAtestadosDTO(atestadosDTO);
680
                        }
681
                });
682
        }
683
 
684
        // TODO: IMPLEMENTAÇÃO PENDENTE
685
        public void consultarPontoEletronico() {
686
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
687
                        public void execute() {
688
                                List<PontoDTO> pontosDTO = new ArrayList<PontoDTO>();
689
                                PontoDTO pontoDTO = new PontoDTO();
690
                                LojaDTO lojaDTO = new LojaDTO();
691
                                lojaDTO.setDescricao("QUIOSQUE BIG GRUTA");
692
                                pontoDTO.setLojaDTO(lojaDTO);
693
 
694
                                PessoaDTO pessoaDTO = new PessoaDTO();
430 espaco 695
                                pessoaDTO.setNome(getEntidadeDTO().getNomeDaPessoa());
353 espaco 696
                                pontoDTO.setPessoaDTO(pessoaDTO);
697
 
698
                                pontoDTO.setDataPonto(DataUtils.converterStringParaData("13/08/2021"));
699
                                pontoDTO.setDataHoraPontoInicio(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
700
                                pontoDTO.setDataHoraPontoFim(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
701
                                pontoDTO.setDataHoraIntervaloInicio(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
702
                                pontoDTO.setDataHoraIntervaloFim(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
703
                                pontoDTO.setObservacao("");
704
                                pontosDTO.add(pontoDTO);
705
 
706
                                getEntidadeDTO().setPontosDTO(pontosDTO);
707
                        }
708
                });
709
        }
710
 
355 espaco 711
        /*
712
        public String retornarTipoOcorrenciaEscala(Date dataPonto, List<Ponto> pontos) {
713
                String tipoOcorrenciaEscala = TipoOcorrenciaEscala.SEM_PONTO.getValor();
714
                for (Ponto ponto : pontos) {
715
                        if (DataUtils.datasIguais(ponto.getDataPonto(), dataPonto)) {
716
                                if (ponto.getPontoCompleto()) {
717
                                        return TipoOcorrenciaEscala.PONTO_COMPLETO.getValor();
718
                                } else {
719
                                        return TipoOcorrenciaEscala.PONTO_INCOMPLETO.getValor();
720
                                }
721
                        }
722
                }
723
                return tipoOcorrenciaEscala;
724
        }
725
        */
726
 
353 espaco 727
        // TODO: IMPLEMENTAÇÃO PENDENTE
728
        public void consultarEscala() {
729
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
730
                        public void execute() {
355 espaco 731
                                VigenciaDTO vigenciaSelecionada = getEntidadeDTO().getVigenciaEscalaDTO();
732
                                Date dataPonto = vigenciaSelecionada.getDataInicio();
733
                                Date dataInicio = vigenciaSelecionada.getDataInicio();
734
                                Date dataFim = vigenciaSelecionada.getDataFim();
735
                                List<FuncionarioEscalaDTO> escalasDTO = new ArrayList<FuncionarioEscalaDTO>();
736
                                FuncionarioEscalaDTO escalaDTO = null;
412 espaco 737
                                List<Ponto> pontos = pontoService.consultarPontosEletronicos(getEntidadeDTO().getVigenciaEscalaDTO(), getEntidade().getSequencialDaPessoa());
738
                                List<FuncionarioEventoDTO> eventos = funcionarioEventoService.consultarEventos(getEntidadeDTO().getVigenciaEscalaDTO(), getEntidade().getSequencial());
355 espaco 739
                                while (DataUtils.dataEstaEntrePeriodos(dataPonto, dataInicio, dataFim) ||
740
                                                DataUtils.datasIguais(dataPonto, dataInicio) ||
741
                                                DataUtils.datasIguais(dataPonto, dataFim)) {
742
                                        escalaDTO = new FuncionarioEscalaDTO();
743
                                        escalaDTO.atualizarDadosEscala(dataPonto, pontos);
409 espaco 744
                                        escalaDTO.atualizarDadosEventos(dataPonto, eventos);
355 espaco 745
                                        escalasDTO.add(escalaDTO);
746
                                        dataPonto = DataUtils.acrescentarDias(dataPonto, 1);
353 espaco 747
                                }
355 espaco 748
                                getEntidadeDTO().setListaFuncionarioEscalaDTO(escalasDTO);
353 espaco 749
                        }
750
                });
751
        }
752
 
553 blopes 753
        public void gerarGraficosFuncionario() {
754
                setGraficoConsultado(true);
755
 
756
                ParametrosConsultaVendasDTO parametrosConsulta = new ParametrosConsultaVendasDTO();
757
                parametrosConsulta.setParametrosPeriodoDTO(getParametrosPeriodoResultadosDTO());
758
                parametrosConsulta.setVendedorSelecionado(getEntidadeDTO().getVendedorDTO());
759
                parametrosConsulta.setFormasDePagamentoDTO(new FormaPagamentoDTO[0]);
760
 
761
                setGraficoVendas(new GraficoBarraDTO(parametrosConsulta));
762
                setGraficoVendas(graficoService.gerarGraficoVendas(getGraficoVendas().getParametrosConsulta(), null));
763
                setGraficoPercentuaisMeta(graficoService.gerarGraficoPercentuaisMeta(getGraficoVendas().getParametrosConsulta()));
764
 
765
                /*********************/
766
 
767
                BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getEntidadeDTO().getSequencialFuncionario(), getParametrosPeriodoResultadosDTO());
768
                getEntidadeDTO().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro);
769
 
770
                PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getEntidadeDTO().getSequencialFuncionario(), getParametrosPeriodoResultadosDTO(), Arrays.asList(getTiposProduto()));
771
                getEntidadeDTO().setGraficoTiposProdutos(graficoTiposProdutos);
772
 
773
                PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getEntidadeDTO().getSequencialFuncionario(), getParametrosPeriodoResultadosDTO());
774
                getEntidadeDTO().setGraficoFormasPagamento(graficoFormasPagamento);
775
        }
776
 
325 espaco 777
}