package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.registroatendimento.AgenciaReguladoraMotReclamacao; import gcom.atendimentopublico.registroatendimento.AtendimentoMotivoEncerramento; import gcom.atendimentopublico.registroatendimento.FiltroAgenciaReguladoraMotReclamacao; import gcom.atendimentopublico.registroatendimento.RegistroAtendimento; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoSolicitante; import gcom.atendimentopublico.registroatendimento.SolicitacaoTipoEspecificacao; import gcom.atendimentopublico.registroatendimento.bean.ObterDadosRegistroAtendimentoHelper; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.geografico.BairroArea; import gcom.cadastro.imovel.Imovel; 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.GcomAction; import gcom.operacional.DivisaoEsgoto; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0459] Informar Dados da Agencia Reguladora * * @author K�ssia Albuquerque * @date 27/03/2007 */ public class ExibirInformarRaDadosAgenciaReguladoraAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("informarRaDadosAgenciaReguladora"); InformarRaDadosAgenciaReguladoraActionForm form = (InformarRaDadosAgenciaReguladoraActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); httpServletRequest.setAttribute("nomeCampo", "numeroRA"); if (httpServletRequest.getParameter("pesquisarRa") != null) { Integer idRegistroAtendimento = new Integer(form.getNumeroRA()); ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper = fachada.obterDadosRegistroAtendimento(idRegistroAtendimento); // Dados Gerais do Registro de Atendimento setDadosRA(form, registroAtendimentoHelper); setDadosSolicitante(form, registroAtendimentoHelper); setDadosEnderecoOcorrencia(form, registroAtendimentoHelper); setUnidades(form, registroAtendimentoHelper); // Data Prevista p Ag. Reg. Original Integer prazoDias = fachada.procurarDiasPazo(new Integer(form.getNumeroRA())); Date dataOrigem = Util.adicionarNumeroDiasDeUmaData(new Date(), prazoDias); form.setDataPrevisaoOriginal(Util.formatarData(dataOrigem)); } else { form.reset(actionMapping, httpServletRequest); } // DADOS DA RECLAMA��O FiltroAgenciaReguladoraMotReclamacao filtroAgenciaReguladoraMotReclamacao = new FiltroAgenciaReguladoraMotReclamacao(); filtroAgenciaReguladoraMotReclamacao.adicionarParametro(new ParametroSimples(FiltroAgenciaReguladoraMotReclamacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoMotivoReclamacao = fachada.pesquisar(filtroAgenciaReguladoraMotReclamacao,AgenciaReguladoraMotReclamacao.class.getName()); httpServletRequest.setAttribute("colecaoMotivoReclamacao",colecaoMotivoReclamacao); return retorno; } /** * Carrega Unidades (Atendimento e Atual) * * @param form * @param registroAtendimentoHelper */ private void setUnidades(InformarRaDadosAgenciaReguladoraActionForm form, ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper) { UnidadeOrganizacional unidadeAtendimento = registroAtendimentoHelper.getUnidadeAtendimento(); if (unidadeAtendimento != null) { form.setUnidadeAtendimentoId("" + unidadeAtendimento.getId()); form.setUnidadeAtendimentoDescricao(unidadeAtendimento.getDescricao()); } UnidadeOrganizacional unidadeAtual = registroAtendimentoHelper.getUnidadeAtual(); if (unidadeAtual != null) { form.setUnidadeAtualId("" + unidadeAtual.getId()); form.setUnidadeAtualDescricao(unidadeAtual.getDescricao()); } } /** * Carrega Dados do RA * * @param form * @param registroAtendimentoHelper */ private void setDadosRA(InformarRaDadosAgenciaReguladoraActionForm form, ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper) { RegistroAtendimento registroAtendimento = registroAtendimentoHelper.getRegistroAtendimento(); // Dados Gerais do Registro de Atendimento form.setNumeroRADados("" + registroAtendimento.getId()); form.setSituacaoRA(registroAtendimentoHelper.getDescricaoSituacaoRA()); form.setNumeroSituacaoRA(""+registroAtendimentoHelper.getRegistroAtendimento().getCodigoSituacao()); if (registroAtendimentoHelper.getRAAssociado() != null) { form.setNumeroRaAssociado(""+ registroAtendimentoHelper.getRAAssociado().getId()); form.setSituacaoRaAssociado(registroAtendimentoHelper.getDescricaoSituacaoRAAssociado()); } SolicitacaoTipoEspecificacao solicitacaoTipoEspecificacao = registroAtendimento.getSolicitacaoTipoEspecificacao(); if (solicitacaoTipoEspecificacao != null) { if (solicitacaoTipoEspecificacao.getSolicitacaoTipo() != null) { form.setTipoSolicitacaoId(solicitacaoTipoEspecificacao.getSolicitacaoTipo().getId()+ ""); form.setTipoSolicitacaoDescricao(solicitacaoTipoEspecificacao.getSolicitacaoTipo().getDescricao()); } form.setEspecificacaoId(solicitacaoTipoEspecificacao.getId() + ""); form.setEspecificacaoDescricao(solicitacaoTipoEspecificacao.getDescricao()); } if (registroAtendimento.getMeioSolicitacao() != null) { form.setMeioSolicitacaoId(registroAtendimento.getMeioSolicitacao().getId()+ ""); form.setMeioSolicitacaoDescricao(registroAtendimento.getMeioSolicitacao().getDescricao()); } // Imovel Imovel imovel = registroAtendimento.getImovel(); if (imovel != null) { form.setMatriculaImovel("" + imovel.getId()); form.setInscricaoImovel(imovel.getInscricaoFormatada()); } Date dataAtendimento = registroAtendimento.getRegistroAtendimento(); form.setDataAtendimento(Util.formatarData(dataAtendimento)); form.setHoraAtendimento(Util.formatarHoraSemData(dataAtendimento)); form.setDataPrevista(Util.formatarData(registroAtendimento.getDataPrevistaAtual())); // Encerramento setDadosEncerramento(form, registroAtendimento); // Dados necess�rio p/ inserir o novo RA if (registroAtendimento.getLogradouroBairro() != null) { form.setLogradouroBairro(registroAtendimento.getLogradouroBairro().getId()); } if (registroAtendimento.getLogradouroCep() != null) { form.setLogradouroCep(registroAtendimento.getLogradouroCep().getId()); } form.setComplementoEndereco(registroAtendimento.getComplementoEndereco()); if (registroAtendimento.getLocalOcorrencia() != null) { form.setLocalOcorrencia(registroAtendimento.getLocalOcorrencia().getId()); } if (registroAtendimento.getPavimentoRua() != null) { form.setPavimentoRua(registroAtendimento.getPavimentoRua().getId()); } if (registroAtendimento.getPavimentoCalcada() != null) { form.setPavimentoCalcada(registroAtendimento.getPavimentoCalcada().getId()); } form.setDescricaoLocalOcorrencia(registroAtendimento.getDescricaoLocalOcorrencia()); } /** * Carrega Dados do RA * * @param form * @param registroAtendimento */ private void setDadosEncerramento(InformarRaDadosAgenciaReguladoraActionForm form,RegistroAtendimento registroAtendimento) { AtendimentoMotivoEncerramento atendimentoMotivoEncerramento = registroAtendimento.getAtendimentoMotivoEncerramento(); if (atendimentoMotivoEncerramento != null) { form.setIdMotivoEncerramento(""+ atendimentoMotivoEncerramento.getId()); form.setMotivoEncerramento(atendimentoMotivoEncerramento.getDescricao()); Date dataEncerramento = registroAtendimento.getDataEncerramento(); form.setDataEncerramento(Util.formatarData(dataEncerramento)); } } /** * Carrega Dados do Solicitante * * @param form * @param registroAtendimentoHelper */ private void setDadosSolicitante(InformarRaDadosAgenciaReguladoraActionForm form,ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper) { // Dados do Solicitante RegistroAtendimentoSolicitante registroAtendimentoSolicitante = registroAtendimentoHelper.getSolicitante(); if (registroAtendimentoSolicitante != null) { form.setIdRaSolicitante(registroAtendimentoSolicitante.getID()); Cliente cliente = registroAtendimentoSolicitante.getCliente(); UnidadeOrganizacional unidadeSolicitante = registroAtendimentoSolicitante.getUnidadeOrganizacional(); // Caso o principal solicitante do registro de atendimento seja um // cliente // obter os dados do cliente if (cliente != null) { form.setIdClienteSolicitante("" + cliente.getId()); form.setClienteSolicitante(cliente.getNome()); // Caso o principal solicitante do registro de atendimento seja // uma unidade // obter os dados da unidade } else if (unidadeSolicitante != null) { form.setIdUnidadeSolicitante("" + unidadeSolicitante.getId()); form.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 { form.setNomeSolicitante(registroAtendimentoSolicitante.getSolicitante()); } } } /** * Carrega Dados do Endere�o de Ocorr�ncia * * @param form * @param registroAtendimentoHelper */ private void setDadosEnderecoOcorrencia(InformarRaDadosAgenciaReguladoraActionForm form,ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper) { String enderecoOcorrencia = registroAtendimentoHelper.getEnderecoOcorrencia(); form.setEnderecoOcorrencia(enderecoOcorrencia); form.setPontoReferencia(registroAtendimentoHelper.getRegistroAtendimento().getPontoReferencia()); // Caso o registro atendimento esteja associado a uma �rea de bairro, // obter os dados da �rea do bairro BairroArea bairroArea = registroAtendimentoHelper.getRegistroAtendimento().getBairroArea(); if (bairroArea != null) { form.setBairroId("" + bairroArea.getBairro().getId()); form.setBairroDescricao(bairroArea.getBairro().getNome()); form.setAreaBairroId("" + bairroArea.getId()); form.setAreaBairroDescricao(bairroArea.getNome()); } Localidade localidade = registroAtendimentoHelper.getRegistroAtendimento().getLocalidade(); if (localidade != null) { form.setLocalidadeId("" + localidade.getId()); form.setLocalidadeDescricao(localidade.getDescricao()); } SetorComercial setorComercial = registroAtendimentoHelper.getRegistroAtendimento().getSetorComercial(); if (setorComercial != null) { form.setSetorComercialId("" + setorComercial.getId()); form.setSetorComercialCodigo("" + setorComercial.getCodigo()); } Quadra quadra = registroAtendimentoHelper.getRegistroAtendimento().getQuadra(); if (quadra != null) { form.setQuadraId("" + quadra.getId()); form.setQuadraNumero("" + quadra.getNumeroQuadra()); } DivisaoEsgoto divisaoEsgoto = registroAtendimentoHelper.getRegistroAtendimento().getDivisaoEsgoto(); if (divisaoEsgoto != null) { form.setDivisaoEsgotoId("" + divisaoEsgoto.getId()); form.setDivisaoEsgotoDescricao(divisaoEsgoto.getDescricao()); } } }