Subversion Repositories Integrator Subversion

Rev

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