<?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_coluna_analise.php");
require_once($config->diretorio_raiz()."/src/model/bd/Bi_tipo_dadoDAO.php");
require_once($config->diretorio_raiz()."/src/model/bd/Bi_analiseDAO.php");
require_once($config->diretorio_raiz()."/src/model/bd/Bi_tipo_agregacaoDAO.php");
class Bi_coluna_analiseDAO
{
	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_coluna_analise)
	{
		$inputs = array();
		if($bi_coluna_analise->getCodigo() != "")
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>$bi_coluna_analise->getCodigo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>null));
		}
		if($bi_coluna_analise->getColuna() != "")
		{
			array_push($inputs, array('campo'=>':coluna', 'valor'=>$bi_coluna_analise->getColuna()));
		}
		else
		{
			array_push($inputs, array('campo'=>':coluna', 'valor'=>null));
		}
		if($bi_coluna_analise->getTipo() != "")
		{
			array_push($inputs, array('campo'=>':tipo', 'valor'=>$bi_coluna_analise->getTipo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':tipo', 'valor'=>null));
		}
		if($bi_coluna_analise->getOculto() != "")
		{
			array_push($inputs, array('campo'=>':oculto', 'valor'=>$bi_coluna_analise->getOculto()));
		}
		else
		{
			array_push($inputs, array('campo'=>':oculto', 'valor'=>null));
		}
		if($bi_coluna_analise->getMascara() != "")
		{
			array_push($inputs, array('campo'=>':mascara', 'valor'=>$bi_coluna_analise->getMascara()));
		}
		else
		{
			array_push($inputs, array('campo'=>':mascara', 'valor'=>null));
		}
		if($bi_coluna_analise->getAnalise() != "")
		{
			array_push($inputs, array('campo'=>':analise', 'valor'=>$bi_coluna_analise->getAnalise()));
		}
		else
		{
			array_push($inputs, array('campo'=>':analise', 'valor'=>null));
		}
		if($bi_coluna_analise->getUtilizada_para_calculo() != "")
		{
			array_push($inputs, array('campo'=>':utilizada_para_calculo', 'valor'=>$bi_coluna_analise->getUtilizada_para_calculo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':utilizada_para_calculo', 'valor'=>null));
		}
		if($bi_coluna_analise->getAgregacao() != "")
		{
			array_push($inputs, array('campo'=>':agregacao', 'valor'=>$bi_coluna_analise->getAgregacao()));
		}
		else
		{
			array_push($inputs, array('campo'=>':agregacao', 'valor'=>null));
		}
		if($bi_coluna_analise->getApelido() != "")
		{
			array_push($inputs, array('campo'=>':apelido', 'valor'=>$bi_coluna_analise->getApelido()));
		}
		else
		{
			array_push($inputs, array('campo'=>':apelido', 'valor'=>null));
		}
		if($bi_coluna_analise->getRegra_calculada() != "")
		{
			array_push($inputs, array('campo'=>':regra_calculada', 'valor'=>$bi_coluna_analise->getRegra_calculada()));
		}
		else
		{
			array_push($inputs, array('campo'=>':regra_calculada', 'valor'=>null));
		}
		if($bi_coluna_analise->getOrdenacao() != "")
		{
			array_push($inputs, array('campo'=>':ordenacao', 'valor'=>$bi_coluna_analise->getOrdenacao()));
		}
		else
		{
			array_push($inputs, array('campo'=>':ordenacao', 'valor'=>null));
		}
		try
		{
			$sql = "INSERT INTO bi_coluna_analise (codigo, coluna, tipo, oculto, mascara, analise, utilizada_para_calculo, agregacao, apelido, regra_calculada, ordenacao) VALUES (:codigo, :coluna, :tipo, :oculto, :mascara, :analise, :utilizada_para_calculo, :agregacao, :apelido, :regra_calculada, :ordenacao)  ";
			return $this->_funcoes_bd->executarSql($sql,$inputs);
		}
		catch (Exception $e)
		{
			throw new Exception($e->getMessage());
		}
	}
	public function buscarBi_coluna_analise($codigo)
	{
		$inputs = array();
		array_push($inputs, array('campo'=>':codigo', 'valor'=>$codigo));
		$sql = "SELECT * FROM bi_coluna_analise where codigo = :codigo "; 
		$bi_coluna_analise = new Bi_coluna_analise();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sqlArrayInputs($sql, $inputs);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
		}
		return $bi_coluna_analise;
	}
	public function buscarFiltro($where)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise  ".$where;
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function atualizar($bi_coluna_analise)
	{
		$inputs = array();
		if($bi_coluna_analise->getCodigo() != "")
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>$bi_coluna_analise->getCodigo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':codigo', 'valor'=>null));
		}
		if($bi_coluna_analise->getColuna() != "")
		{
			array_push($inputs, array('campo'=>':coluna', 'valor'=>$bi_coluna_analise->getColuna()));
		}
		else
		{
			array_push($inputs, array('campo'=>':coluna', 'valor'=>null));
		}
		if($bi_coluna_analise->getTipo() != "")
		{
			array_push($inputs, array('campo'=>':tipo', 'valor'=>$bi_coluna_analise->getTipo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':tipo', 'valor'=>null));
		}
		if($bi_coluna_analise->getOculto() != "")
		{
			array_push($inputs, array('campo'=>':oculto', 'valor'=>$bi_coluna_analise->getOculto()));
		}
		else
		{
			array_push($inputs, array('campo'=>':oculto', 'valor'=>null));
		}
		if($bi_coluna_analise->getMascara() != "")
		{
			array_push($inputs, array('campo'=>':mascara', 'valor'=>$bi_coluna_analise->getMascara()));
		}
		else
		{
			array_push($inputs, array('campo'=>':mascara', 'valor'=>null));
		}
		if($bi_coluna_analise->getAnalise() != "")
		{
			array_push($inputs, array('campo'=>':analise', 'valor'=>$bi_coluna_analise->getAnalise()));
		}
		else
		{
			array_push($inputs, array('campo'=>':analise', 'valor'=>null));
		}
		if($bi_coluna_analise->getUtilizada_para_calculo() != "")
		{
			array_push($inputs, array('campo'=>':utilizada_para_calculo', 'valor'=>$bi_coluna_analise->getUtilizada_para_calculo()));
		}
		else
		{
			array_push($inputs, array('campo'=>':utilizada_para_calculo', 'valor'=>null));
		}
		if($bi_coluna_analise->getAgregacao() != "")
		{
			array_push($inputs, array('campo'=>':agregacao', 'valor'=>$bi_coluna_analise->getAgregacao()));
		}
		else
		{
			array_push($inputs, array('campo'=>':agregacao', 'valor'=>null));
		}
		if($bi_coluna_analise->getApelido() != "")
		{
			array_push($inputs, array('campo'=>':apelido', 'valor'=>$bi_coluna_analise->getApelido()));
		}
		else
		{
			array_push($inputs, array('campo'=>':apelido', 'valor'=>null));
		}
		if($bi_coluna_analise->getRegra_calculada() != "")
		{
			array_push($inputs, array('campo'=>':regra_calculada', 'valor'=>$bi_coluna_analise->getRegra_calculada()));
		}
		else
		{
			array_push($inputs, array('campo'=>':regra_calculada', 'valor'=>null));
		}
		if($bi_coluna_analise->getOrdenacao() != "")
		{
			array_push($inputs, array('campo'=>':ordenacao', 'valor'=>$bi_coluna_analise->getOrdenacao()));
		}
		else
		{
			array_push($inputs, array('campo'=>':ordenacao', 'valor'=>null));
		}
		try
		{
			$sql = "UPDATE  bi_coluna_analise  SET codigo = :codigo, coluna = :coluna, tipo = :tipo, oculto = :oculto, mascara = :mascara, analise = :analise, utilizada_para_calculo = :utilizada_para_calculo, agregacao = :agregacao, apelido = :apelido, regra_calculada = :regra_calculada, ordenacao = :ordenacao WHERE codigo = :codigo  ";
			return $this->_funcoes_bd->executarSql($sql,$inputs);
		}
		catch (Exception $e)
		{
			throw new Exception($e->getMessage());
		}
	}
	public function excluir($bi_coluna_analise)
	{
		try
		{
			$sql = "DELETE FROM bi_coluna_analise  WHERE codigo =  :codigo ";
			$inputs = array();
			array_push($inputs, array('campo'=>':codigo', 'valor'=>$bi_coluna_analise->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_coluna_analise";
		$listaBi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($listaBi_coluna_analise,$bi_coluna_analise );
		}
		return $listaBi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorColuna($coluna)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where coluna like '%".$coluna."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorTipo($tipo)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where tipo = ".$tipo."";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorOculto($oculto)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where oculto like '%".$oculto."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorMascara($mascara)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where mascara like '%".$mascara."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorAnalise($analise)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where analise = ".$analise."";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorUtilizada_para_calculo($utilizada_para_calculo)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where utilizada_para_calculo like '%".$utilizada_para_calculo."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorAgregacao($agregacao)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where agregacao = ".$agregacao."";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorApelido($apelido)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where apelido like '%".$apelido."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorRegra_calculada($regra_calculada)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where regra_calculada like '%".$regra_calculada."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
	public function buscarBi_coluna_analisePorOrdenacao($ordenacao)
	{
		$inputs = array();
		$sql = "SELECT * FROM bi_coluna_analise where ordenacao like '%".$ordenacao."%'";
		$lista_bi_coluna_analise = array();
		$rows_bi_coluna_analise = $this->_funcoes_bd->sql($sql);
		foreach ($rows_bi_coluna_analise as $row)
		{
			$bi_coluna_analise = new Bi_coluna_analise();
			$bi_coluna_analise->setCodigo($row['codigo']);
			$bi_coluna_analise->setColuna($row['coluna']);
			if($row['tipo'] != "")
			{
				$tipoDAO = new Bi_tipo_dadoDAO();
				$bi_coluna_analise->setTipo($tipoDAO->buscarBi_tipo_dado($row['tipo']));
			}
			else
			{
				$bi_coluna_analise->setTipo(new Bi_tipo_dado());
			}
			$bi_coluna_analise->setOculto($row['oculto']);
			$bi_coluna_analise->setMascara($row['mascara']);
			if($row['analise'] != "")
			{
				$analiseDAO = new Bi_analiseDAO();
				$bi_coluna_analise->setAnalise($analiseDAO->buscarBi_analise($row['analise']));
			}
			else
			{
				$bi_coluna_analise->setAnalise(new Bi_analise());
			}
			$bi_coluna_analise->setUtilizada_para_calculo($row['utilizada_para_calculo']);
			if($row['agregacao'] != "")
			{
				$agregacaoDAO = new Bi_tipo_agregacaoDAO();
				$bi_coluna_analise->setAgregacao($agregacaoDAO->buscarBi_tipo_agregacao($row['agregacao']));
			}
			else
			{
				$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
			}
			$bi_coluna_analise->setApelido($row['apelido']);
			$bi_coluna_analise->setRegra_calculada($row['regra_calculada']);
			$bi_coluna_analise->setOrdenacao($row['ordenacao']);
			array_push($lista_bi_coluna_analise, $bi_coluna_analise);
		}
		return $lista_bi_coluna_analise;
	}
}