Subversion Repositories Integrator Subversion

Rev

Rev 409 | Rev 412 | 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
 
3
import java.io.Serializable;
353 espaco 4
import java.util.ArrayList;
355 espaco 5
import java.util.Date;
325 espaco 6
import java.util.List;
7
 
8
import javax.inject.Inject;
9
import javax.inject.Named;
10
 
11
import org.springframework.context.annotation.Scope;
12
 
13
import br.com.ec.core.generic.GenericService;
353 espaco 14
import br.com.ec.core.util.DataUtils;
325 espaco 15
import br.com.ec.core.util.VerificadorUtil;
353 espaco 16
import br.com.ec.domain.dto.AtestadoFuncionarioDTO;
325 espaco 17
import br.com.ec.domain.dto.EnderecoDTO;
353 espaco 18
import br.com.ec.domain.dto.ExameFuncionarioDTO;
325 espaco 19
import br.com.ec.domain.dto.FuncionarioDTO;
353 espaco 20
import br.com.ec.domain.dto.FuncionarioEscalaDTO;
409 espaco 21
import br.com.ec.domain.dto.FuncionarioEventoDTO;
353 espaco 22
import br.com.ec.domain.dto.FuncionarioFeriasDTO;
23
import br.com.ec.domain.dto.LojaDTO;
24
import br.com.ec.domain.dto.PessoaDTO;
325 espaco 25
import br.com.ec.domain.dto.PessoaPapelDTO;
353 espaco 26
import br.com.ec.domain.dto.PontoDTO;
325 espaco 27
import br.com.ec.domain.dto.UsuarioDTO;
28
import br.com.ec.domain.dto.UsuarioLojaDTO;
29
import br.com.ec.domain.dto.UsuarioPerfilDTO;
355 espaco 30
import br.com.ec.domain.dto.VigenciaDTO;
325 espaco 31
import br.com.ec.domain.model.Endereco;
32
import br.com.ec.domain.model.Funcionario;
411 espaco 33
import br.com.ec.domain.model.FuncionarioEvento;
353 espaco 34
import br.com.ec.domain.model.FuncionarioFerias;
325 espaco 35
import br.com.ec.domain.model.Papel;
353 espaco 36
import br.com.ec.domain.model.Ponto;
325 espaco 37
import br.com.ec.domain.model.Usuario;
409 espaco 38
import br.com.ec.domain.model.tipos.TipoFuncionarioEvento;
326 espaco 39
import br.com.ec.domain.service.AvaliacaoFuncionarioService;
325 espaco 40
import br.com.ec.domain.service.EnderecoService;
409 espaco 41
import br.com.ec.domain.service.FuncionarioEventoService;
353 espaco 42
import br.com.ec.domain.service.FuncionarioFeriasService;
325 espaco 43
import br.com.ec.domain.service.FuncionarioService;
44
import br.com.ec.domain.service.PapelService;
45
import br.com.ec.domain.service.PessoaPapelService;
46
import br.com.ec.domain.service.PessoaService;
353 espaco 47
import br.com.ec.domain.service.PontoService;
325 espaco 48
import br.com.ec.domain.service.UsuarioLojaService;
49
import br.com.ec.domain.service.UsuarioPerfilService;
50
import br.com.ec.domain.service.UsuarioService;
51
import br.com.ec.domain.service.VendedorService;
52
import br.com.ec.web.exception.VerificadorLancamentoException;
53
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
54
import br.com.ec.web.generic.AbstractBean;
55
import br.com.ec.web.message.LancadorMensagem;
56
import br.com.ec.web.util.TipoOperacao;
57
 
