package gcom.gui.cadastro;
import gcom.cadastro.localidade.FiltroLocalidade;
import gcom.cadastro.localidade.FiltroSetorComercial;
import gcom.cadastro.localidade.Localidade;
import gcom.cadastro.localidade.SetorComercial;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import java.util.Collection;
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;
/**
* [UC1162] AUTORIZAR ALTERACAO INSCRICAO IMOVEL
*
* @author Rodrigo Cabral
* @date 04/04/2011
*/
public class ExibirFiltrarAlteracaoInscricaoImovelAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping.findForward("filtrarAlteracaoInscricaoImovel");
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
FiltrarAlteracaoInscricaoImovelActionForm form = (FiltrarAlteracaoInscricaoImovelActionForm) actionForm;
String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta");
if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")) {
switch (Integer.parseInt(objetoConsulta)) {
// Localidade
case 1:
pesquisarLocalidade(form, fachada, httpServletRequest);
break;
// Setor Comercial
case 2:
pesquisarLocalidade(form, fachada, httpServletRequest);
pesquisarSetorComercial(form, fachada, httpServletRequest);
break;
default:
break;
}
} else {
sessao.removeAttribute("form");
}
return retorno;
}
private void pesquisarLocalidade(
FiltrarAlteracaoInscricaoImovelActionForm form,
Fachada fachada,
HttpServletRequest httpServletRequest) {
FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
// Recebe o valor do campo localidadeOrigemID do formul�rio.
String idLocalidade = (String) form.getIdLocalidade();
filtroLocalidade.adicionarParametro(new ParametroSimples(
FiltroLocalidade.ID, idLocalidade));
filtroLocalidade.adicionarParametro(new ParametroSimples(
FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO));
// Retorna localidade
Collection colecaoPesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
// Localidade nao encontrada
// Limpa os campos localidadeOrigemID e nomeLocalidadeOrigem do
// formul�rio
form.setIdLocalidade("");
form.setDesLocalidade("Localidade inexistente");
httpServletRequest.setAttribute("corLocalidadeOrigem", "exception");
httpServletRequest.setAttribute("nomeCampo","idLocalidade");
} else {
Localidade objetoLocalidade = (Localidade) Util.retonarObjetoDeColecao(colecaoPesquisa);
form.setIdLocalidade(String.valueOf(objetoLocalidade.getId()));
form.setDesLocalidade(objetoLocalidade.getDescricao());
httpServletRequest.setAttribute("corLocalidadeOrigem", "valor");
httpServletRequest.setAttribute("nomeCampo","idLocalidade");
}
}
private void pesquisarSetorComercial(
FiltrarAlteracaoInscricaoImovelActionForm form,
Fachada fachada,
HttpServletRequest httpServletRequest) {
FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial();
// Recebe o valor do campo localidadeOrigemID do formul�rio.
String idLocalidade = (String) form.getIdLocalidade();
// O campo idLocalidade ser� obrigat�rio
if (idLocalidade != null && !idLocalidade.trim().equalsIgnoreCase("")) {
String codigoSetorComercial = (String) form.getCodigoSetorComercial();
// Adiciona o id da localidade que est� no formul�rio para
// compor a pesquisa.
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.ID_LOCALIDADE, idLocalidade));
// Adiciona o c�digo do setor comercial que esta no formul�rio
// para compor a pesquisa.
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, codigoSetorComercial));
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO));
// Retorna setorComercial
Collection colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
// Setor Comercial nao encontrado
// Limpa os campos setorComercialOrigemCD,
// nomeSetorComercialOrigem e setorComercialOrigemID do
// formul�rio
form.setCodigoSetorComercial("");
form.setIdSetorComercial("");
form.setDesSetorComercial("Setor comercial inexistente.");
httpServletRequest.setAttribute("corSetorComercialOrigem", "exception");
httpServletRequest.setAttribute("nomeCampo","codigoSetorComercial");
} else {
SetorComercial objetoSetorComercial = (SetorComercial) Util
.retonarObjetoDeColecao(colecaoPesquisa);
//setorComercialOrigem
form.setCodigoSetorComercial(
String.valueOf(objetoSetorComercial.getCodigo()));
form.setIdSetorComercial(
String.valueOf(objetoSetorComercial.getId()));
form.setDesSetorComercial(
objetoSetorComercial.getDescricao());
}
} else {
// Limpa o campo codigoSetorComercial do formul�rio
form.setCodigoSetorComercial("");
form.setDesSetorComercial(
"Informe a localidade da inscri��o de origem.");
httpServletRequest.setAttribute("corSetorComercialOrigem", "exception");
}
}
}