package gcom.gui.atendimentopublico.registroatendimento;
import gcom.atendimentopublico.registroatendimento.FiltroSolicitacaoTipoEspecificacao;
import gcom.atendimentopublico.registroatendimento.SolicitacaoTipoEspecificacao;
import gcom.atendimentopublico.registroatendimento.bean.ExibirRAFaltaAguaImovelHelper;
import gcom.atendimentopublico.registroatendimento.bean.RAFaltaAguaPendenteHelper;
import gcom.cadastro.geografico.BairroArea;
import gcom.cadastro.geografico.FiltroBairroArea;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import java.util.Collection;
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;
/**
* Esta classe tem por finalidade exibir para o usu�rio a tela com os registros
* de atendimento de falta de �gua no im�vel da mesma �rea do bairro (Aba n� 02 -
* Dados do local de ocorr�ncia)
*
* @author S�vio Luiz
* @date 17/07/2006
*/
public class PesquisarRegistrosAtendimentoFaltaAguaImovelLocalOcorrenciaAction
extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("pesquisarRAsFaltaAguaOcorrencia");
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
//PesquisarRegistrosAtendimentoFaltaAguaImovelLocalOcorrenciaActionForm form =
//(PesquisarRegistrosAtendimentoFaltaAguaImovelLocalOcorrenciaActionForm) actionForm;
Integer idRegistroAtendimento = Util.converterStringParaInteger(httpServletRequest.getParameter("idRA"));
Integer idBairroArea = Util.converterStringParaInteger(httpServletRequest.getParameter("idBairroArea"));
Integer idEspecificacao = Util.converterStringParaInteger(httpServletRequest.getParameter("idEspecificacao"));
RAFaltaAguaPendenteHelper rAFaltaAguaPendenteHelper = fachada
.carregarObjetoRAFaltaAguaPendente(idRegistroAtendimento,
idBairroArea, idEspecificacao);
//Caso a chamada tenha sido feita pelo [UC0366] - Inserir Registro de Atendimento
if (idRegistroAtendimento == null){
//SolicitacaoTipo e SolicitacaoTipoEspecificacao
FiltroSolicitacaoTipoEspecificacao filtroSolicitacaoTipoEspecificacao = new
FiltroSolicitacaoTipoEspecificacao();
filtroSolicitacaoTipoEspecificacao.adicionarCaminhoParaCarregamentoEntidade("solicitacaoTipo");
filtroSolicitacaoTipoEspecificacao.adicionarParametro(new ParametroSimples(
FiltroSolicitacaoTipoEspecificacao.ID, idEspecificacao));
Collection colecaoEspecificacao = fachada.pesquisar(filtroSolicitacaoTipoEspecificacao,
SolicitacaoTipoEspecificacao.class.getName());
SolicitacaoTipoEspecificacao especificacao = (SolicitacaoTipoEspecificacao)
Util.retonarObjetoDeColecao(colecaoEspecificacao);
rAFaltaAguaPendenteHelper.setIdSolicitacaoTipo(especificacao.getSolicitacaoTipo().getId());
rAFaltaAguaPendenteHelper.setDescricaoSolicitacaoTipo(especificacao.getSolicitacaoTipo().getDescricao());
rAFaltaAguaPendenteHelper.setIdSolicitacaoTipoEspecificacao(especificacao.getId());
rAFaltaAguaPendenteHelper.setDescricaoSolicitacaoTipoEspecificacao(especificacao.getDescricao());
//Bairro e BairroArea
FiltroBairroArea filtroBairroArea = new FiltroBairroArea();
filtroBairroArea.adicionarCaminhoParaCarregamentoEntidade("bairro");
filtroBairroArea.adicionarParametro(new ParametroSimples(
FiltroBairroArea.ID, idBairroArea));
Collection colecaoBairroArea = fachada.pesquisar(filtroBairroArea,
BairroArea.class.getName());
BairroArea bairroArea = (BairroArea) Util.retonarObjetoDeColecao(colecaoBairroArea);
rAFaltaAguaPendenteHelper.setCodigoBairro(bairroArea.getBairro().getCodigo());
rAFaltaAguaPendenteHelper.setNomeBairro(bairroArea.getBairro().getNome());
rAFaltaAguaPendenteHelper.setIdBairroArea(bairroArea.getId());
rAFaltaAguaPendenteHelper.setNomeBairroArea(bairroArea.getNome());
}
if (rAFaltaAguaPendenteHelper.getColecaoExibirRAFaltaAguaHelper() != null
&& !rAFaltaAguaPendenteHelper
.getColecaoExibirRAFaltaAguaHelper().isEmpty()) {
Iterator iter = rAFaltaAguaPendenteHelper
.getColecaoExibirRAFaltaAguaHelper().iterator();
while (iter.hasNext()) {
ExibirRAFaltaAguaImovelHelper exibirRAFaltaAguaImovelHelper = (ExibirRAFaltaAguaImovelHelper) iter
.next();
String enderecoOcorrencia = fachada
.obterEnderecoOcorrenciaRA(exibirRAFaltaAguaImovelHelper
.getIdRA());
exibirRAFaltaAguaImovelHelper
.setEnderecoOcorrencia(enderecoOcorrencia);
}
}
sessao.setAttribute("rAFaltaAguaPendenteHelper",
rAFaltaAguaPendenteHelper);
return retorno;
}
}