58
@Named
59
@Scope("view")
60
public class FuncionarioBean extends AbstractBean<Funcionario> implements Serializable {
61
 
62
        private static final long serialVersionUID = 1L;
63
 
64
        private FuncionarioService funcionarioService;
65
        private UsuarioService usuarioService;
66
        private PessoaService pessoaService;
67
        private PapelService papelService;
68
        private PessoaPapelService pessoaPapelService;
69
        private EnderecoService enderecoService;
70
        private UsuarioPerfilService usuarioPerfilService;
71
        private UsuarioLojaService usuarioLojaService;
72
        private VendedorService vendedorService;
326 espaco 73
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
353 espaco 74
        private FuncionarioFeriasService funcionarioFeriasService;
409 espaco 75
        private FuncionarioEventoService funcionarioEventoService;
353 espaco 76
        private PontoService pontoService;
325 espaco 77
 
78
        private FuncionarioDTO entidadeParaConsulta;
79
        private List<FuncionarioDTO> funcionarios;
80
 
81
        private FuncionarioDTO entidadeDTO;
82
        private PessoaPapelDTO pessoaPapelDTO;
83
        private Endereco endereco;
84
        private Usuario usuario;
85
        private UsuarioPerfilDTO usuarioPerfilDTO;
86
        private UsuarioLojaDTO usuarioLojaDTO;
353 espaco 87
        private FuncionarioFeriasDTO funcionarioFeriasDTO;
409 espaco 88
        private FuncionarioEventoDTO funcionarioEventoDTO;
89
        private FuncionarioEscalaDTO funcionarioEscalaDTO;
325 espaco 90
 
91
        @Inject
92
        public FuncionarioBean(FuncionarioService funcionarioService, UsuarioService usuarioService, PessoaService pessoaService,
93
                        PapelService papelService, PessoaPapelService pessoaPapelService, EnderecoService enderecoService,
326 espaco 94
                        UsuarioPerfilService usuarioPerfilService, UsuarioLojaService usuarioLojaService, VendedorService vendedorService,
353 espaco 95
                        AvaliacaoFuncionarioService avaliacaoFuncionarioService, FuncionarioFeriasService funcionarioFeriasService,
409 espaco 96
                        FuncionarioEventoService funcionarioEventoService, PontoService pontoService) {
325 espaco 97
                this.funcionarioService = funcionarioService;
98
                this.usuarioService = usuarioService;
99
                this.pessoaService = pessoaService;
100
                this.papelService = papelService;
101
                this.pessoaPapelService = pessoaPapelService;
102
                this.enderecoService = enderecoService;
103
                this.usuarioPerfilService = usuarioPerfilService;
104
                this.usuarioLojaService = usuarioLojaService;
105
                this.vendedorService = vendedorService;
326 espaco 106
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
353 espaco 107
                this.funcionarioFeriasService = funcionarioFeriasService;
409 espaco 108
                this.funcionarioEventoService = funcionarioEventoService;
353 espaco 109
                this.pontoService = pontoService;
325 espaco 110
        }
111
 
112
        @Override
113
        public void preCarregamento() {
114
                limparEntidade();
115
                consultarFuncionarios();
116
        }
117
 
118
        @Override
119
        public void limparEntidade() {
120
                setEntidade(new Funcionario());
121
                setEntidadeParaConsulta(new FuncionarioDTO());
122
                setEntidadeDTO(null);
123
                consultarFuncionarios();
124
        }
125
 
126
        @Override
127
        public GenericService<Funcionario> getService() {
128
                return funcionarioService;
129
        }
130
 
131
        @Override
132
        public Funcionario getEntidade() {
133
                return entidade;
134
        }
135
 
136
        @Override
137
        public void preConsultar() {
138
                setTipoOperacao(TipoOperacao.CONSULTAR);
139
        }
140
 
141
        @Override
142
        public Funcionario getId() {
143
                return getEntidade();
144
        }
145
 
146
        /*************************************************/
147
 
148
        public FuncionarioDTO getEntidadeParaConsulta() {
149
                return entidadeParaConsulta;
150
        }
151
        public void setEntidadeParaConsulta(FuncionarioDTO entidadeParaConsulta) {
152
                this.entidadeParaConsulta = entidadeParaConsulta;
153
        }
154
 
155
        public List<FuncionarioDTO> getFuncionarios() {
156
                return funcionarios;
157
        }
158
        public void setFuncionarios(List<FuncionarioDTO> funcionarios) {
159
                this.funcionarios = funcionarios;
160
        }
161
 
162
        public FuncionarioDTO getEntidadeDTO() {
163
                return entidadeDTO;
164
        }
165
        public void setEntidadeDTO(FuncionarioDTO entidadeDTO) {
166
                this.entidadeDTO = entidadeDTO;
167
        }
168
 
169
        public PessoaPapelDTO getPessoaPapelDTO() {
170
                return pessoaPapelDTO;
171
        }
172
        public void setPessoaPapelDTO(PessoaPapelDTO pessoaPapelDTO) {
173
                this.pessoaPapelDTO = pessoaPapelDTO;
174
        }
175
 
176
        public Endereco getEndereco() {
177
                return endereco;
178
        }
179
        public void setEndereco(Endereco endereco) {
180
                this.endereco = endereco;
181
        }
182
 
183
        public Usuario getUsuario() {
184
                return usuario;
185
        }
186
        public void setUsuario(Usuario usuario) {
187
                this.usuario = usuario;
188
        }
189
 
190
        public UsuarioPerfilDTO getUsuarioPerfilDTO() {
191
                return usuarioPerfilDTO;
192
        }
193
        public void setUsuarioPerfilDTO(UsuarioPerfilDTO usuarioPerfilDTO) {
194
                this.usuarioPerfilDTO = usuarioPerfilDTO;
195
        }
196
 
197
        public UsuarioLojaDTO getUsuarioLojaDTO() {
198
                return usuarioLojaDTO;
199
        }
200
        public void setUsuarioLojaDTO(UsuarioLojaDTO usuarioLojaDTO) {
201
                this.usuarioLojaDTO = usuarioLojaDTO;
202
        }
203
 
353 espaco 204
        public FuncionarioFeriasDTO getFuncionarioFeriasDTO() {
205
                return funcionarioFeriasDTO;
206
        }
207
        public void setFuncionarioFeriasDTO(FuncionarioFeriasDTO funcionarioFeriasDTO) {
208
                this.funcionarioFeriasDTO = funcionarioFeriasDTO;
209
        }
210
 
409 espaco 211
        public FuncionarioEventoDTO getFuncionarioEventoDTO() {
212
                return funcionarioEventoDTO;
213
        }
214
        public void setFuncionarioEventoDTO(FuncionarioEventoDTO funcionarioEventoDTO) {
215
                this.funcionarioEventoDTO = funcionarioEventoDTO;
216
        }
217
 
218
        public FuncionarioEscalaDTO getFuncionarioEscalaDTO() {
219
                return funcionarioEscalaDTO;
220
        }
221
        public void setFuncionarioEscalaDTO(FuncionarioEscalaDTO funcionarioEscalaDTO) {
222
                this.funcionarioEscalaDTO = funcionarioEscalaDTO;
223
        }
224
 
225
 
325 espaco 226
        /*************************************************/
227
 
228
        public void prepararDetalhar(FuncionarioDTO funcionarioDTO) {
229
                super.preDetalhar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
230
        }
231
 
232
        public void prepararAlterar(FuncionarioDTO funcionarioDTO) {
233
                super.preAlterar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
234
        }
235
 
236
        public void consultarFuncionarios() {
237
                setFuncionarios(funcionarioService.consultarFuncionarios(getEntidadeParaConsulta()));
238
        }
239
 
240
        public void prepararAlterarCompleto(FuncionarioDTO funcionarioDTO) {
241
                super.preAlterar(funcionarioService.consultarPorId(new Funcionario(funcionarioDTO.getSequencialFuncionario())));
242
                UsuarioDTO usuarioDTO = usuarioService.consultarPorPessoa(funcionarioDTO.getSequencialPessoa());
243
                setEntidadeDTO(new FuncionarioDTO(getEntidade().getSequencial()));
244
                if (VerificadorUtil.naoEstaNulo(usuarioDTO)) {
245
                        getEntidadeDTO().setUsuarioDTO(usuarioDTO);
246
                        getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(usuarioDTO.getSequencial()));
247
                        getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(usuarioDTO.getSequencial()));
248
                }
