package gcom.gui.faturamento.conta;
import gcom.cadastro.localidade.FiltroGerenciaRegional;
import gcom.cadastro.localidade.FiltroLocalidade;
import gcom.cadastro.localidade.FiltroQuadra;
import gcom.cadastro.localidade.FiltroSetorComercial;
import gcom.cadastro.localidade.GerenciaRegional;
import gcom.cadastro.localidade.Localidade;
import gcom.cadastro.localidade.Quadra;
import gcom.cadastro.localidade.SetorComercial;
import gcom.fachada.Fachada;
import gcom.faturamento.FaturamentoGrupo;
import gcom.faturamento.FiltroFaturamentoGrupo;
import gcom.gui.GcomAction;
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;
/**
* < <Descri��o da Classe>>
*
* @author Administrador
*/
public class ExibirFiltrarMensagemContaAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
// Seta o mapeamento de retorno
ActionForward retorno = actionMapping
.findForward("exibirFiltrarMensagemContaAction");
Fachada fachada = Fachada.getInstancia();
// Mudar isso quando tiver esquema de seguran�a
HttpSession sessao = httpServletRequest.getSession(false);
FiltroFaturamentoGrupo filtroFaturamentoGrupo = new FiltroFaturamentoGrupo();
filtroFaturamentoGrupo.setCampoOrderBy(FiltroFaturamentoGrupo.DESCRICAO);
Collection colecaoFaturamentoGrupo = fachada.pesquisar(filtroFaturamentoGrupo, FaturamentoGrupo.class.getName());
FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional();
filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME);
Collection colecaoGerenciaRegional = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName());
sessao.setAttribute("colecaoFaturamentoGrupo", colecaoFaturamentoGrupo);
sessao.setAttribute("colecaoGerenciaRegional", colecaoGerenciaRegional);
FiltrarMensagemContaActionForm filtrarMensagemContaActionForm = (FiltrarMensagemContaActionForm) actionForm;
String idLocalidade = filtrarMensagemContaActionForm.getLocalidade();
String idGerenciaRegional = filtrarMensagemContaActionForm.getGerenciaRegional();
if (idLocalidade != null && !idLocalidade.trim().equals("")) {
FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID, idLocalidade));
if (idGerenciaRegional != null && !"".equalsIgnoreCase(idGerenciaRegional)){
filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID_GERENCIA, idGerenciaRegional));
filtroGerenciaRegional.adicionarCaminhoParaCarregamentoEntidade("gerenciaRegional");
}
Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName());
if (colecaoLocalidade != null && !colecaoLocalidade.isEmpty()) {
Localidade localidade = (Localidade) colecaoLocalidade.iterator().next();
filtrarMensagemContaActionForm.setLocalidadeDescricao(localidade.getDescricao());
//httpServletRequest.setAttribute("localidadeInexistente", false);
} else {
filtrarMensagemContaActionForm.setLocalidade("");
filtrarMensagemContaActionForm.setLocalidadeDescricao("LOCALIDADE INEXISTENTE");
httpServletRequest.setAttribute("localidadeInexistente", true);
}
httpServletRequest.setAttribute("identificadorPesquisa", true);
}
String idSetorComercial = filtrarMensagemContaActionForm.getSetorComercial();
if (idSetorComercial != null && !idSetorComercial.trim().equals("")){
FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial();
filtroSetorComercial.adicionarParametro(new ParametroSimples(FiltroSetorComercial.ID_LOCALIDADE, idLocalidade));
filtroSetorComercial.adicionarCaminhoParaCarregamentoEntidade("localidade");
filtroSetorComercial.adicionarParametro(new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, idSetorComercial));
Collection colecaoSetor = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName());
if (colecaoSetor != null && !colecaoSetor.isEmpty()) {
SetorComercial setorComercial = (SetorComercial) colecaoSetor.iterator().next();
filtrarMensagemContaActionForm.setSetorComercialDescricao(setorComercial.getDescricao());
//httpServletRequest.setAttribute("localidadeInexistente", false);
} else {
filtrarMensagemContaActionForm.setSetorComercialDescricao("");
filtrarMensagemContaActionForm.setSetorComercialDescricao("SETOR COMERCIAL INEXISTENTE");
httpServletRequest.setAttribute("setorComercialInexistente", true);
}
httpServletRequest.setAttribute("identificadorPesquisa", true);
}
String idQuadra = filtrarMensagemContaActionForm.getQuadra();
if (idQuadra != null && !idQuadra.trim().equals("")){
FiltroQuadra filtroQuadra = new FiltroQuadra();
filtroQuadra.adicionarParametro(new ParametroSimples(FiltroQuadra.ID_LOCALIDADE, idLocalidade));
filtroQuadra.adicionarCaminhoParaCarregamentoEntidade("setorComercial.localidade");
filtroQuadra.adicionarParametro(new ParametroSimples(FiltroQuadra.CODIGO_SETORCOMERCIAL, idSetorComercial));
filtroQuadra.adicionarCaminhoParaCarregamentoEntidade("setorComercial");
filtroQuadra.adicionarParametro(new ParametroSimples(FiltroQuadra.NUMERO_QUADRA, idQuadra));
Collection colecaoQuadra = fachada.pesquisar(filtroQuadra, Quadra.class.getName());
if (colecaoQuadra != null && !colecaoQuadra.isEmpty()) {
Quadra quadra = (Quadra) colecaoQuadra.iterator().next();
filtrarMensagemContaActionForm.setQuadra(quadra.getDescricao());
//httpServletRequest.setAttribute("localidadeInexistente", false);
} else {
filtrarMensagemContaActionForm.setQuadra("");
httpServletRequest.setAttribute("quadraInexistente", true);
}
httpServletRequest.setAttribute("identificadorPesquisa", true);
}
httpServletRequest.removeAttribute("i");
String atualizar = httpServletRequest.getParameter("atualizar");
String menu = httpServletRequest.getParameter("menu");
if (atualizar == null && menu == null){
boolean i = true;
httpServletRequest.setAttribute("i",i);
}
return retorno;
}
}