package gcom.gui.financeiro;
import gcom.cadastro.imovel.Categoria;
import gcom.cadastro.imovel.FiltroCategoria;
import gcom.cadastro.localidade.FiltroGerenciaRegional;
import gcom.cadastro.localidade.FiltroLocalidade;
import gcom.cadastro.localidade.GerenciaRegional;
import gcom.cadastro.localidade.Localidade;
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;
/**
*
* @author Fl�vio Leonardo
* @since 16/04/2010
*/
public class ExibirGerarRelatorioResumoReceitaAction extends GcomAction {
/**
*
* @param actionMapping
* @param actionForm
* @param httpServletRequest
* @param httpServletResponse
* @return
*/
@SuppressWarnings("unchecked")
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
// Seta o mapeamento de retorno
ActionForward retorno = actionMapping
.findForward("exibirGerarRelatorioResumoReceita");
GerarRelatorioResumoReceitaActionForm form = (GerarRelatorioResumoReceitaActionForm) actionForm;
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
// Flag indicando que o usu�rio fez uma consulta a partir da tecla Enter
String objetoConsulta = httpServletRequest.getParameter("objetoConsulta");
// Pesquisar Localidade
if (objetoConsulta != null && !objetoConsulta.trim().equals("") &&
(objetoConsulta.trim().equals("1")|| objetoConsulta.trim().equals("3")) ) {
// Faz a consulta de Localidade
this.pesquisarLocalidade(form,objetoConsulta);
}
if(sessao.getAttribute("colecaoCategoria") == null){
FiltroCategoria filtroCategoria = new FiltroCategoria();
filtroCategoria.adicionarParametro(new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO));
filtroCategoria.setCampoOrderBy(FiltroCategoria.DESCRICAO);
Collection colecaoCategoria = fachada.pesquisar(filtroCategoria, Categoria.class.getName());
sessao.setAttribute("colecaoCategoria", colecaoCategoria);
FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional();
filtroGerenciaRegional.adicionarParametro(new ParametroSimples(FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO));
filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME);
Collection colecaoGerenciaRegional = fachada.pesquisar(filtroGerenciaRegional, GerenciaRegional.class.getName());
sessao.setAttribute("colecaoGerenciaRegional", colecaoGerenciaRegional);
}
return retorno;
}
/**
* Pesquisa Localidade
*
* @author Rafael Pinto
* @date 28/11/2007
*/
private void pesquisarLocalidade(GerarRelatorioResumoReceitaActionForm form,
String objetoConsulta) {
Object local = form.getLocalidadeInicial();
if(!objetoConsulta.trim().equals("1")){
local = form.getLocalidadeFinal();
}
FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
filtroLocalidade.adicionarParametro(
new ParametroSimples(FiltroLocalidade.ID,local));
// Recupera Localidade
Collection colecaoLocalidade =
this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName());
if (colecaoLocalidade != null && !colecaoLocalidade.isEmpty()) {
Localidade localidade =
(Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade);
if(objetoConsulta.trim().equals("1")){
form.setLocalidadeInicial(localidade.getId().toString());
form.setLocalidadeInicialNome(localidade.getDescricao());
}
form.setLocalidadeFinal(localidade.getId().toString());
form.setLocalidadeFinalNome(localidade.getDescricao());
} else {
if(objetoConsulta.trim().equals("1")){
form.setLocalidadeInicial(null);
form.setLocalidadeInicialNome("Localidade Inicial inexistente");
form.setLocalidadeFinal(null);
form.setLocalidadeFinalNome(null);
}else{
form.setLocalidadeFinal(null);
form.setLocalidadeFinalNome("Localidade Final inexistente");
}
}
}
}