249
                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getEntidade().getSequencialDaPessoa()));
250
                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
251
                getEntidadeDTO().setVendedorDTO(vendedorService.consultarVendedorPorPessoa(getEntidade().getSequencialDaPessoa()));
252
                limparPapel();
253
        }
254
 
255
        public void alterarCompleto() {
256
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
257
                        public void execute() {
258
                                pessoaService.alterar(getEntidade().getPessoa());
353 espaco 259
                                if (VerificadorUtil.naoEstaNulo(getEntidadeDTO().getUsuarioDTO())) {
260
                                        usuarioService.alterar(getEntidadeDTO().getUsuarioDTO());
261
                                }
326 espaco 262
                                vendedorService.alterar(getEntidadeDTO().getVendedorDTO());
325 espaco 263
                                alterar(getEntidade());
264
                        }
265
                });
266
        }
267
 
268
        public void limparPapel() {
269
                PessoaPapelDTO pessoaPapelDTO = new PessoaPapelDTO();
270
                pessoaPapelDTO.setSequencialPessoa(getEntidade().getPessoa().getSequencial());
271
                setPessoaPapelDTO(pessoaPapelDTO);
272
        }
273
 
274
        public void adicionarPapel() {
275
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
276
                        public void execute() {
277
                                pessoaPapelService.adicionarPapel(getEntidade().getPessoa(), new Papel(getPessoaPapelDTO().getCodigoPapel()));
278
                                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(getPessoaPapelDTO().getSequencialPessoa()));
279
                                LancadorMensagem.lancarSucesso("PAPEL ADICIONADO COM SUCESSO");
280
                        }
