package gcom.gui.relatorio;
import gcom.arrecadacao.ArrecadacaoForma;
import gcom.arrecadacao.Arrecadador;
import gcom.arrecadacao.FiltroArrecadacaoForma;
import gcom.arrecadacao.FiltroArrecadador;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
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;
/**
* Permite filtrar os movimentos dos arrecadadores que ser�o exibidos no relat�rio
*
* @author Rafael Corr�a
* @since 02/04/2007
*/
public class ExibirAcompanharMovimentoArrecadadoresAction extends GcomAction {
/**
*
* @param actionMapping
* @param actionForm
* @param httpServletRequest
* @param httpServletResponse
* @return
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
// Seta o mapeamento de retorno
ActionForward retorno = actionMapping
.findForward("exibirAcompanharMovimentoArrecadadores");
AcompanharMovimentoArrecadadoresActionForm acompanharMovimentoArrecadadoresActionForm = (AcompanharMovimentoArrecadadoresActionForm) actionForm;
HttpSession sessao = httpServletRequest.getSession(false);
Fachada fachada = Fachada.getInstancia();
FiltroArrecadacaoForma filtroArrecadacaoForma = new FiltroArrecadacaoForma();
filtroArrecadacaoForma.setCampoOrderBy(FiltroArrecadacaoForma.DESCRICAO);
Collection colecaoArrecadacaoForma = fachada.pesquisar(
filtroArrecadacaoForma, ArrecadacaoForma.class.getName());
sessao.setAttribute("colecaoArrecadacaoForma", colecaoArrecadacaoForma);
String idArrecadador = acompanharMovimentoArrecadadoresActionForm.getIdArrecadador();
if (idArrecadador != null && !idArrecadador.trim().equals("")) {
FiltroArrecadador filtroArrecadador = new FiltroArrecadador();
filtroArrecadador.adicionarParametro(new ParametroSimples(FiltroArrecadador.ID, idArrecadador));
filtroArrecadador.adicionarCaminhoParaCarregamentoEntidade("cliente");
Collection colecaoArrecadadores = fachada.pesquisar(filtroArrecadador, Arrecadador.class.getName());
if (colecaoArrecadadores != null && !colecaoArrecadadores.isEmpty()) {
Arrecadador arrecadador = (Arrecadador) Util.retonarObjetoDeColecao(colecaoArrecadadores);
acompanharMovimentoArrecadadoresActionForm.setIdArrecadador(arrecadador.getId().toString());
acompanharMovimentoArrecadadoresActionForm.setNomeArrecadador(arrecadador.getCliente().getNome());
} else {
httpServletRequest.setAttribute("idArrecadadorNaoEncontrado", true);
acompanharMovimentoArrecadadoresActionForm.setIdArrecadador("");
acompanharMovimentoArrecadadoresActionForm.setNomeArrecadador("Arrecadador Inexistente");
}
}
return retorno;
}
}