package gcom.gui.atendimentopublico.registroatendimento; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimento; import gcom.atendimentopublico.registroatendimento.RegistroAtendimento; import gcom.atendimentopublico.registroatendimento.SolicitacaoTipoEspecificacao; import gcom.atendimentopublico.registroatendimento.Tramite; import gcom.atendimentopublico.registroatendimento.bean.ObterDescricaoSituacaoRAHelper; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Action que define o pr�-processamento da p�gina de consulta de tramites do ra. * * @author Leonardo Regis * @created 11/08/2006 */ public class ExibirConsultarRegistroAtendimentoTramiteAction extends GcomAction { /** * Excute do Exibir Consultar RA Tramites do Popup * * @author Leonardo Regis * @date 11/08/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return forward */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("consultarRegistroAtendimentoTramite"); Fachada fachada = Fachada.getInstancia(); ConsultarRegistroAtendimentoTramiteActionForm consultarRegistroAtendimentoTramite = (ConsultarRegistroAtendimentoTramiteActionForm) actionForm; RegistroAtendimento registroAtendimento = pesquisarRegistroAtendimento(new Integer(consultarRegistroAtendimentoTramite.getNumeroRA())); consultarRegistroAtendimentoTramite.setNumeroRA(""+registroAtendimento.getId()); ObterDescricaoSituacaoRAHelper situacaoRA = fachada.obterDescricaoSituacaoRA(registroAtendimento.getId()); consultarRegistroAtendimentoTramite.setSituacaoRA(situacaoRA.getDescricaoSituacao()); SolicitacaoTipoEspecificacao solicitacaoTipoEspecificacao = registroAtendimento.getSolicitacaoTipoEspecificacao(); if(solicitacaoTipoEspecificacao != null){ if(solicitacaoTipoEspecificacao.getSolicitacaoTipo() != null){ consultarRegistroAtendimentoTramite.setIdTipoSolicitacao(solicitacaoTipoEspecificacao.getSolicitacaoTipo().getId()+""); consultarRegistroAtendimentoTramite.setTipoSolicitacao(solicitacaoTipoEspecificacao.getSolicitacaoTipo().getDescricao()); } consultarRegistroAtendimentoTramite.setIdEspecificacao(solicitacaoTipoEspecificacao.getId()+""); consultarRegistroAtendimentoTramite.setEspecificacao(solicitacaoTipoEspecificacao.getDescricao()); } UnidadeOrganizacional unidadeAtual = fachada.obterUnidadeAtualRA(registroAtendimento.getId()); if(unidadeAtual != null){ consultarRegistroAtendimentoTramite.setIdUnidadeAtual(""+unidadeAtual.getId()); consultarRegistroAtendimentoTramite.setUnidadeAtual(unidadeAtual.getDescricao()); } UnidadeOrganizacional unidadeAtendimento = fachada.obterUnidadeAtendimentoRA(registroAtendimento.getId()); if(unidadeAtendimento != null){ consultarRegistroAtendimentoTramite.setIdUnidadeAtendimento(""+unidadeAtendimento.getId()); consultarRegistroAtendimentoTramite.setUnidadeAtendimento(unidadeAtendimento.getDescricao()); } //Tr�mites do RA Collection<Tramite> colecaoTramite = fachada.obterTramitesRA(registroAtendimento.getId()); if(colecaoTramite != null && !colecaoTramite.isEmpty()) { consultarRegistroAtendimentoTramite.setColecaoTramites(colecaoTramite); } else { throw new ActionServletException("atencao.colsutar_tramites_consulta_vazia"); } return retorno; } /** * Consulta o registro atendimento pelo id informado * * @author Leonardo Regis * @created 11/08/2006 */ private RegistroAtendimento pesquisarRegistroAtendimento(Integer id){ RegistroAtendimento retorno = null; Fachada fachada = Fachada.getInstancia(); Collection colecaoRegistroAtendimento = null; FiltroRegistroAtendimento filtroRegistroAtendimento = new FiltroRegistroAtendimento(); filtroRegistroAtendimento.adicionarParametro(new ParametroSimples( FiltroRegistroAtendimento.ID,id)); filtroRegistroAtendimento.adicionarCaminhoParaCarregamentoEntidade("solicitacaoTipoEspecificacao"); filtroRegistroAtendimento.adicionarCaminhoParaCarregamentoEntidade("solicitacaoTipoEspecificacao.solicitacaoTipo"); colecaoRegistroAtendimento = fachada.pesquisar(filtroRegistroAtendimento, RegistroAtendimento.class.getName()); if (colecaoRegistroAtendimento != null && !colecaoRegistroAtendimento.isEmpty()) { retorno = (RegistroAtendimento) Util.retonarObjetoDeColecao(colecaoRegistroAtendimento); } else { throw new ActionServletException("atencao.naocadastrado",null, "Registro Atendimento"); } return retorno; } }