281
                });
282
        }
283
 
284
        public void removerPapel(PessoaPapelDTO pessoaPapelDTO) {
285
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
286
                        public void execute() {
287
                                pessoaPapelService.removerPapel(pessoaPapelDTO.getSequencialPessoa(), pessoaPapelDTO.getCodigoPapel());
288
                                getEntidadeDTO().setPapeisDTO(pessoaPapelService.consultarPapeisDaPessoa(pessoaPapelDTO.getSequencialPessoa()));
289
                                LancadorMensagem.lancarSucesso("PAPEL REMOVIDO COM SUCESSO");
290
                        }
291
                });
292
        }
293
 
294
        public void limparEndereco() {
295
                Endereco endereco = new Endereco();
296
                endereco.setPessoa(getEntidade().getPessoa());
297
                endereco.setAtivo(true);
298
                setEndereco(endereco);
299
        }
300
 
301
        public void prepararAlterarEndereco(EnderecoDTO enderecoDTO) {
302
                setEndereco(enderecoService.consultarPorId(new Endereco(enderecoDTO.getSequencial())));
303
        }
304
 
305
        public void adicionarEndereco() {
306
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
307
                        public void execute() {
308
                                enderecoService.alterar(getEndereco());
309
                                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
310
                                LancadorMensagem.lancarSucesso("ENDEREÇO SALVO COM SUCESSO");
311
                        }
312
                });
313
        }
314
 
315
        public void removerEndereco(EnderecoDTO enderecoDTO) {
316
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
317
                        public void execute() {
318
                                enderecoService.removerEndereco(enderecoDTO.getSequencial());
319
                                getEntidadeDTO().setEnderecosDTO(enderecoService.consultarEnderecosDaPessoa(getEntidade().getSequencialDaPessoa()));
320
                                LancadorMensagem.lancarSucesso("ENDEREÇO REMOVIDO COM SUCESSO");
321
                        }
322
                });
323
        }
324
 
325
        public void limparUsuarioPerfil() {
326
                UsuarioPerfilDTO usuarioPerfilDTO = new UsuarioPerfilDTO();
327
                usuarioPerfilDTO.setSequencialUsuario(getEntidadeDTO().getUsuarioDTO().getSequencial());
328
                setUsuarioPerfilDTO(usuarioPerfilDTO);
329
        }
330
 
