<?php
require_once("../../config/config_dir_raiz.php");
$config = new Config();
require_once($config->diretorio_raiz()."/src/controller/Funcoes_bd.php");
require_once($config->diretorio_raiz()."/src/model/Bi_agendamento_carga.php");
require_once($config->diretorio_raiz()."/src/model/bd/Bi_carga_dadosDAO.php");
require_once($config->diretorio_raiz()."/src/model/bd/Bi_unidade_recorrenciaDAO.php");
class Bi_agendamento_cargaDAO
{
	private $_funcoes_bd;
	private $_banco_atual;
	private $conexao;
	function __construct()
	{
		$this->conexao = Conexao::obterConexao();
		$this->_banco_atual = Conexao::getUtilizarBanco();
		$this->_funcoes_bd = new Funcoes_bd();
	}
	public function salvar($bi_agendamento_carga)
	{
		$inputs = array();
		if($bi_agendamento_carga->getCodigo() != "")
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>$bi_agendamento_carga->getCodigo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>null));
		}
		if($bi_agendamento_carga->getCarga_dados() != "")
		{
			array_push($inputs, array('campo'=>':carga_dados', 'valor'=>$bi_agendamento_carga->getCarga_dados()));
		}
		else
		{
			array_push($inputs, array('campo'=>':carga_dados', 'valor'=>null));
		}
		if($bi_agendamento_carga->getHora_execucao() instanceof DateTime)
		{
			array_push($inputs, array('campo'=>':hora_execucao', 'valor'=>$bi_agendamento_carga->getHora_execucao()->format('Y-m-d H:i:s')));
		}
		else
		{
			array_push($inputs, array('campo'=>':hora_execucao', 'valor'=>null));
		}
		if($bi_agendamento_carga->getRecorrente() != "")
		{
			array_push($inputs, array('campo'=>':recorrente', 'valor'=>$bi_agendamento_carga->getRecorrente()));
		}
		else
		{
			array_push($inputs, array('campo'=>':recorrente', 'valor'=>null));
		}
		if($bi_agendamento_carga->getValor_recorrencia() != "")
		{
			array_push($inputs, array('campo'=>':valor_recorrencia', 'valor'=>$bi_agendamento_carga->getValor_recorrencia()));
		}
		else
		{
			array_push($inputs, array('campo'=>':valor_recorrencia', 'valor'=>null));
		}
		if($bi_agendamento_carga->getUnidade_recorrencia() != "")
		{
			array_push($inputs, array('campo'=>':unidade_recorrencia', 'valor'=>$bi_agendamento_carga->getUnidade_recorrencia()));
		}
		else
		{
			array_push($inputs, array('campo'=>':unidade_recorrencia', 'valor'=>null));
		}
		if($bi_agendamento_carga->getUltima_execucao() instanceof DateTime)
		{
			array_push($inputs, array('campo'=>':ultima_execucao', 'valor'=>$bi_agendamento_carga->getUltima_execucao()->format('Y-m-d H:i:s')));
		}
		else
		{
			array_push($inputs, array('campo'=>':ultima_execucao', 'valor'=>null));
		}
		if($bi_agendamento_carga->getExecutando() != "")
		{
			array_push($inputs, array('campo'=>':executando', 'valor'=>$bi_agendamento_carga->getExecutando()));
		}
		else
		{
			array_push($inputs, array('campo'=>':executando', 'valor'=>null));
		}
		try
		{
			$sql = "INSERT INTO bi_agendamento_carga (codigo, carga_dados, hora_execucao, recorrente, valor_recorrencia, unidade_recorrencia, ultima_execucao, executando) VALUES (:codigo, :carga_dados, :hora_execucao, :recorrente, :valor_recorrencia, :unidade_recorrencia, :ultima_execucao, :executando)  ";
			return $this->_funcoes_bd->executarSql($sql,$inputs);
		}
		catch (Exception $e)
		{
			throw new Exception($e->getMessage());
		}
	}
	public function buscarBi_agendamento_carga($codigo)
	{
		$inputs = array();
		array_push($inputs, array('campo'=>':codigo', 'valor'=>$codigo));
		$sql = "SELECT * FROM bi_agendamento_carga where codigo = :codigo "; 
		$bi_agendamento_carga = new Bi_agendamento_carga();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sqlArrayInputs($sql, $inputs);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
		}
		return $bi_agendamento_carga;
	}
	public function buscarFiltro($where)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga  ".$where;
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function atualizar($bi_agendamento_carga)
	{
		$inputs = array();
		if($bi_agendamento_carga->getCodigo() != "")
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>$bi_agendamento_carga->getCodigo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>null));
		}
		if($bi_agendamento_carga->getCarga_dados() != "")
		{
			array_push($inputs, array('campo'=>':carga_dados', 'valor'=>$bi_agendamento_carga->getCarga_dados()));
		}
		else
		{
			array_push($inputs, array('campo'=>':carga_dados', 'valor'=>null));
		}
		if($bi_agendamento_carga->getHora_execucao() instanceof DateTime)
		{
			array_push($inputs, array('campo'=>':hora_execucao', 'valor'=>$bi_agendamento_carga->getHora_execucao()->format('Y-m-d H:i:s')));
		}
		else
		{
			array_push($inputs, array('campo'=>':hora_execucao', 'valor'=>null));
		}
		if($bi_agendamento_carga->getRecorrente() != "")
		{
			array_push($inputs, array('campo'=>':recorrente', 'valor'=>$bi_agendamento_carga->getRecorrente()));
		}
		else
		{
			array_push($inputs, array('campo'=>':recorrente', 'valor'=>null));
		}
		if($bi_agendamento_carga->getValor_recorrencia() != "")
		{
			array_push($inputs, array('campo'=>':valor_recorrencia', 'valor'=>$bi_agendamento_carga->getValor_recorrencia()));
		}
		else
		{
			array_push($inputs, array('campo'=>':valor_recorrencia', 'valor'=>null));
		}
		if($bi_agendamento_carga->getUnidade_recorrencia() != "")
		{
			array_push($inputs, array('campo'=>':unidade_recorrencia', 'valor'=>$bi_agendamento_carga->getUnidade_recorrencia()));
		}
		else
		{
			array_push($inputs, array('campo'=>':unidade_recorrencia', 'valor'=>null));
		}
		if($bi_agendamento_carga->getUltima_execucao() instanceof DateTime)
		{
			array_push($inputs, array('campo'=>':ultima_execucao', 'valor'=>$bi_agendamento_carga->getUltima_execucao()->format('Y-m-d H:i:s')));
		}
		else
		{
			array_push($inputs, array('campo'=>':ultima_execucao', 'valor'=>null));
		}
		if($bi_agendamento_carga->getExecutando() != "")
		{
			array_push($inputs, array('campo'=>':executando', 'valor'=>$bi_agendamento_carga->getExecutando()));
		}
		else
		{
			array_push($inputs, array('campo'=>':executando', 'valor'=>null));
		}
		try
		{
			$sql = "UPDATE  bi_agendamento_carga  SET codigo = :codigo, carga_dados = :carga_dados, hora_execucao = :hora_execucao, recorrente = :recorrente, valor_recorrencia = :valor_recorrencia, unidade_recorrencia = :unidade_recorrencia, ultima_execucao = :ultima_execucao, executando = :executando WHERE codigo = :codigo  ";
			return $this->_funcoes_bd->executarSql($sql,$inputs);
		}
		catch (Exception $e)
		{
			throw new Exception($e->getMessage());
		}
	}
	public function excluir($bi_agendamento_carga)
	{
		try
		{
			$sql = "DELETE FROM bi_agendamento_carga  WHERE codigo =  :codigo ";
			$inputs = array();
			array_push($inputs, array('campo'=>':codigo', 'valor'=>$bi_agendamento_carga->getCodigo()));
			return $this->_funcoes_bd->executarSql($sql,$inputs);
		}
		catch (Exception $e)
		{
			throw new Exception($e->getMessage());
		}
	}
	public function listarTodosRegistros()
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga";
		$listaBi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($listaBi_agendamento_carga,$bi_agendamento_carga );
		}
		return $listaBi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorCarga_dados($carga_dados)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where carga_dados = ".$carga_dados."";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorHora_execucao($hora_execucao)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where hora_execucao like '%".$hora_execucao."%'";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorRecorrente($recorrente)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where recorrente like '%".$recorrente."%'";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorValor_recorrencia($valor_recorrencia)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where valor_recorrencia like '%".$valor_recorrencia."%'";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorUnidade_recorrencia($unidade_recorrencia)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where unidade_recorrencia = ".$unidade_recorrencia."";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorUltima_execucao($ultima_execucao)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where ultima_execucao like '%".$ultima_execucao."%'";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
	public function buscarBi_agendamento_cargaPorExecutando($executando)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_agendamento_carga where executando like '%".$executando."%'";
		$lista_bi_agendamento_carga = array();
		$rows_bi_agendamento_carga = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_agendamento_carga as $row)
		{
			$bi_agendamento_carga = new Bi_agendamento_carga();
			$bi_agendamento_carga->setCodigo($row['codigo']);
			if($row['carga_dados'] != "")
			{
				$carga_dadosDAO = new Bi_carga_dadosDAO();
				$bi_agendamento_carga->setCarga_dados($carga_dadosDAO->buscarBi_carga_dados($row['carga_dados']));
			}
			else
			{
				$bi_agendamento_carga->setCarga_dados(new Bi_carga_dados());
			}
			if($row['hora_execucao'] != "")
			{
				$dateHora_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['hora_execucao']);
				$bi_agendamento_carga->setHora_execucao($dateHora_execucao);
			}
			$bi_agendamento_carga->setRecorrente($row['recorrente']);
			$bi_agendamento_carga->setValor_recorrencia($row['valor_recorrencia']);
			if($row['unidade_recorrencia'] != "")
			{
				$unidade_recorrenciaDAO = new Bi_unidade_recorrenciaDAO();
				$bi_agendamento_carga->setUnidade_recorrencia($unidade_recorrenciaDAO->buscarBi_unidade_recorrencia($row['unidade_recorrencia']));
			}
			else
			{
				$bi_agendamento_carga->setUnidade_recorrencia(new Bi_unidade_recorrencia());
			}
			if($row['ultima_execucao'] != "")
			{
				$dateUltima_execucao = DateTime::createFromFormat('Y-m-d H:i:s', $row['ultima_execucao']);
				$bi_agendamento_carga->setUltima_execucao($dateUltima_execucao);
			}
			$bi_agendamento_carga->setExecutando($row['executando']);
			array_push($lista_bi_agendamento_carga, $bi_agendamento_carga);
		}
		return $lista_bi_agendamento_carga;
	}
}