package br.com.centralit.citcorpore.rh.negocio; import java.util.ArrayList; import java.util.Collection; import java.util.List; import br.com.centralit.citcorpore.rh.bean.CertificacaoDTO; import br.com.centralit.citcorpore.rh.bean.CursoDTO; import br.com.centralit.citcorpore.rh.bean.HistAtribuicaoResponsabilidadeDTO; import br.com.centralit.citcorpore.rh.bean.HistManualCertificacaoDTO; import br.com.centralit.citcorpore.rh.bean.HistManualCompetenciaTecnicaDTO; import br.com.centralit.citcorpore.rh.bean.HistManualCursoDTO; import br.com.centralit.citcorpore.rh.bean.HistManualFuncaoDTO; import br.com.centralit.citcorpore.rh.bean.HistPerspectivaComportamentalDTO; import br.com.centralit.citcorpore.rh.integracao.HistAtribuicaoResponsabilidadeDao; import br.com.centralit.citcorpore.rh.integracao.HistManualCertificacaoDao; import br.com.centralit.citcorpore.rh.integracao.HistManualCompetenciaTecnicaDao; import br.com.centralit.citcorpore.rh.integracao.HistManualCursoDao; import br.com.centralit.citcorpore.rh.integracao.HistManualFuncaoDao; import br.com.centralit.citcorpore.rh.integracao.HistPerspectivaComportamentalDao; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.CrudServiceImpl; @SuppressWarnings("unchecked") public class HistManualFuncaoServiceEjb extends CrudServiceImpl implements HistManualFuncaoService { private HistManualFuncaoDao dao; @Override protected HistManualFuncaoDao getDao() { if (dao == null) { dao = new HistManualFuncaoDao(); } return dao; } @Override public IDto restore(final IDto model) throws ServiceException, LogicException { final HistManualFuncaoDTO histManualFuncaoDTO = (HistManualFuncaoDTO) super.restore(model); final HistAtribuicaoResponsabilidadeDao atribuicaoResponsabilidadeDao = new HistAtribuicaoResponsabilidadeDao(); final HistManualCertificacaoDao certificacaoDao = new HistManualCertificacaoDao(); final HistManualCursoDao cursoDao = new HistManualCursoDao(); final HistManualCompetenciaTecnicaDao competenciaTecnicaDao = new HistManualCompetenciaTecnicaDao(); final HistPerspectivaComportamentalDao perspectivaCompDao = new HistPerspectivaComportamentalDao(); // tratamento para atribuicaoResposabilidade Collection<HistAtribuicaoResponsabilidadeDTO> colResponsabilidades = null; try { colResponsabilidades = atribuicaoResponsabilidadeDao.findByIdHistManualFuncao(histManualFuncaoDTO.getIdhistManualFuncao()); } catch (final Exception e) { e.printStackTrace(); } histManualFuncaoDTO.setColAtribuicaoResponsabilidadeDTO(colResponsabilidades); // tratamento para certificados Collection<HistManualCertificacaoDTO> colCertificados = null; try { colCertificados = certificacaoDao.findByIdHistManualFuncao(histManualFuncaoDTO.getIdhistManualFuncao()); } catch (final Exception e) { e.printStackTrace(); } final List<CertificacaoDTO> certificadosRA = new ArrayList<>(); final List<CertificacaoDTO> certificadosRF = new ArrayList<>(); if (colCertificados != null) { for (final HistManualCertificacaoDTO manualCertificacaoDto : colCertificados) { if (manualCertificacaoDto.getRAouRF().equalsIgnoreCase("RA")) { final CertificacaoDTO cert = new CertificacaoDTO(); cert.setDescricao(manualCertificacaoDto.getDescricao()); cert.setDetalhe(manualCertificacaoDto.getDetalhe()); certificadosRA.add(cert); } else { final CertificacaoDTO cert = new CertificacaoDTO(); cert.setDescricao(manualCertificacaoDto.getDescricao()); cert.setDetalhe(manualCertificacaoDto.getDetalhe()); certificadosRF.add(cert); } } } histManualFuncaoDTO.setColCertificacaoDTORA(certificadosRA); histManualFuncaoDTO.setColCertificacaoDTORF(certificadosRF); // tratamento para Cursos Collection<HistManualCursoDTO> colCursos = null; try { colCursos = cursoDao.findByIdHistManualFuncao(histManualFuncaoDTO.getIdhistManualFuncao()); } catch (final Exception e) { e.printStackTrace(); } final List<CursoDTO> cursosRA = new ArrayList<>(); final List<CursoDTO> cursosRF = new ArrayList<>(); if (colCursos != null) { for (final HistManualCursoDTO manualCurso : colCursos) { if (manualCurso.getRAouRF().equalsIgnoreCase("RA")) { final CursoDTO curso = new CursoDTO(); curso.setDescricao(manualCurso.getDescricao()); curso.setDetalhe(manualCurso.getDetalhe()); cursosRA.add(curso); } else { final CursoDTO curso = new CursoDTO(); curso.setDescricao(manualCurso.getDescricao()); curso.setDetalhe(manualCurso.getDetalhe()); cursosRF.add(curso); } } } histManualFuncaoDTO.setColCursoDTORA(cursosRA); histManualFuncaoDTO.setColCursoDTORF(cursosRF); // tratamento para competencias tecnicas Collection<HistManualCompetenciaTecnicaDTO> colCompetencias = null; try { colCompetencias = competenciaTecnicaDao.findByIdHistManualFuncao(histManualFuncaoDTO.getIdhistManualFuncao()); } catch (final Exception e) { e.printStackTrace(); } if (colCompetencias != null) { for (final HistManualCompetenciaTecnicaDTO manualCompetenciaTecnicaDTO : colCompetencias) { try { manualCompetenciaTecnicaDTO.setIdNivelCompetenciaFuncao(manualCompetenciaTecnicaDTO.getIdNivelCompetenciaAcesso()); } catch (final Exception e) { e.printStackTrace(); } try { manualCompetenciaTecnicaDTO.setIdNivelCompetenciaAcesso(manualCompetenciaTecnicaDTO.getIdNivelCompetenciaFuncao()); } catch (final Exception e) { e.printStackTrace(); } } } histManualFuncaoDTO.setColCompetenciaTecnicaDTO(colCompetencias); // tratamento para Perspectiva Comportamental Collection<HistPerspectivaComportamentalDTO> colPerspComportamental = null; try { colPerspComportamental = perspectivaCompDao.findByIdHistManualFuncao(histManualFuncaoDTO.getIdhistManualFuncao()); } catch (final Exception e) { e.printStackTrace(); } histManualFuncaoDTO.setColPerspectivaComportamentalDTO(colPerspComportamental); return histManualFuncaoDTO; } }