331
        public void adicionarUsuarioPerfil() {
332
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
333
                        public void execute() {
334
                                usuarioPerfilService.adicionarPerfil(getUsuarioPerfilDTO().getSequencialUsuario(), getUsuarioPerfilDTO().getCodigoPerfil());
335
                                getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(getUsuarioPerfilDTO().getSequencialUsuario()));
336
                                LancadorMensagem.lancarSucesso("PERFIL ADICIONADO COM SUCESSO");
337
                        }
338
                });
339
        }
340
 
341
        public void removerUsuarioPerfil(UsuarioPerfilDTO usuarioPerfilDTO) {
342
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
343
                        public void execute() {
344
                                usuarioPerfilService.removerPerfil(usuarioPerfilDTO.getSequencial());
345
                                getEntidadeDTO().getUsuarioDTO().setPerfis(usuarioPerfilService.consultarPerfisDoUsuario(usuarioPerfilDTO.getSequencialUsuario()));
346
                                LancadorMensagem.lancarSucesso("PERFIL REMOVIDO COM SUCESSO");
347
                        }
348
                });
349
        }
350
 
351
        public void limparUsuarioLoja() {
352
                UsuarioLojaDTO usuarioLojaDTO = new UsuarioLojaDTO();
353
                usuarioLojaDTO.setSequencialUsuario(getEntidadeDTO().getUsuarioDTO().getSequencial());
354
                setUsuarioLojaDTO(usuarioLojaDTO);
355
        }
356
 
357
        public void adicionarUsuarioLoja() {
358
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
359
                        public void execute() {
360
                                usuarioLojaService.adicionarLoja(getUsuarioLojaDTO().getSequencialUsuario(), getUsuarioLojaDTO().getSequencialLoja());
361
                                getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(getUsuarioLojaDTO().getSequencialUsuario()));
362
                                LancadorMensagem.lancarSucesso("LOJA ADICIONADA COM SUCESSO");
363
                        }
364
                });
365
        }
366
 
367
        public void removerUsuarioLoja(UsuarioLojaDTO usuarioLojaDTO) {
368
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
369
                        public void execute() {
370
                                usuarioLojaService.removerLoja(usuarioLojaDTO.getSequencialUsuario(), usuarioLojaDTO.getSequencialLoja());
371
                                getEntidadeDTO().getUsuarioDTO().setLojas(usuarioLojaService.consultarLojasDoUsuario(usuarioLojaDTO.getSequencialUsuario()));
372
                                LancadorMensagem.lancarSucesso("LOJA REMOVIDA COM SUCESSO");
373
                        }
374
                });
375
        }
376
 
353 espaco 377
        public void consultarFerias() {
378
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
379
                        public void execute() {
380
                                getEntidadeDTO().setFeriasDTO(funcionarioFeriasService.consultarFerias(getEntidadeDTO().getSequencialFuncionario()));
381
                        }
382
                });
383
        }
384
 
385
        public void selecionarFerias(FuncionarioFeriasDTO funcionarioFeriasDTO) {
386
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
387
                        public void execute() {
388
                                setFuncionarioFeriasDTO(funcionarioFeriasDTO);
389
                        }
390
                });
391
        }
392
 
393
        public void prepararFerias() {
394
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
395
                        public void execute() {
396
                                FuncionarioFeriasDTO funcionarioFeriasDTO = new FuncionarioFeriasDTO();
397
                                funcionarioFeriasDTO.setFuncionarioDTO(getEntidadeDTO());
398
                                setFuncionarioFeriasDTO(funcionarioFeriasDTO);
399
                        }
400
                });
401
        }
402
 
403
        public void atualizarFerias() {
404
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
405
                        public void execute() {
406
                                funcionarioFeriasService.alterarProvisao(getFuncionarioFeriasDTO());
407
                                consultarFerias();
408
                                LancadorMensagem.lancarSucesso("FÉRIAS ATUALIZADA COM SUCESSO!");
409
                        }
410
                });
411
        }
412
 
413
        public void removerFerias(FuncionarioFeriasDTO funcionarioFeriasDTO) {
414
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
415
                        public void execute() {
416
                                FuncionarioFerias funcionarioFerias = new FuncionarioFerias();
417
                                funcionarioFerias.setSequencial(funcionarioFeriasDTO.getSequencialFuncionarioFerias());
418
                                funcionarioFeriasService.excluir(funcionarioFerias);
419
                                consultarFerias();
420
                                LancadorMensagem.lancarSucesso("FÉRIAS REMOVIDA COM SUCESSO");
421
                        }
422
                });
