package gcom.gui.faturamento;
import gcom.fachada.Fachada;
import gcom.faturamento.FaturamentoAtividade;
import gcom.faturamento.FaturamentoAtividadeCronograma;
import gcom.faturamento.FaturamentoGrupoCronogramaMensal;
import gcom.faturamento.FiltroFaturamentoAtividadeCronograma;
import gcom.gui.GcomAction;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.Vector;
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;
public class FiltrarComandoAtividadeFaturamentoAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Seta o mapeamento de retorno
ActionForward retorno = actionMapping
.findForward("filtrarComandoAtividadeFaturamento");
//Carrega a instancia da fachada
Fachada fachada = Fachada.getInstancia();
//Carrega o objeto sessao
HttpSession sessao = httpServletRequest.getSession(false);
//Limpando todos os objetos colocados na sess�o
//--------------------------------------------------------------------
sessao.removeAttribute("dataCorrente");
sessao.removeAttribute("exibirCampoVencimentoGrupo");
sessao.removeAttribute("faturamentoAtividadeCronograma");
sessao.removeAttribute("colecaoFaturamentoAtividadeCronogramaRota");
sessao.removeAttribute("colecaoRotasSelecionadas");
sessao.removeAttribute("colecaoRotasSelecionadasUsuario");
sessao
.removeAttribute("colecaoFaturamentoAtividadeCronogramaRotaUniao");
sessao.removeAttribute("PesquisarActionForm");
sessao.removeAttribute("InserirComandoAtividadeFaturamentoActionForm");
sessao.removeAttribute("statusWizard");
//--------------------------------------------------------------------
FiltroFaturamentoAtividadeCronograma filtroFaturamentoAtividadeCronograma = new FiltroFaturamentoAtividadeCronograma();
filtroFaturamentoAtividadeCronograma.setConsultaSemLimites(true);
//filtroFaturamentoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade("faturamentoGrupoCronogramaMensal.faturamentoGrupo.anoMesReferencia");
filtroFaturamentoAtividadeCronograma.adicionarCaminhoParaCarregamentoEntidade("faturamentoGrupoCronogramaMensal.faturamentoGrupo");
// Retorna uma lista de atividades de faturamento comandadas e ainda n�o
// realizadas
/*Collection colecaoAtividadesAtualizacao = fachada
.buscarAtividadeComandadaNaoRealizada(filtroFaturamentoAtividadeCronograma);*/
// 1� Passo - Pegar o total de registros atrav�s de um count da consulta que aparecer� na tela
Integer totalRegistros = fachada
.buscarAtividadeComandadaNaoRealizadaCount();
// 2� Passo - Chamar a fun��o de Pagina��o passando o total de registros
retorno = this.controlarPaginacao(httpServletRequest, retorno,
totalRegistros);
// 3� Passo - Obter a cole��o da consulta que aparecer� na tela passando o numero de paginas
// da pesquisa que est� no request
Collection colecaoAtividadesAtualizacao = fachada
.buscarAtividadeComandadaNaoRealizada((Integer) httpServletRequest
.getAttribute("numeroPaginasPesquisa"));
Iterator colecaoAtividadesAtualizacaoIt = colecaoAtividadesAtualizacao.iterator();
Collection colecaoFaturamentoAtividadeCronograma = new Vector();
Object[] arrayConteudoAtividade = new Object[6];
FaturamentoAtividadeCronograma faturamentoAtividadeCronograma;
FaturamentoAtividade faturamentoAtividade;
FaturamentoGrupoCronogramaMensal faturamentoGrupoCronogramaMensal;
Date comando, dataPrevista;
while (colecaoAtividadesAtualizacaoIt.hasNext()){
arrayConteudoAtividade = (Object[]) colecaoAtividadesAtualizacaoIt.next();
faturamentoAtividade = (FaturamentoAtividade) arrayConteudoAtividade[1];
faturamentoGrupoCronogramaMensal = (FaturamentoGrupoCronogramaMensal) arrayConteudoAtividade[4];
comando = (Date) arrayConteudoAtividade[2];
dataPrevista = (Date) arrayConteudoAtividade[3];
faturamentoAtividadeCronograma = new FaturamentoAtividadeCronograma();
faturamentoAtividadeCronograma.setId(new Integer(String.valueOf(arrayConteudoAtividade[0])));
faturamentoAtividadeCronograma.setFaturamentoAtividade(faturamentoAtividade);
faturamentoAtividadeCronograma.setComando(comando);
faturamentoAtividadeCronograma.setDataPrevista(dataPrevista);
faturamentoAtividadeCronograma.setFaturamentoGrupoCronogramaMensal(faturamentoGrupoCronogramaMensal);
colecaoFaturamentoAtividadeCronograma.add(faturamentoAtividadeCronograma);
}
sessao.setAttribute("colecaoAtividadesAtualizacao",
colecaoFaturamentoAtividadeCronograma);
return retorno;
}
}