package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.registroatendimento.AtendimentoMotivoEncerramento; import gcom.atendimentopublico.registroatendimento.AtendimentoRelacaoTipo; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoAnexo; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoConta; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoPagamentoDuplicidade; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoSolicitante; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoUnidade; import gcom.atendimentopublico.registroatendimento.FiltroSolicitanteFone; import gcom.atendimentopublico.registroatendimento.LocalOcorrencia; import gcom.atendimentopublico.registroatendimento.RaMotivoReativacao; import gcom.atendimentopublico.registroatendimento.RegistroAtendimento; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoAnexo; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoConta; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoPagamentoDuplicidade; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoSolicitante; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoUnidade; import gcom.atendimentopublico.registroatendimento.SolicitacaoTipoEspecificacao; import gcom.atendimentopublico.registroatendimento.SolicitanteFone; import gcom.atendimentopublico.registroatendimento.Tramite; import gcom.atendimentopublico.registroatendimento.bean.ObterDadosRegistroAtendimentoHelper; import gcom.atendimentopublico.registroatendimento.bean.ObterDescricaoSituacaoRAHelper; import gcom.atendimentopublico.registroatendimento.bean.ObterRAAssociadoHelper; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.funcionario.Funcionario; import gcom.cadastro.geografico.BairroArea; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.PavimentoCalcada; import gcom.cadastro.imovel.PavimentoRua; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.operacional.DivisaoEsgoto; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.io.IOException; import java.io.OutputStream; import java.util.Collection; import java.util.Date; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Action que define o pr�-processamento da p�gina de exibir consultar RA Popup * * @author Rafael Pinto * * @created 11/08/2006 */ public class ExibirConsultarRegistroAtendimentoPopupAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("consultarRegistroAtendimentoPopup"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); ConsultarRegistroAtendimentoPopupActionForm consultarRegistroAtendimentoPopupActionForm = (ConsultarRegistroAtendimentoPopupActionForm) actionForm; ObterDadosRegistroAtendimentoHelper obterDadosRegistroAtendimentoHelper = fachada.obterDadosRegistroAtendimento( new Integer(consultarRegistroAtendimentoPopupActionForm.getNumeroRA())); if (obterDadosRegistroAtendimentoHelper == null || obterDadosRegistroAtendimentoHelper.getRegistroAtendimento() == null) { throw new ActionServletException("atencao.naocadastrado",null, "Registro Atendimento"); } RegistroAtendimento registroAtendimento = obterDadosRegistroAtendimentoHelper.getRegistroAtendimento(); //Dados Gerais do Registro de Atendimento consultarRegistroAtendimentoPopupActionForm.setNumeroRA(""+registroAtendimento.getId()); if (registroAtendimento.getManual() != null){ int tamanhoNumeracao = registroAtendimento.getManual().toString().length(); String numeracao = registroAtendimento.getManual().toString().substring(0, tamanhoNumeracao - 1); consultarRegistroAtendimentoPopupActionForm.setNumeroRAManual( Util.formatarNumeracaoRAManual(new Integer(numeracao))); } else { consultarRegistroAtendimentoPopupActionForm.setNumeroRAManual(""); } consultarRegistroAtendimentoPopupActionForm.setCodigoSituacao(""+registroAtendimento.getCodigoSituacao()); //Caso de Uso [UC0420] ObterDescricaoSituacaoRAHelper situacaoRA = fachada.obterDescricaoSituacaoRA(registroAtendimento.getId()); consultarRegistroAtendimentoPopupActionForm.setSituacaoRA(situacaoRA.getDescricaoSituacao()); //Caso de Uso [UC0433] ObterRAAssociadoHelper obterRAAssociadoHelper = fachada.obterRAAssociado(registroAtendimento.getId()); if(obterRAAssociadoHelper != null && obterRAAssociadoHelper.getRegistroAtendimentoAssociado() != null){ consultarRegistroAtendimentoPopupActionForm.setNumeroRaAssociado(""+obterRAAssociadoHelper.getRegistroAtendimentoAssociado().getId()); ObterDescricaoSituacaoRAHelper situacaoRAssociado = fachada.obterDescricaoSituacaoRA(obterRAAssociadoHelper.getRegistroAtendimentoAssociado().getId()); consultarRegistroAtendimentoPopupActionForm.setSituacaoRaAssociado(situacaoRAssociado.getDescricaoSituacao()); httpServletRequest.setAttribute("existeRaAssociado",true); } SolicitacaoTipoEspecificacao solicitacaoTipoEspecificacao = registroAtendimento.getSolicitacaoTipoEspecificacao(); if(solicitacaoTipoEspecificacao != null){ if(solicitacaoTipoEspecificacao.getSolicitacaoTipo() != null){ consultarRegistroAtendimentoPopupActionForm.setIdTipoSolicitacao(""+solicitacaoTipoEspecificacao.getSolicitacaoTipo().getId()); consultarRegistroAtendimentoPopupActionForm.setTipoSolicitacao(solicitacaoTipoEspecificacao.getSolicitacaoTipo().getDescricao()); } if(solicitacaoTipoEspecificacao.getServicoTipo() != null){ String valorPrevisto = Util.formatarMoedaReal(solicitacaoTipoEspecificacao.getServicoTipo().getValor()); consultarRegistroAtendimentoPopupActionForm.setValorSugerido(valorPrevisto); } else { consultarRegistroAtendimentoPopupActionForm.setValorSugerido(""); } consultarRegistroAtendimentoPopupActionForm.setIdEspecificacao(""+solicitacaoTipoEspecificacao.getId()); consultarRegistroAtendimentoPopupActionForm.setEspecificacao(solicitacaoTipoEspecificacao.getDescricao()); } consultarRegistroAtendimentoPopupActionForm.setTipoAtendimento(""+registroAtendimento.getIndicadorAtendimentoOnline()); Date dataAtendimento = registroAtendimento.getRegistroAtendimento(); consultarRegistroAtendimentoPopupActionForm.setDataAtendimento(Util.formatarData(dataAtendimento)); consultarRegistroAtendimentoPopupActionForm.setHoraAtendimento(Util.formatarHoraSemSegundos(dataAtendimento)); consultarRegistroAtendimentoPopupActionForm.setTempoEsperaInicio(Util.formatarHoraSemSegundos(registroAtendimento.getDataInicioEspera())); consultarRegistroAtendimentoPopupActionForm.setTempoEsperaTermino(Util.formatarHoraSemSegundos(registroAtendimento.getDataFimEspera())); consultarRegistroAtendimentoPopupActionForm.setDataPrevista(Util.formatarData(registroAtendimento.getDataPrevistaAtual())); consultarRegistroAtendimentoPopupActionForm.setParecerEncerramento(registroAtendimento.getParecerEncerramento()); if(registroAtendimento.getMeioSolicitacao() != null){ consultarRegistroAtendimentoPopupActionForm.setIdMeioSolicitacao(""+registroAtendimento.getMeioSolicitacao().getId()); consultarRegistroAtendimentoPopupActionForm.setMeioSolicitacao(registroAtendimento.getMeioSolicitacao().getDescricao()); } //Caso de Uso [UC0421] UnidadeOrganizacional unidadeAtendimento = fachada.obterUnidadeAtendimentoRA(registroAtendimento.getId()); if(unidadeAtendimento != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeAtendimento(""+unidadeAtendimento.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeAtendimento(unidadeAtendimento.getDescricao()); RegistroAtendimentoUnidade registroAtendimentoUnidade = this.consultarRegistroAtendimentoUnidade(registroAtendimento.getId(),unidadeAtendimento.getId()); Usuario usuario = registroAtendimentoUnidade.getUsuario(); if(usuario != null){ consultarRegistroAtendimentoPopupActionForm.setIdUsuarioAbrirRA(""+usuario.getId()); consultarRegistroAtendimentoPopupActionForm.setUsuarioAbrirRA(usuario.getNomeUsuario()); } } //Caso de Uso [UC0418] UnidadeOrganizacional unidadeAtual = fachada.obterUnidadeAtualRA(registroAtendimento.getId()); if(unidadeAtual != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeAtual(""+unidadeAtual.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeAtual(unidadeAtual.getDescricao()); } consultarRegistroAtendimentoPopupActionForm.setObservacao(registroAtendimento.getObservacao()); //Dados do Local da Ocorrencia Imovel imovel = registroAtendimento.getImovel(); if(imovel != null){ consultarRegistroAtendimentoPopupActionForm.setMatriculaImovel(""+imovel.getId()); consultarRegistroAtendimentoPopupActionForm.setInscricaoImovel(imovel.getInscricaoFormatada()); consultarRegistroAtendimentoPopupActionForm.setRota(obterDadosRegistroAtendimentoHelper.getCodigoRota().toString()); if (obterDadosRegistroAtendimentoHelper.getSequencialRota() != null) { consultarRegistroAtendimentoPopupActionForm.setSequencialRota(obterDadosRegistroAtendimentoHelper.getSequencialRota().toString()); } } //Caso de Uso [UC0422] String enderecoOcorrencia = fachada.obterEnderecoOcorrenciaRA(registroAtendimento.getId()); consultarRegistroAtendimentoPopupActionForm.setEnderecoOcorrencia(enderecoOcorrencia); consultarRegistroAtendimentoPopupActionForm.setPontoReferencia(registroAtendimento.getPontoReferencia()); //Caso o registro atendimento esteja associado a uma �rea de bairro, //obter os dados da �rea do bairro BairroArea bairroArea = registroAtendimento.getBairroArea(); if(bairroArea != null){ consultarRegistroAtendimentoPopupActionForm.setIdMunicipio(""+bairroArea.getBairro().getMunicipio().getId()); consultarRegistroAtendimentoPopupActionForm.setMunicipio(bairroArea.getBairro().getMunicipio().getNome()); consultarRegistroAtendimentoPopupActionForm.setIdBairro(""+bairroArea.getBairro().getId()); consultarRegistroAtendimentoPopupActionForm.setBairro(bairroArea.getBairro().getNome()); consultarRegistroAtendimentoPopupActionForm.setIdAreaBairro(""+bairroArea.getId()); consultarRegistroAtendimentoPopupActionForm.setAreaBairro(bairroArea.getNome()); } Localidade localidade = registroAtendimento.getLocalidade(); if(localidade != null){ consultarRegistroAtendimentoPopupActionForm.setIdLocalidade(""+localidade.getId()); consultarRegistroAtendimentoPopupActionForm.setLocalidade(localidade.getDescricao()); } SetorComercial setorComercial = registroAtendimento.getSetorComercial(); if(setorComercial != null){ consultarRegistroAtendimentoPopupActionForm.setIdSetorComercial(""+setorComercial.getCodigo()); consultarRegistroAtendimentoPopupActionForm.setSetorComercial(setorComercial.getDescricao()); } Quadra quadra = registroAtendimento.getQuadra(); if(quadra != null){ consultarRegistroAtendimentoPopupActionForm.setIdQuadra(""+quadra.getNumeroQuadra()); } DivisaoEsgoto divisaoEsgoto = registroAtendimento.getDivisaoEsgoto(); if(divisaoEsgoto != null){ consultarRegistroAtendimentoPopupActionForm.setIdDivisaoEsgoto(""+divisaoEsgoto.getId()); consultarRegistroAtendimentoPopupActionForm.setDivisaoEsgoto(divisaoEsgoto.getDescricao()); } LocalOcorrencia localOcorrencia = registroAtendimento.getLocalOcorrencia(); if(localOcorrencia != null){ consultarRegistroAtendimentoPopupActionForm.setLocalOcorrencia(localOcorrencia.getDescricao()); } PavimentoRua pavimentoRua = registroAtendimento.getPavimentoRua(); if(pavimentoRua != null){ consultarRegistroAtendimentoPopupActionForm.setPavimentoRua(pavimentoRua.getDescricao()); } PavimentoCalcada pavimentoCalcada = registroAtendimento.getPavimentoCalcada(); if(pavimentoCalcada != null){ consultarRegistroAtendimentoPopupActionForm.setPavimentoCalcada(pavimentoCalcada.getDescricao()); } consultarRegistroAtendimentoPopupActionForm.setDescricaoLocalOcorrencia(registroAtendimento.getDescricaoLocalOcorrencia()); //Dados do Solicitante RegistroAtendimentoSolicitante registroAtendimentoSolicitante = this.consultarRegistroAtendimentoSolicitante(registroAtendimento.getId()); if(registroAtendimentoSolicitante != null){ Cliente cliente = registroAtendimentoSolicitante.getCliente(); UnidadeOrganizacional unidadeSolicitante = registroAtendimentoSolicitante.getUnidadeOrganizacional(); //PROTOCOLO DE ATENDIMENTO if (registroAtendimentoSolicitante.getNumeroProtocoloAtendimento() != null && !registroAtendimentoSolicitante.getNumeroProtocoloAtendimento().equals("")){ consultarRegistroAtendimentoPopupActionForm.setNumeroProtocolo( registroAtendimentoSolicitante.getNumeroProtocoloAtendimento()); } //Caso o principal solicitante do registro de atendimento seja um cliente //obter os dados do cliente if(cliente != null){ consultarRegistroAtendimentoPopupActionForm.setIdClienteSolicitante(""+cliente.getId()); consultarRegistroAtendimentoPopupActionForm.setClienteSolicitante(cliente.getNome()); //Caso o principal solicitante do registro de atendimento seja uma unidade //obter os dados da unidade }else if(unidadeSolicitante != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeSolicitante(""+unidadeSolicitante.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeSolicitante(unidadeSolicitante.getDescricao()); //Caso o principal solicitante do registro de atendimento n�o seja um cliente, nem uma unidade //obter os dados do solicitante }else{ consultarRegistroAtendimentoPopupActionForm.setNomeSolicitante(registroAtendimentoSolicitante.getSolicitante()); } Funcionario funcionario = registroAtendimentoSolicitante.getFuncionario(); if(funcionario != null){ consultarRegistroAtendimentoPopupActionForm.setIdFuncionarioResponsavel(""+funcionario.getId()); consultarRegistroAtendimentoPopupActionForm.setFuncionarioResponsavel(funcionario.getNome()); } //Caso de Uso [UC0423] String enderecoSolicitante = fachada.obterEnderecoSolicitanteRA(registroAtendimentoSolicitante.getID()); consultarRegistroAtendimentoPopupActionForm.setEnderecoSolicitante(enderecoSolicitante); consultarRegistroAtendimentoPopupActionForm.setPontoReferenciaSolicitante( registroAtendimentoSolicitante.getPontoReferencia()); SolicitanteFone solicitanteFone = consultarSolicitanteFone(registroAtendimentoSolicitante.getID()); if(solicitanteFone != null){ consultarRegistroAtendimentoPopupActionForm.setFoneDDD(""+solicitanteFone.getDdd()); consultarRegistroAtendimentoPopupActionForm.setFone(solicitanteFone.getFone()); consultarRegistroAtendimentoPopupActionForm.setFoneRamal(solicitanteFone.getRamal()); } } /* * ANEXOS * ----------------------------------------------------------------------------------------------------------- */ //CARREGANDO OS ANEXOS QUE EST�O CADASTRADOS NA BASE String visualizar = httpServletRequest.getParameter("visualizar"); FiltroRegistroAtendimentoAnexo filtroRegistroAtendimentoAnexo = new FiltroRegistroAtendimentoAnexo(); filtroRegistroAtendimentoAnexo.adicionarParametro(new ParametroSimples( FiltroRegistroAtendimentoAnexo.REGISTRO_ATENDIMENTO_ID, registroAtendimento.getId())); Collection colecaoRegistroAtendimentoAnexo = fachada.pesquisar(filtroRegistroAtendimentoAnexo, RegistroAtendimentoAnexo.class.getName()); httpServletRequest.setAttribute("colecaoRegistroAtendimentoAnexo", colecaoRegistroAtendimentoAnexo); //OBTENDO ARQUIVO PARA VISUALIZA��O RegistroAtendimentoAnexo registroAtendimentoAnexo = this.obterArquivoParaVisualizacao(visualizar, colecaoRegistroAtendimentoAnexo); //PREPARANDO VISUALIZA��O DO ARQUIVO if (registroAtendimentoAnexo != null){ OutputStream out = null; String mimeType = ConstantesSistema.CONTENT_TYPE_GENERICO; if (registroAtendimentoAnexo.getNomeExtensaoDocumento().equals(ConstantesSistema.EXTENSAO_DOC)){ mimeType = ConstantesSistema.CONTENT_TYPE_MSWORD; } else if (registroAtendimentoAnexo.getNomeExtensaoDocumento().equals(ConstantesSistema.EXTENSAO_PDF)){ mimeType = ConstantesSistema.CONTENT_TYPE_PDF; } else if (registroAtendimentoAnexo.getNomeExtensaoDocumento().equals(ConstantesSistema.EXTENSAO_JPG)){ mimeType = ConstantesSistema.CONTENT_TYPE_JPEG; } try { httpServletResponse.setContentType(mimeType); out = httpServletResponse.getOutputStream(); out.write(registroAtendimentoAnexo.getImagemDocumento()); out.flush(); out.close(); } catch (IOException e) { throw new ActionServletException("erro.sistema", e); } } /* * FIM DOS ANEXOS * ----------------------------------------------------------------------------------------------------------- */ //Dados da Ultima Tramita��o Tramite tramite = fachada.recuperarTramiteMaisAtualPorRA(registroAtendimento.getId()); if(tramite != null){ UnidadeOrganizacional unidadeOrigem = tramite.getUnidadeOrganizacionalOrigem(); if(unidadeOrigem != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeOrigem(""+unidadeOrigem.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeOrigem(unidadeOrigem.getDescricao()); } UnidadeOrganizacional unidadeDestino = tramite.getUnidadeOrganizacionalDestino(); if(unidadeDestino != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeAtualTramitacao(""+unidadeDestino.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeAtualTramitacao(unidadeDestino.getDescricao()); } Usuario usuarioRegistro = tramite.getUsuarioRegistro(); if(usuarioRegistro != null){ consultarRegistroAtendimentoPopupActionForm.setIdUsuarioRegistro(""+usuarioRegistro.getId()); consultarRegistroAtendimentoPopupActionForm.setUsuarioRegistro(usuarioRegistro.getNomeUsuario()); } Usuario usuarioResponsavel = tramite.getUsuarioResponsavel(); if(usuarioResponsavel != null){ consultarRegistroAtendimentoPopupActionForm.setIdUsuarioResponsavel(""+usuarioResponsavel.getId()); consultarRegistroAtendimentoPopupActionForm.setUsuarioResponsavel(usuarioResponsavel.getNomeUsuario()); } Date dataTramite = tramite.getDataTramite(); consultarRegistroAtendimentoPopupActionForm.setDataTramite(Util.formatarData(dataTramite)); consultarRegistroAtendimentoPopupActionForm.setHoraTramite(Util.formatarHoraSemSegundos(dataTramite)); consultarRegistroAtendimentoPopupActionForm.setParecerTramite(tramite.getParecerTramite()); } //Dados da Reitera��o //Caso o registro atendimento tenha sido reiterado, //exibir os dados da reitera��o // if(registroAtendimento.getQuantidadeReiteracao() != null){ // // Date dataUltimaReiteracao = registroAtendimento.getUltimaReiteracao(); // // consultarRegistroAtendimentoPopupActionForm.setQuantidade(""+registroAtendimento.getQuantidadeReiteracao()); // consultarRegistroAtendimentoPopupActionForm.setDataUltimaReiteracao(Util.formatarData(dataUltimaReiteracao)); // consultarRegistroAtendimentoPopupActionForm.setHoraUltimaReiteracao(Util.formatarHoraSemSegundos(dataUltimaReiteracao)); // // } obterDadosReiteracaoRa(consultarRegistroAtendimentoPopupActionForm.getNumeroRA(), fachada, sessao); //Dados da Reativa��o //Caso o registro atendimento tenha sido reativado //exibir os dados da reativa��o Short codigoAssociado = obterRAAssociadoHelper.getCodigoExistenciaRAAssociado(); RegistroAtendimento registroAtendimentoAssociado = obterRAAssociadoHelper.getRegistroAtendimentoAssociado(); //Caso de Uso [UC0420] ObterDescricaoSituacaoRAHelper situacaoRAAssociado = null; if(registroAtendimentoAssociado != null){ situacaoRAAssociado = fachada.obterDescricaoSituacaoRA(registroAtendimentoAssociado.getId()); } if(codigoAssociado == RegistroAtendimento.CODIGO_ASSOCIADO_RA_ATUAL && registroAtendimentoAssociado != null){ consultarRegistroAtendimentoPopupActionForm.setNumeroRaAtual(""+registroAtendimentoAssociado.getId()); consultarRegistroAtendimentoPopupActionForm.setSituacaoRaAtual(situacaoRAAssociado.getDescricaoSituacao()); RaMotivoReativacao raMotivoReativacao = registroAtendimentoAssociado.getRaMotivoReativacao(); if(raMotivoReativacao!= null){ consultarRegistroAtendimentoPopupActionForm.setIdMotivoReativacao(""+raMotivoReativacao.getId()); consultarRegistroAtendimentoPopupActionForm.setMotivoReativacao(raMotivoReativacao.getDescricao()); } Date dataRegistro = registroAtendimentoAssociado.getRegistroAtendimento(); Date dataPrevista = registroAtendimentoAssociado.getDataPrevistaAtual(); consultarRegistroAtendimentoPopupActionForm.setDataReativacao(Util.formatarData(dataRegistro)); consultarRegistroAtendimentoPopupActionForm.setHoraReativacao(Util.formatarHoraSemSegundos(dataRegistro)); consultarRegistroAtendimentoPopupActionForm.setDataPrevistaRaAtual(Util.formatarData(dataPrevista)); String parecerEncerramento = registroAtendimentoAssociado.getParecerEncerramento(); consultarRegistroAtendimentoPopupActionForm.setParecerEncerramento(parecerEncerramento); //Caso de Uso [UC0421] UnidadeOrganizacional unidadeReativacao = fachada.obterUnidadeAtendimentoRA(registroAtendimentoAssociado.getId()); if(unidadeReativacao != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeReativacao(""+unidadeReativacao.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeReativacao(unidadeReativacao.getDescricao()); } //Caso de Uso [UC0418] UnidadeOrganizacional unidadeRAAtual = fachada.obterUnidadeAtualRA(registroAtendimentoAssociado.getId()); if(unidadeRAAtual != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeRaAtual(""+unidadeRAAtual.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeRaAtual(unidadeRAAtual.getDescricao()); } consultarRegistroAtendimentoPopupActionForm.setObservacaoReativacao(registroAtendimentoAssociado.getObservacao()); } //Dados do encerramento //Caso o registro atendimento seja encerrado, //exibir os dados do encerramento AtendimentoMotivoEncerramento atendimentoMotivoEncerramento = registroAtendimento.getAtendimentoMotivoEncerramento(); if(atendimentoMotivoEncerramento != null){ consultarRegistroAtendimentoPopupActionForm.setIdMotivoEncerramento(""+atendimentoMotivoEncerramento.getId()); consultarRegistroAtendimentoPopupActionForm.setMotivoEncerramento(atendimentoMotivoEncerramento.getDescricao()); if(codigoAssociado == RegistroAtendimento.CODIGO_ASSOCIADO_RA_REFERENCIA && registroAtendimentoAssociado != null){ consultarRegistroAtendimentoPopupActionForm.setNumeroRaReferencia(""+registroAtendimentoAssociado.getId()); //Caso de Uso [UC0420] consultarRegistroAtendimentoPopupActionForm.setSituacaoRaReferencia(situacaoRAAssociado.getDescricaoSituacao()); } //Caso de Uso [UC0434] UnidadeOrganizacional unidadeEncerramento = fachada.obterUnidadeEncerramentoRA(registroAtendimento.getId()); if(unidadeEncerramento != null){ consultarRegistroAtendimentoPopupActionForm.setIdUnidadeEncerramento(""+unidadeEncerramento.getId()); consultarRegistroAtendimentoPopupActionForm.setUnidadeEncerramento(unidadeEncerramento.getDescricao()); RegistroAtendimentoUnidade registroAtendimentoUnidade = this.consultarRegistroAtendimentoUnidadeEncerramento(registroAtendimento.getId(),unidadeEncerramento.getId()); Usuario usuario = registroAtendimentoUnidade.getUsuario(); if(usuario != null){ consultarRegistroAtendimentoPopupActionForm.setIdUsuarioEncerramento(""+usuario.getId()); consultarRegistroAtendimentoPopupActionForm.setUsuarioEncerramento(usuario.getNomeUsuario()); } } Date dataEncerramento = registroAtendimento.getDataEncerramento(); consultarRegistroAtendimentoPopupActionForm.setDataEncerramento(Util.formatarData(dataEncerramento)); consultarRegistroAtendimentoPopupActionForm.setHoraEncerramento(Util.formatarHoraSemSegundos(dataEncerramento)); consultarRegistroAtendimentoPopupActionForm.setDataPrevistaEncerramento( Util.formatarData(registroAtendimento.getDataPrevistaAtual())); consultarRegistroAtendimentoPopupActionForm.setParecerEncerramento(registroAtendimento.getParecerEncerramento()); } // Dados das OS associadas Collection colecaoDadosOSassociadas; colecaoDadosOSassociadas = this.getFachada().pesquisarOrdensServicosAssociados(registroAtendimento.getId()); if(colecaoDadosOSassociadas != null && !colecaoDadosOSassociadas.isEmpty()){ httpServletRequest.setAttribute("colecaoDadosOSassociadas", colecaoDadosOSassociadas); } // Dados das Contas relacionados // Mariana Victor em 31/01/2011 FiltroRegistroAtendimentoConta filtroRegistroAtendimentoConta = new FiltroRegistroAtendimentoConta(); filtroRegistroAtendimentoConta.adicionarCaminhoParaCarregamentoEntidade( FiltroRegistroAtendimentoConta.CONTA); filtroRegistroAtendimentoConta.adicionarCaminhoParaCarregamentoEntidade( FiltroRegistroAtendimentoConta.REGISTRO_ATENDIMENTO); filtroRegistroAtendimentoConta.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoConta.REGISTRO_ATENDIMENTO_ID, registroAtendimento.getId())); Collection colecaoRAContas = fachada.pesquisar( filtroRegistroAtendimentoConta, RegistroAtendimentoConta.class.getName()); if (colecaoRAContas != null && !colecaoRAContas.isEmpty()) { sessao.setAttribute("colecaoRAContas", colecaoRAContas); } else { sessao.removeAttribute("colecaoRAContas"); } //Colocado especialmente para trabalhar com o retorno da pesquisa de OS - Raphael Rossiter em 13/02/2007 String caminhoTelaPesquisaRetorno = httpServletRequest.getParameter("caminhoTelaPesquisaRetorno"); if (caminhoTelaPesquisaRetorno != null && !caminhoTelaPesquisaRetorno.equals("")){ httpServletRequest.setAttribute("caminhoTelaPesquisaRetorno", caminhoTelaPesquisaRetorno); } // Pagamentos Duplicidade FiltroRegistroAtendimentoPagamentoDuplicidade filtroRegistroAtendimentoPagamentoDuplicidade = new FiltroRegistroAtendimentoPagamentoDuplicidade(); filtroRegistroAtendimentoPagamentoDuplicidade.adicionarParametro( new ParametroSimples( FiltroRegistroAtendimentoPagamentoDuplicidade.REGISTRO_ATENDIMENTO_ID, registroAtendimento.getId())); Collection<RegistroAtendimentoPagamentoDuplicidade> colecaoRAPagamentoDuplicidade = this.getFachada().pesquisar(filtroRegistroAtendimentoPagamentoDuplicidade, RegistroAtendimentoPagamentoDuplicidade.class.getName()); if (colecaoRAPagamentoDuplicidade != null && !colecaoRAPagamentoDuplicidade.isEmpty()){ sessao.setAttribute("colecaoRAPagamentoDuplicidade", colecaoRAPagamentoDuplicidade); } else { sessao.removeAttribute("colecaoRAPagamentoDuplicidade"); } return retorno; } /** * Consulta o registro atendimento solicitante pelo id do registro atendimento * * @author Rafael Pinto * @created 09/08/2006 */ private RegistroAtendimentoSolicitante consultarRegistroAtendimentoSolicitante(Integer idRegistroAtendimento){ RegistroAtendimentoSolicitante retorno = null; Fachada fachada = Fachada.getInstancia(); Collection colecaoRegistroAtendimento = null; FiltroRegistroAtendimentoSolicitante filtroRegistroAtendimento = new FiltroRegistroAtendimentoSolicitante(); filtroRegistroAtendimento.adicionarParametro(new ParametroSimples( FiltroRegistroAtendimentoSolicitante.REGISTRO_ATENDIMENTO_ID,idRegistroAtendimento)); filtroRegistroAtendimento.adicionarParametro(new ParametroSimples( FiltroRegistroAtendimentoSolicitante.INDICADOR_SOLICITANTE_PRINCIPAL, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroRegistroAtendimento.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroRegistroAtendimento.adicionarCaminhoParaCarregamentoEntidade("unidadeOrganizacional"); filtroRegistroAtendimento.adicionarCaminhoParaCarregamentoEntidade("funcionario"); colecaoRegistroAtendimento = fachada.pesquisar(filtroRegistroAtendimento, RegistroAtendimentoSolicitante.class.getName()); if (colecaoRegistroAtendimento != null && !colecaoRegistroAtendimento.isEmpty()) { retorno = (RegistroAtendimentoSolicitante) Util.retonarObjetoDeColecao(colecaoRegistroAtendimento); } return retorno; } /** * Consulta o solicitante fone pelo id do registro atendimentoSolicitante * * @author Rafael Pinto * @created 09/08/2006 */ private SolicitanteFone consultarSolicitanteFone(Integer idRegistroAtendimentoSolicitante){ SolicitanteFone retorno = null; Fachada fachada = Fachada.getInstancia(); Collection colecaoSolicitanteFone = null; FiltroSolicitanteFone filtroSolicitanteFone = new FiltroSolicitanteFone(); filtroSolicitanteFone.adicionarParametro( new ParametroSimples(FiltroSolicitanteFone.REGISTRO_ATENDIMENTO_SOLICITANTE_ID, idRegistroAtendimentoSolicitante)); colecaoSolicitanteFone = fachada.pesquisar(filtroSolicitanteFone, SolicitanteFone.class.getName()); if (colecaoSolicitanteFone != null && !colecaoSolicitanteFone.isEmpty()) { retorno = (SolicitanteFone) Util.retonarObjetoDeColecao(colecaoSolicitanteFone); } return retorno; } /** * Consulta o Registro Atendimento Unidade pelo id da RA * * @author Rafael Pinto * @created 09/08/2006 */ private RegistroAtendimentoUnidade consultarRegistroAtendimentoUnidade(Integer idRA,Integer idUnidade){ RegistroAtendimentoUnidade retorno = null; Fachada fachada = Fachada.getInstancia(); Collection colecaoRegistroAtendimentoUnidade = null; FiltroRegistroAtendimentoUnidade filtroRegistroAtendimentoUnidade = new FiltroRegistroAtendimentoUnidade(); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.REGISTRO_ATENDIMENTO_ID,idRA)); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.UNIDADE_ORGANIZACIONAL_ID,idUnidade)); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.ATENDIMENTO_RELACAO_TIPO,AtendimentoRelacaoTipo.ABRIR_REGISTRAR)); filtroRegistroAtendimentoUnidade.adicionarCaminhoParaCarregamentoEntidade("usuario"); colecaoRegistroAtendimentoUnidade = fachada.pesquisar(filtroRegistroAtendimentoUnidade,RegistroAtendimentoUnidade.class.getName()); if (colecaoRegistroAtendimentoUnidade != null && !colecaoRegistroAtendimentoUnidade.isEmpty()) { retorno = (RegistroAtendimentoUnidade) Util.retonarObjetoDeColecao(colecaoRegistroAtendimentoUnidade); } return retorno; } /** * Removendo um arquivo da cole��o * * @author Raphael Rossiter * @date 30/07/2009 * * @param String * @param HttpSession */ private RegistroAtendimentoAnexo obterArquivoParaVisualizacao(String identificacao, Collection colecaoRegistroAtendimentoAnexo){ RegistroAtendimentoAnexo registroAtendimentoAnexo = null; if (identificacao != null && !identificacao.equals("")){ Iterator it = colecaoRegistroAtendimentoAnexo.iterator(); RegistroAtendimentoAnexo anexoColecao = null; while (it.hasNext()){ anexoColecao = (RegistroAtendimentoAnexo) it.next(); if (obterTimestampIdObjeto(anexoColecao) == Long.parseLong(identificacao)){ registroAtendimentoAnexo = anexoColecao; break; } } } return registroAtendimentoAnexo; } /** * Consulta o Registro Atendimento Unidade pelo id da RA * * @author R�mulo Aur�lio * @created 11/12/2009 */ private RegistroAtendimentoUnidade consultarRegistroAtendimentoUnidadeEncerramento(Integer idRA,Integer idUnidade){ RegistroAtendimentoUnidade retorno = null; Fachada fachada = Fachada.getInstancia(); Collection colecaoRegistroAtendimentoUnidade = null; FiltroRegistroAtendimentoUnidade filtroRegistroAtendimentoUnidade = new FiltroRegistroAtendimentoUnidade(); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.REGISTRO_ATENDIMENTO_ID,idRA)); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.UNIDADE_ORGANIZACIONAL_ID,idUnidade)); filtroRegistroAtendimentoUnidade.adicionarParametro( new ParametroSimples(FiltroRegistroAtendimentoUnidade.ATENDIMENTO_RELACAO_TIPO, AtendimentoRelacaoTipo.ENCERRAR)); filtroRegistroAtendimentoUnidade.adicionarCaminhoParaCarregamentoEntidade("usuario"); colecaoRegistroAtendimentoUnidade = fachada.pesquisar(filtroRegistroAtendimentoUnidade,RegistroAtendimentoUnidade.class.getName()); if (colecaoRegistroAtendimentoUnidade != null && !colecaoRegistroAtendimentoUnidade.isEmpty()) { retorno = (RegistroAtendimentoUnidade) Util.retonarObjetoDeColecao(colecaoRegistroAtendimentoUnidade); } return retorno; } /** * @author Vivianne Sousa * @date 17/05/2011 */ private void obterDadosReiteracaoRa(String numeroRA, Fachada fachada,HttpSession sessao) { sessao.removeAttribute("colecaoDadosReiteracao"); if(numeroRA != null && !numeroRA.equals("")){ Collection colecaoDadosReiteracao = fachada.pesquisarDadosReiteracaoRA( new Integer(numeroRA)); if(colecaoDadosReiteracao != null && !colecaoDadosReiteracao.isEmpty()){ sessao.setAttribute("colecaoDadosReiteracao",colecaoDadosReiteracao); } } } }