423
        }
424
 
326 espaco 425
        public void consultarAvaliacoes() {
426
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
427
                        public void execute() {
428
                                getEntidadeDTO().setAvaliacoesDTO(avaliacaoFuncionarioService.consultarAvaliacoesFuncionario(getEntidadeDTO().getSequencialFuncionario()));
429
                        }
430
                });
325 espaco 431
        }
432
 
409 espaco 433
        public void limparEvento() {
434
                FuncionarioEventoDTO funcionarioEventoDTO = new FuncionarioEventoDTO();
435
                funcionarioEventoDTO.setFuncionarioDTO(getEntidadeDTO());
436
                setFuncionarioEventoDTO(funcionarioEventoDTO);
437
        }
438
 
439
        public void adicionarEvento(UsuarioDTO usuarioLogado) {
440
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
441
                        public void execute() {
442
                                getFuncionarioEventoDTO().setUsuarioDTOCadastro(usuarioLogado);
443
                                funcionarioEventoService.cadastrar(getFuncionarioEventoDTO());
444
                                consultarEscala();
445
                                LancadorMensagem.lancarSucesso("EVENTO ADICIONADO COM SUCESSO");
446
                        }
447
                });
448
        }
449
 
450
        public void removerEvento(FuncionarioEventoDTO funcionarioEventoDTO) {
451
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
452
                        public void execute() {
411 espaco 453
                                funcionarioEventoService.excluir(new FuncionarioEvento(funcionarioEventoDTO));
409 espaco 454
                                getFuncionarioEscalaDTO().getEventosDTO().remove(funcionarioEventoDTO);
455
                                consultarEscala();
456
                                LancadorMensagem.lancarSucesso("EVENTO REMOVIDO COM SUCESSO");
457
                        }
458
                });
459
        }
460
 
461
        public void confirmarEvento(UsuarioDTO usuarioLogado, FuncionarioEventoDTO funcionarioEventoDTO) {
462
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
463
                        public void execute() {
464
                                funcionarioEventoDTO.setUsuarioDTOAuditor(usuarioLogado);
465
//                              pessoaPapelService.adicionarPapel(getEntidade().getPessoa(), new Papel(getPessoaPapelDTO().getCodigoPapel()));
466
                                LancadorMensagem.lancarSucesso("EVENTO CONFIRMADO COM SUCESSO");
467
                        }
468
                });
469
        }
470
 
471
        public void consultarEventos(FuncionarioEscalaDTO escalaDTOSelecionada) {
472
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
473
                        public void execute() {
474
                                setFuncionarioEscalaDTO(escalaDTOSelecionada);
475
                        }
476
                });
477
        }
478
 
353 espaco 479
        // TODO: IMPLEMENTAÇÃO PENDENTE
480
        public void consultarExames() {
481
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
482
                        public void execute() {
483
                                List<ExameFuncionarioDTO> examesDTO = new ArrayList<ExameFuncionarioDTO>();
484
                                ExameFuncionarioDTO exameDTO = new ExameFuncionarioDTO();
485
                                exameDTO.setDataPrevista(DataUtils.converterStringParaData("01/05/2021"));
486
                                exameDTO.setTipoExame("P");
487
                                examesDTO.add(exameDTO);
488
 
489
                                exameDTO = new ExameFuncionarioDTO();
490
                                exameDTO.setDataPrevista(DataUtils.converterStringParaData("01/05/2020"));
491
                                exameDTO.setDataRealizada(DataUtils.converterStringParaData("01/05/2020"));
492
                                exameDTO.setTipoExame("P");
493
                                examesDTO.add(exameDTO);
494
 
495
                                exameDTO = new ExameFuncionarioDTO();
496
                                exameDTO.setDataRealizada(DataUtils.converterStringParaData("01/05/2019"));
497
                                exameDTO.setTipoExame("A");
498
                                examesDTO.add(exameDTO);
499
 
500
                                getEntidadeDTO().setExamesDTO(examesDTO);
501
                        }
502
                });
