Public Function ListaFluxo($Todos = false) {

	if ($_POST) {
	    unset($_SESSION["pg_atual"]);
	}

	$Data = New Data ();

	//Cod Conta
	if (!isset($_SESSION ["codContaFluxo"]) || (isset($_POST["codContaFluxo"]))) {
	    $_SESSION["codContaFluxo"] = !empty($_POST['codContaFluxo']) ? ("=" . trim($_POST['codContaFluxo'])) : "<> '-1'";
	}
	//Data Inicial
	if (!isset($_SESSION["data_ini_filtro_fluxo"]) || (isset($_POST["data_ini_filtro_fluxo"]))) {
	    $_SESSION["data_ini_filtro_fluxo"] = isset($_POST['data_ini_filtro_fluxo']) ? $Data->convertDataSql($_POST["data_ini_filtro_fluxo"]) : date('Y-m-d', strtotime("-30 days"));
	}
	//Data Final
	if (!isset($_SESSION["data_fin_filtro_fluxo"]) || (isset($_POST["data_fin_filtro_fluxo"]))) {
	    $_SESSION["data_fin_filtro_fluxo"] = isset($_POST['data_fin_filtro_fluxo']) ? $Data->convertDataSql($_POST["data_fin_filtro_fluxo"]) : date('Y-m-d');
	}

	//Data Final
	if (!isset($_SESSION["tipo_operacao_fluxo"]) || (isset($_POST["tipo_operacao"]))) {
	    $_SESSION["tipo_operacao_fluxo"] = isset($_POST['tipo_operacao']) ? trim($_POST["tipo_operacao"]) : false;
	}

	//Ordenação da pesquisa
	if (!isset($_SESSION["ordenacao_fluxo"]) || (isset($_POST["ordenacao"]))) {
	    $_SESSION["ordenacao_fluxo"] = isset($_POST['ordenacao']) ? $_POST['ordenacao'] : "";
	}

	//Instancia o objeto
	$ObjResultados = new ModelResultadosFinanceiros();
	$dataLabelIni = $Data->convertDataBrasileira($_SESSION["data_ini_filtro_fluxo"]);
	$dataLabelFim = $Data->convertDataBrasileira($_SESSION["data_fin_filtro_fluxo"]);

	$labelNomeBanco = $_SESSION ["codContaFluxo"] != "<> '-1'" ? $ObjResultados->RecuperaCampo("NOME", "BANCO", "BANCO_ID", substr($_SESSION["codContaFluxo"], 1, 6)) : "Todos";
	$_SESSION["label_filtro_resultados"] = "<span class='label label-default'>Exibindo período de " .
		$dataLabelIni . " até " . $dataLabelFim . " Conta = $labelNomeBanco</span>";


	$Resultados = $ObjResultados->FluxoFinanceiroPeriodo($_SESSION["data_ini_filtro_fluxo"], $_SESSION["data_fin_filtro_fluxo"], $_SESSION["codContaFluxo"], $_SESSION["tipo_operacao_fluxo"], $_SESSION["ordenacao_fluxo"]);

	if ($Resultados) {
	    if (!$Todos)
		return parent ::Paginar($Resultados, $_SERVER["SCRIPT_NAME"], $_REQUEST["Pg"]);
	    else
		return $Resultados;
	} else {
	    parent

	    ::setMsg("Não foram localizadas movimentações nesse período");
	}
    }
    public function FluxoFinanceiroPeriodo($DataIni, $DataFin, $CodConta, $TipoOperacao = false, $Ordem = false) {

	//$TipoOperacao 
	//D = DEPÓSITO
	//S = SAQUE
	//T = TRANSFERÊNCIA
	//CR = CONTAS A RECEBER
	//CP = CONTAS A PAGAR

	$WhereTipoOperacao = "";

	if ($TipoOperacao) {
	    $Tipo = $this->CodTipoOperacaoFiltroFluxo($TipoOperacao);
	    $WhereTipoOperacao = " AND STATUS = '$Tipo' ";
	}

	$OrderBy = " ORDER BY DATA DESC ";

	if ($Ordem) {
	    $OrderBy = "ORDER BY DATA " . $Ordem;
	}


	$sql = "SELECT * FROM   VW_F_FLUXO_FINANCEIRO 
		WHERE DATA BETWEEN '$DataIni' AND '$DataFin'  
		AND  (
			(COD_CONTA  $CodConta) 
			OR   (CONTA_ORIGEM $CodConta OR CONTA_DESTINO $CodConta)
		      )	   
		$WhereTipoOperacao      
		$OrderBy";

	$ListaFluxo = array();

	$result = parent::execute_query($sql);
	if ($result) {
	    while ($linha = parent::criaObjetoConsulta($result)){
		$DadosFluxo = new ModelResultadosFinanceiros();
		$DadosFluxo->setCodigo($linha->COD);
		$DadosFluxo->setDataOperacao($linha->DATA);
		$DadosFluxo->setNomeConta($linha->NOME_CONTA);
		$DadosFluxo->setSituacao($linha->STATUS);
		$DadosFluxo->setValor($linha->VALOR);
		$DadosFluxo->setNomeContaCorrente($linha->CONTA);
		$DadosFluxo->setCorLancamento($linha->COR);
		$DadosFluxo->setComandoSqlFluxo($sql);

		array_push($ListaFluxo, $DadosFluxo);
	    }
	}
	return $ListaFluxo;
    }