package br.com.centralit.citcorpore.negocio; import br.com.centralit.bpm.dto.ElementoFluxoDTO; import br.com.centralit.bpm.dto.TarefaFluxoDTO; import br.com.centralit.bpm.integracao.ElementoFluxoDao; import br.com.centralit.bpm.integracao.TarefaFluxoDao; import br.com.centralit.citcorpore.bean.ProblemaDTO; import br.com.centralit.citcorpore.bean.ServicoDTO; import br.com.centralit.citcorpore.bean.SolicitacaoServicoDTO; import br.com.centralit.citcorpore.bean.ValidacaoRequisicaoProblemaDTO; import br.com.centralit.citcorpore.integracao.ServicoDao; import br.com.centralit.citcorpore.integracao.ValidacaoRequisicaoProblemaDAO; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.service.CrudServiceImpl; import br.com.citframework.util.UtilDatas; import br.com.citframework.util.WebUtil; /** * * @author geber.costa * */ public class ValidacaoRequisicaoProblemaServiceEjb extends CrudServiceImpl implements ValidacaoRequisicaoProblemaService { private ValidacaoRequisicaoProblemaDAO dao; @Override protected ValidacaoRequisicaoProblemaDAO getDao() { if (dao == null) { dao = new ValidacaoRequisicaoProblemaDAO(); } return dao; } @Override public ValidacaoRequisicaoProblemaDTO recuperaTemplateRequisicaoProblema(final ProblemaDTO problemaDto) throws Exception { ValidacaoRequisicaoProblemaDTO templateValidacaoDto = null; if (problemaDto.getIdTarefa() != null) { TarefaFluxoDTO tarefaFluxoDto = new TarefaFluxoDTO(); tarefaFluxoDto.setIdItemTrabalho(problemaDto.getIdTarefa()); tarefaFluxoDto = (TarefaFluxoDTO) new TarefaFluxoDao().restore(tarefaFluxoDto); final ElementoFluxoDTO elementoDto = new ElementoFluxoDao().restore(tarefaFluxoDto.getIdElemento()); if (elementoDto.getTemplate() != null) { templateValidacaoDto = this.getDao().findByObservacaoProblema(elementoDto.getTemplate()); } } if (templateValidacaoDto == null && problemaDto.getIdServico() != null && problemaDto.getIdContrato() != null) { ServicoDTO servicoDto = new ServicoDTO(); servicoDto.setIdServico(problemaDto.getIdServico()); servicoDto = (ServicoDTO) new ServicoDao().restore(servicoDto); if (servicoDto != null) { Integer idTemplate = servicoDto.getIdTemplateSolicitacao(); if (problemaDto.getIdSolicitacaoServico() != null && servicoDto.getIdTemplateAcompanhamento() != null) { idTemplate = servicoDto.getIdTemplateAcompanhamento(); } if (idTemplate != null) { templateValidacaoDto = new ValidacaoRequisicaoProblemaDTO(); templateValidacaoDto.setIdValidacaoRequisicaoProblema(idTemplate); templateValidacaoDto = (ValidacaoRequisicaoProblemaDTO) this.getDao().restore(templateValidacaoDto); } } } return templateValidacaoDto; } @Override public ValidacaoRequisicaoProblemaDTO findByIdProblema(final Integer parm) throws Exception { try { return this.getDao().findByIdProblema(parm); } catch (final Exception e) { throw new ServiceException(e); } } @Override public IDto create(final TransactionControler tc, final ProblemaDTO problemaDto, final IDto model) throws Exception { ValidacaoRequisicaoProblemaDTO validacaoRequisicaoProblemaDto = (ValidacaoRequisicaoProblemaDTO) model; this.getDao().setTransactionControler(tc); if (problemaDto.getIdProblema() != null) { validacaoRequisicaoProblemaDto.setIdProblema(problemaDto.getIdProblema()); } validacaoRequisicaoProblemaDto.setDataInicio(UtilDatas.getDataAtual()); validacaoRequisicaoProblemaDto = (ValidacaoRequisicaoProblemaDTO) this.getDao().create(validacaoRequisicaoProblemaDto); return validacaoRequisicaoProblemaDto; } @Override public void update(final TransactionControler tc, final ProblemaDTO problemaDto, final IDto model) throws Exception { final ValidacaoRequisicaoProblemaDTO validacaoRequisicaoProblemaDto = (ValidacaoRequisicaoProblemaDTO) model; this.getDao().setTransactionControler(tc); if (problemaDto.getIdProblema() != null) { validacaoRequisicaoProblemaDto.setIdProblema(problemaDto.getIdProblema()); } if (validacaoRequisicaoProblemaDto.getIdValidacaoRequisicaoProblema() != null) { this.getDao().update(validacaoRequisicaoProblemaDto); } } @Override public IDto deserializaObjeto(final String serialize) throws Exception { ValidacaoRequisicaoProblemaDTO validacaoRequisicaoProblemaDto = null; if (serialize != null) { validacaoRequisicaoProblemaDto = (ValidacaoRequisicaoProblemaDTO) WebUtil.deserializeObject(ValidacaoRequisicaoProblemaDTO.class, serialize); } return validacaoRequisicaoProblemaDto; } @Override public void validaCreate(final SolicitacaoServicoDTO solicitacaoServicoDto, final IDto model) throws Exception { } @Override public void validaDelete(final SolicitacaoServicoDTO solicitacaoServicoDto, final IDto model) throws Exception { } @Override public void validaUpdate(final SolicitacaoServicoDTO solicitacaoServicoDto, final IDto model) throws Exception { } }