503
        }
504
 
505
        // TODO: IMPLEMENTAÇÃO PENDENTE
506
        public void consultarAtestados() {
507
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
508
                        public void execute() {
509
                                List<AtestadoFuncionarioDTO> atestadosDTO = new ArrayList<AtestadoFuncionarioDTO>();
510
                                AtestadoFuncionarioDTO atestadoDTO = new AtestadoFuncionarioDTO();
511
                                atestadoDTO.setDataAtestado(DataUtils.converterStringParaData("01/11/2020"));
512
                                atestadoDTO.setQuantidadeDias(new Long(15));
513
                                atestadoDTO.setCodigoCid("Y71");
514
                                atestadoDTO.setObservacao("COVID");
515
                                atestadosDTO.add(atestadoDTO);
516
 
517
                                atestadoDTO = new AtestadoFuncionarioDTO();
518
                                atestadoDTO.setDataAtestado(DataUtils.converterStringParaData("01/09/2020"));
519
                                atestadoDTO.setQuantidadeDias(new Long(3));
520
                                atestadoDTO.setCodigoCid("Y59");
521
                                atestadoDTO.setObservacao("");
522
                                atestadosDTO.add(atestadoDTO);
523
 
524
                                getEntidadeDTO().setAtestadosDTO(atestadosDTO);
525
                        }
526
                });
527
        }
528
 
529
        // TODO: IMPLEMENTAÇÃO PENDENTE
