package gcom.gui.cadastro.imovel;
import gcom.cadastro.localidade.FiltroLocalidade;
import gcom.cadastro.localidade.FiltroQuadra;
import gcom.cadastro.localidade.FiltroSetorComercial;
import gcom.cadastro.localidade.Localidade;
import gcom.cadastro.localidade.Quadra;
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;
import org.apache.struts.validator.DynaValidatorForm;
public class ExibirAlterarImovelInscricaoAction extends GcomAction {
private Collection colecaoPesquisa = null;
private String localidadeIDOrigem = null;
private String localidadeIDDestino = null;
private String setorComercialCDOrigem = null;
private String setorComercialCDDestino = null;
private String setorComercialIDOrigem = null;
private String setorComercialIDDestino = null;
private String quadraNMOrigem = null;
private String quadraNMDestino = null;
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Seta o retorno
ActionForward retorno = actionMapping
.findForward("exibirAlterarImovelInscricao");
//Obt�m a inst�ncia da fachada
Fachada fachada = Fachada.getInstancia();
//Obt�m a sess�o
HttpSession sessao = httpServletRequest.getSession(false);
DynaValidatorForm alterarImovelInscricaoActionForm = (DynaValidatorForm) sessao
.getAttribute("AlterarImovelInscricaoActionForm");
String objetoConsulta = (String) httpServletRequest
.getParameter("objetoConsulta");
String inscricaoTipo = (String) httpServletRequest
.getParameter("inscricaoTipo");
if (objetoConsulta != null
&& !objetoConsulta.trim().equalsIgnoreCase("")
&& inscricaoTipo != null
&& !inscricaoTipo.trim().equalsIgnoreCase("")) {
switch (Integer.parseInt(objetoConsulta)) {
//Localidade
case 1:
pesquisarLocalidade(inscricaoTipo,
alterarImovelInscricaoActionForm, fachada,
httpServletRequest);
break;
// Setor Comercial
case 2:
pesquisarLocalidade(inscricaoTipo,
alterarImovelInscricaoActionForm, fachada,
httpServletRequest);
pesquisarSetorComercial(inscricaoTipo,
alterarImovelInscricaoActionForm, fachada,
httpServletRequest);
break;
// Quadra
case 3:
pesquisarLocalidade(inscricaoTipo,
alterarImovelInscricaoActionForm, fachada,
httpServletRequest);
pesquisarSetorComercial(inscricaoTipo,
alterarImovelInscricaoActionForm, fachada,
httpServletRequest);
pesquisarQuadra(inscricaoTipo,
alterarImovelInscricaoActionForm, fachada,
httpServletRequest);
break;
default:
break;
}
} else {
sessao.removeAttribute("AlterarImovelInscricaoActionForm");
}
//devolve o mapeamento de retorno
return retorno;
}
private void pesquisarLocalidade(String inscricaoTipo,
DynaValidatorForm alterarImovelInscricaoActionForm,
Fachada fachada, HttpServletRequest httpServletRequest) {
FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
//Recebe o valor do campo localidadeOrigemID do formul�rio.
localidadeIDOrigem = (String) alterarImovelInscricaoActionForm
.get("localidadeOrigemID");
filtroLocalidade.adicionarParametro(new ParametroSimples(
FiltroLocalidade.ID, localidadeIDOrigem));
filtroLocalidade.adicionarParametro(new ParametroSimples(
FiltroLocalidade.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
//Retorna localidade
colecaoPesquisa = fachada.pesquisar(filtroLocalidade,
Localidade.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty() && !localidadeIDOrigem.equalsIgnoreCase("")) {
//Localidade nao encontrada
//Limpa os campos localidadeOrigemID e nomeLocalidadeOrigem do
// formul�rio
if(alterarImovelInscricaoActionForm.get("localidadeOrigemID").equals(alterarImovelInscricaoActionForm.get("localidadeDestinoID")))
{
alterarImovelInscricaoActionForm.set("localidadeDestinoID", "");
}
alterarImovelInscricaoActionForm.set("localidadeOrigemID", "");
alterarImovelInscricaoActionForm.set("nomeLocalidadeOrigem",
"Localidade inexistente");
httpServletRequest.setAttribute("corLocalidadeOrigem",
"exception");
} else if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) {
Localidade objetoLocalidade = (Localidade) Util
.retonarObjetoDeColecao(colecaoPesquisa);
alterarImovelInscricaoActionForm.set("localidadeOrigemID",
String.valueOf(objetoLocalidade.getId()));
alterarImovelInscricaoActionForm.set("nomeLocalidadeOrigem",
objetoLocalidade.getDescricao());
if(alterarImovelInscricaoActionForm.get("localidadeDestinoID") == null || alterarImovelInscricaoActionForm.get("localidadeDestinoID").equals("") || alterarImovelInscricaoActionForm.get("localidadeOrigemID").equals(alterarImovelInscricaoActionForm.get("localidadeDestinoID")))
{
alterarImovelInscricaoActionForm.set("localidadeDestinoID",
String.valueOf(objetoLocalidade.getId()));
alterarImovelInscricaoActionForm.set("nomeLocalidadeDestino",
objetoLocalidade.getDescricao());
}
httpServletRequest.setAttribute("corLocalidadeOrigem", "valor");
httpServletRequest.setAttribute("nomeCampo", "setorComercialOrigemCD");
}
//Recebe o valor do campo localidadeDestinoID do formul�rio.
localidadeIDDestino = (String) alterarImovelInscricaoActionForm
.get("localidadeDestinoID");
//Limpa os parametros do filtro
filtroLocalidade.limparListaParametros();
filtroLocalidade.adicionarParametro(new ParametroSimples(
FiltroLocalidade.ID, localidadeIDDestino));
filtroLocalidade.adicionarParametro(new ParametroSimples(
FiltroLocalidade.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
//Retorna localidade
colecaoPesquisa = fachada.pesquisar(filtroLocalidade,
Localidade.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
//Localidade nao encontrada
//Limpa os campos localidadeDestinoID e nomeLocalidadeDestino
// do formul�rio
alterarImovelInscricaoActionForm.set("localidadeDestinoID", "");
alterarImovelInscricaoActionForm.set("nomeLocalidadeDestino",
"Localidade inexistente");
httpServletRequest.setAttribute("corLocalidadeDestino",
"exception");
httpServletRequest.setAttribute("nomeCampo", "localidadeDestinoID");
} else {
Localidade objetoLocalidade = (Localidade) Util
.retonarObjetoDeColecao(colecaoPesquisa);
alterarImovelInscricaoActionForm.set("localidadeDestinoID",
String.valueOf(objetoLocalidade.getId()));
alterarImovelInscricaoActionForm.set("nomeLocalidadeDestino",
objetoLocalidade.getDescricao());
httpServletRequest
.setAttribute("corLocalidadeDestino", "valor");
if(!alterarImovelInscricaoActionForm.get("setorComercialOrigemCD").equals(""))
{
httpServletRequest.setAttribute("nomeCampo", "setorComercialDestinoCD");
}
}
}
private void pesquisarSetorComercial(String inscricaoTipo,
DynaValidatorForm alterarImovelInscricaoActionForm,
Fachada fachada, HttpServletRequest httpServletRequest) {
FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial();
//Recebe o valor do campo localidadeOrigemID do formul�rio.
localidadeIDOrigem = (String) alterarImovelInscricaoActionForm
.get("localidadeOrigemID");
// O campo localidadeOrigemID ser� obrigat�rio
if (localidadeIDOrigem != null
&& !localidadeIDOrigem.trim().equalsIgnoreCase("")) {
setorComercialCDOrigem = (String) alterarImovelInscricaoActionForm
.get("setorComercialOrigemCD");
//Adiciona o id da localidade que est� no formul�rio para
// compor a pesquisa.
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.ID_LOCALIDADE, localidadeIDOrigem));
//Adiciona o c�digo do setor comercial que esta no formul�rio
// para compor a pesquisa.
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.CODIGO_SETOR_COMERCIAL,
setorComercialCDOrigem));
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
//Retorna setorComercial
colecaoPesquisa = fachada.pesquisar(filtroSetorComercial,
SetorComercial.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty() && !alterarImovelInscricaoActionForm.get("setorComercialOrigemCD").equals("")) {
//Setor Comercial nao encontrado
//Limpa os campos setorComercialOrigemCD,
// nomeSetorComercialOrigem e setorComercialOrigemID do
// formul�rio
if(alterarImovelInscricaoActionForm.get("setorComercialOrigemCD").equals(alterarImovelInscricaoActionForm.get("setorComercialDestinoCD")))
{
alterarImovelInscricaoActionForm.set("setorComercialDestinoCD", "");
}
alterarImovelInscricaoActionForm.set(
"setorComercialOrigemCD", "");
alterarImovelInscricaoActionForm.set(
"setorComercialOrigemID", "");
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialOrigem",
"Setor comercial inexistente");
httpServletRequest.setAttribute("corSetorComercialOrigem",
"exception");
} else if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()){
SetorComercial objetoSetorComercial = (SetorComercial) Util
.retonarObjetoDeColecao(colecaoPesquisa);
alterarImovelInscricaoActionForm.set(
"setorComercialOrigemCD", String
.valueOf(objetoSetorComercial.getCodigo()));
alterarImovelInscricaoActionForm.set(
"setorComercialOrigemID", String
.valueOf(objetoSetorComercial.getId()));
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialOrigem", objetoSetorComercial
.getDescricao());
if(alterarImovelInscricaoActionForm.get("setorComercialDestinoCD") == null || alterarImovelInscricaoActionForm.get("setorComercialDestinoCD").equals("") || alterarImovelInscricaoActionForm.get("setorComercialDestinoCD").equals(alterarImovelInscricaoActionForm.get("setorComercialOrigemCD")))
{
alterarImovelInscricaoActionForm.set(
"setorComercialDestinoCD", String
.valueOf(objetoSetorComercial.getCodigo()));
alterarImovelInscricaoActionForm.set(
"setorComercialDestinoID", String
.valueOf(objetoSetorComercial.getId()));
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialDestino", objetoSetorComercial
.getDescricao());
}
httpServletRequest.setAttribute("corSetorComercialOrigem",
"valor");
httpServletRequest.setAttribute("nomeCampo", "quadraOrigemNM");
}
} else {
//Limpa o campo setorComercialOrigemCD do formul�rio
if (!alterarImovelInscricaoActionForm.get("setorComercialOrigemCD").equals(""))
{
alterarImovelInscricaoActionForm.set("setorComercialOrigemCD",
"");
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialOrigem",
"Informe a localidade da inscri��o de origem.");
httpServletRequest.setAttribute("corSetorComercialOrigem",
"exception");
}
}
//Recebe o valor do campo localidadeDestinoID do formul�rio.
localidadeIDDestino = (String) alterarImovelInscricaoActionForm
.get("localidadeDestinoID");
// O campo localidadeOrigem ser� obrigat�rio
if (localidadeIDDestino != null
&& !localidadeIDDestino.trim().equalsIgnoreCase("")) {
setorComercialCDDestino = (String) alterarImovelInscricaoActionForm
.get("setorComercialDestinoCD");
//limpa o filtro
filtroSetorComercial.limparListaParametros();
//Adiciona o id da localidade que est� no formul�rio para
// compor a pesquisa.
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.ID_LOCALIDADE, localidadeIDDestino));
//Adiciona o c�digo do setor comercial que esta no formul�rio
// para compor a pesquisa.
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.CODIGO_SETOR_COMERCIAL,
setorComercialCDDestino));
filtroSetorComercial.adicionarParametro(new ParametroSimples(
FiltroSetorComercial.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
//Retorna setorComercial
colecaoPesquisa = fachada.pesquisar(filtroSetorComercial,
SetorComercial.class.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
//Setor Comercial nao encontrado
//Limpa os campos setorComercialDestinoCD,
// nomeSetorComercialDestino e setorComercialDestinoID do
// formul�rio
alterarImovelInscricaoActionForm.set(
"setorComercialDestinoCD", "");
alterarImovelInscricaoActionForm.set(
"setorComercialDestinoID", "");
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialDestino",
"Setor comercial inexistente");
httpServletRequest.setAttribute("corSetorComercialDestino",
"exception");
} else {
SetorComercial objetoSetorComercial = (SetorComercial) Util
.retonarObjetoDeColecao(colecaoPesquisa);
alterarImovelInscricaoActionForm.set(
"setorComercialDestinoCD", String
.valueOf(objetoSetorComercial.getCodigo()));
alterarImovelInscricaoActionForm.set(
"setorComercialDestinoID", String
.valueOf(objetoSetorComercial.getId()));
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialDestino", objetoSetorComercial
.getDescricao());
httpServletRequest.setAttribute("corSetorComercialDestino",
"valor");
if(!alterarImovelInscricaoActionForm.get("quadraOrigemNM").equals(""))
{
httpServletRequest.setAttribute("nomeCampo", "quadraDestinoNM");
}
}
} else {
//Limpa o campo setorComercialDestinoCD do formul�rio
alterarImovelInscricaoActionForm.set("setorComercialDestinoCD",
"");
alterarImovelInscricaoActionForm.set(
"nomeSetorComercialDestino",
"Informe a localidade da inscri��o de destino.");
httpServletRequest.setAttribute("corSetorComercialDestino",
"exception");
}
}
private void pesquisarQuadra(String inscricaoTipo,
DynaValidatorForm alterarImovelInscricaoActionForm,
Fachada fachada, HttpServletRequest httpServletRequest) {
FiltroQuadra filtroQuadra = new FiltroQuadra();
//Objetos que ser�o retornados pelo hibernate.
filtroQuadra.adicionarCaminhoParaCarregamentoEntidade("bairro");
//Recebe os valores dos campos setorComercialOrigemCD e
// setorComercialOrigemID do formul�rio.
setorComercialCDOrigem = (String) alterarImovelInscricaoActionForm
.get("setorComercialOrigemCD");
setorComercialIDOrigem = (String) alterarImovelInscricaoActionForm
.get("setorComercialOrigemID");
// Os campos setorComercialOrigemCD e setorComercialID ser�o
// obrigat�rios
if (setorComercialCDOrigem != null
&& !setorComercialCDOrigem.trim().equalsIgnoreCase("")
&& setorComercialIDOrigem != null
&& !setorComercialIDOrigem.trim().equalsIgnoreCase("")) {
quadraNMOrigem = (String) alterarImovelInscricaoActionForm
.get("quadraOrigemNM");
//Adiciona o id do setor comercial que est� no formul�rio para
// compor a pesquisa.
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.ID_SETORCOMERCIAL, setorComercialIDOrigem));
//Adiciona o n�mero da quadra que esta no formul�rio para
// compor a pesquisa.
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.NUMERO_QUADRA, quadraNMOrigem));
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
//Retorna quadra
colecaoPesquisa = fachada.pesquisar(filtroQuadra, Quadra.class
.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty() && !alterarImovelInscricaoActionForm.get("quadraOrigemNM").equals("")) {
//Quadra nao encontrada
//Limpa os campos quadraOrigemNM e quadraOrigemID do
// formul�rio
if(alterarImovelInscricaoActionForm.get("quadraOrigemNM").equals(alterarImovelInscricaoActionForm.get("quadraDestinoNM")))
{
alterarImovelInscricaoActionForm.set("quadraDestinoNM", "");
}
alterarImovelInscricaoActionForm.set("quadraOrigemNM", "");
alterarImovelInscricaoActionForm.set("quadraOrigemID", "");
//Mensagem de tela
alterarImovelInscricaoActionForm.set(
"quadraMensagemOrigem", "Quadra inexistente");
httpServletRequest.setAttribute("corQuadraOrigem",
"exception");
} else if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()){
Quadra objetoQuadra = (Quadra) Util
.retonarObjetoDeColecao(colecaoPesquisa);
alterarImovelInscricaoActionForm.set("quadraOrigemNM",
String.valueOf(objetoQuadra.getNumeroQuadra()));
alterarImovelInscricaoActionForm.set("quadraOrigemID",
String.valueOf(objetoQuadra.getId()));
if(alterarImovelInscricaoActionForm.get("quadraDestinoNM") == null || alterarImovelInscricaoActionForm.get("quadraDestinoNM").equals("") || alterarImovelInscricaoActionForm.get("quadraOrigemNM").equals(alterarImovelInscricaoActionForm.get("quadraDestinoNM")))
{
alterarImovelInscricaoActionForm.set("quadraDestinoNM",
String.valueOf(objetoQuadra.getNumeroQuadra()));
alterarImovelInscricaoActionForm.set("quadraDestinoID",
String.valueOf(objetoQuadra.getId()));
}
httpServletRequest.setAttribute("corQuadraOrigem", "valor");
httpServletRequest.setAttribute("nomeCampo", "loteOrigem");
}
} else {
if (!alterarImovelInscricaoActionForm.get("quadraOrigemNM").equals(""))
{
//Limpa o campo quadraOrigemNM do formul�rio
alterarImovelInscricaoActionForm.set("quadraOrigemNM", "");
alterarImovelInscricaoActionForm.set("quadraMensagemOrigem",
"Informe o setor comercial da inscri��o de origem.");
httpServletRequest.setAttribute("corQuadraOrigem", "exception");
}
}
//Recebe os valores dos campos setorComercialOrigemCD e
// setorComercialOrigemID do formul�rio.
setorComercialCDDestino = (String) alterarImovelInscricaoActionForm
.get("setorComercialDestinoCD");
setorComercialIDDestino = (String) alterarImovelInscricaoActionForm
.get("setorComercialDestinoID");
// Os campos setorComercialOrigemCD e setorComercialID ser�o
// obrigat�rios
if (setorComercialCDDestino != null
&& !setorComercialCDDestino.trim().equalsIgnoreCase("")
&& setorComercialIDDestino != null
&& !setorComercialIDDestino.trim().equalsIgnoreCase("")) {
quadraNMDestino = (String) alterarImovelInscricaoActionForm
.get("quadraDestinoNM");
//Limpa os parametros do filtro
filtroQuadra.limparListaParametros();
//Adiciona o id do setor comercial que est� no formul�rio para
// compor a pesquisa.
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.ID_SETORCOMERCIAL, setorComercialIDDestino));
//Adiciona o n�mero da quadra que esta no formul�rio para
// compor a pesquisa.
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.NUMERO_QUADRA, quadraNMDestino));
filtroQuadra.adicionarParametro(new ParametroSimples(
FiltroQuadra.INDICADORUSO,
ConstantesSistema.INDICADOR_USO_ATIVO));
//Retorna quadra
colecaoPesquisa = fachada.pesquisar(filtroQuadra, Quadra.class
.getName());
if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) {
//Quadra nao encontrada
//Limpa os campos quadraOrigemNM e quadraOrigemID do
// formul�rio
alterarImovelInscricaoActionForm.set("quadraDestinoNM", "");
alterarImovelInscricaoActionForm.set("quadraDestinoID", "");
//Mensagem de tela
alterarImovelInscricaoActionForm.set(
"quadraMensagemDestino", "Quadra inexistente");
httpServletRequest.setAttribute("corQuadraDestino",
"exception");
} else {
Quadra objetoQuadra = (Quadra) Util
.retonarObjetoDeColecao(colecaoPesquisa);
alterarImovelInscricaoActionForm.set("quadraDestinoNM",
String.valueOf(objetoQuadra.getNumeroQuadra()));
alterarImovelInscricaoActionForm.set("quadraDestinoID",
String.valueOf(objetoQuadra.getId()));
httpServletRequest
.setAttribute("corQuadraDestino", "valor");
if(!alterarImovelInscricaoActionForm.get("loteOrigem").equals(""))
{
httpServletRequest.setAttribute("nomeCampo", "loteDestino");
}
}
} else {
//Limpa o campo setorComercialOrigemCD do formul�rio
alterarImovelInscricaoActionForm.set("quadraDestinoNM", "");
//Mensagem de tela
alterarImovelInscricaoActionForm.set("quadraMensagemDestino",
"Informe o setor comercial da inscri��o.");
httpServletRequest
.setAttribute("corQuadraDestino", "exception");
}
}
}