530
        public void consultarPontoEletronico() {
531
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
532
                        public void execute() {
533
                                List<PontoDTO> pontosDTO = new ArrayList<PontoDTO>();
534
                                PontoDTO pontoDTO = new PontoDTO();
535
                                LojaDTO lojaDTO = new LojaDTO();
536
                                lojaDTO.setDescricao("QUIOSQUE BIG GRUTA");
537
                                pontoDTO.setLojaDTO(lojaDTO);
538
 
539
                                PessoaDTO pessoaDTO = new PessoaDTO();
540
                                pessoaDTO.setNome(getEntidadeDTO().getNome());
541
                                pontoDTO.setPessoaDTO(pessoaDTO);
542
 
543
                                pontoDTO.setDataPonto(DataUtils.converterStringParaData("13/08/2021"));
544
                                pontoDTO.setDataHoraPontoInicio(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
545
                                pontoDTO.setDataHoraPontoFim(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
546
                                pontoDTO.setDataHoraIntervaloInicio(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
547
                                pontoDTO.setDataHoraIntervaloFim(DataUtils.converterStringParaDataComHorario("13/08/2021 16:00:00"));
548
                                pontoDTO.setObservacao("");
549
                                pontosDTO.add(pontoDTO);
550
 
551
                                getEntidadeDTO().setPontosDTO(pontosDTO);
552
                        }
553
                });
554
        }
555
 
355 espaco 556
        /*
557
        public String retornarTipoOcorrenciaEscala(Date dataPonto, List<Ponto> pontos) {
558
                String tipoOcorrenciaEscala = TipoOcorrenciaEscala.SEM_PONTO.getValor();
559
                for (Ponto ponto : pontos) {
560
                        if (DataUtils.datasIguais(ponto.getDataPonto(), dataPonto)) {
561
                                if (ponto.getPontoCompleto()) {
562
                                        return TipoOcorrenciaEscala.PONTO_COMPLETO.getValor();
563
                                } else {
564
                                        return TipoOcorrenciaEscala.PONTO_INCOMPLETO.getValor();
565
                                }
566
                        }
567
                }
568
                return tipoOcorrenciaEscala;
569
        }
570
        */
571
 
353 espaco 572
        // TODO: IMPLEMENTAÇÃO PENDENTE
573
        public void consultarEscala() {
574
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
575
                        public void execute() {
355 espaco 576
                                List<Ponto> pontos = pontoService.consultarPontosEletronicos(getEntidadeDTO().getVigenciaEscalaDTO(), getEntidade().getSequencialDaPessoa());
577
 
409 espaco 578
                                List<FuncionarioEventoDTO> eventos = funcionarioEventoService.consultarEventos(getEntidadeDTO().getVigenciaEscalaDTO(), getEntidade().getSequencial());
579
 
580
                                /*
581
                                //TODO: CONSULTAR EVENTOS DO FUNCIONÁRIO
582
                                List<FuncionarioEventoDTO> eventos = new ArrayList<FuncionarioEventoDTO>();
583
                                FuncionarioEventoDTO funcionarioEventoDTO = new FuncionarioEventoDTO();
584
                                funcionarioEventoDTO.setSequencial(new Long(1));
585
                                funcionarioEventoDTO.setDataInicial(new DataUtils().converterStringParaData("06/09/2023"));
586
                                funcionarioEventoDTO.setDataFinal(new DataUtils().converterStringParaData("06/09/2023"));
587
                                funcionarioEventoDTO.setTipo(TipoFuncionarioEvento.FOLGA_FORCADA.getValor());
588
                                funcionarioEventoDTO.setDescricao("FOLGA FORÇADA!");
589
                                eventos.add(funcionarioEventoDTO);
590
 
591
                                funcionarioEventoDTO = new FuncionarioEventoDTO();
592
                                funcionarioEventoDTO.setSequencial(new Long(2));
593
                                funcionarioEventoDTO.setDataInicial(new DataUtils().converterStringParaData("06/09/2023"));
594
                                funcionarioEventoDTO.setDataFinal(new DataUtils().converterStringParaData("06/09/2023"));
595
                                funcionarioEventoDTO.setTipo(TipoFuncionarioEvento.TROCA_HORARIO.getValor());
596
                                funcionarioEventoDTO.setDescricao("");
597
                                eventos.add(funcionarioEventoDTO);
598
 
599
                                funcionarioEventoDTO = new FuncionarioEventoDTO();
600
                                funcionarioEventoDTO.setSequencial(new Long(3));
601
                                funcionarioEventoDTO.setDataInicial(new DataUtils().converterStringParaData("12/09/2023"));
602
                                funcionarioEventoDTO.setDataFinal(new DataUtils().converterStringParaData("15/09/2023"));
603
                                funcionarioEventoDTO.setTipo(TipoFuncionarioEvento.ATESTADO_MEDICO.getValor());
604
                                funcionarioEventoDTO.setDescricao("ATESTADO");
605
                                eventos.add(funcionarioEventoDTO);
606
                                */
607
 
355 espaco 608
                                VigenciaDTO vigenciaSelecionada = getEntidadeDTO().getVigenciaEscalaDTO();
609
                                Date dataPonto = vigenciaSelecionada.getDataInicio();
610
                                Date dataInicio = vigenciaSelecionada.getDataInicio();
611
                                Date dataFim = vigenciaSelecionada.getDataFim();
612
                                List<FuncionarioEscalaDTO> escalasDTO = new ArrayList<FuncionarioEscalaDTO>();
613
                                FuncionarioEscalaDTO escalaDTO = null;
614
                                while (DataUtils.dataEstaEntrePeriodos(dataPonto, dataInicio, dataFim) ||
615
                                                DataUtils.datasIguais(dataPonto, dataInicio) ||
616
                                                DataUtils.datasIguais(dataPonto, dataFim)) {
617
                                        escalaDTO = new FuncionarioEscalaDTO();
618
                                        escalaDTO.atualizarDadosEscala(dataPonto, pontos);
409 espaco 619
                                        escalaDTO.atualizarDadosEventos(dataPonto, eventos);
355 espaco 620
                                        escalasDTO.add(escalaDTO);
621
                                        dataPonto = DataUtils.acrescentarDias(dataPonto, 1);
353 espaco 622
                                }
355 espaco 623
                                getEntidadeDTO().setListaFuncionarioEscalaDTO(escalasDTO);
353 espaco 624
 
625
 
626
                        }
627
                });
628
        }
629
 
325 espaco 630
}