<?php
require_once("../../config/config_dir_raiz.php");
$config = new Config();
require_once($config->diretorio_raiz()."/src/model/bd/Bi_coluna_analiseDAO.php");
$bi_coluna_analiseDAO = new Bi_coluna_analiseDAO();
require_once($config->diretorio_raiz()."/src/model/bd/Bi_tipo_dadoDAO.php");
$bi_tipo_dadoDAO = new Bi_tipo_dadoDAO(); 
require_once($config->diretorio_raiz()."/src/model/bd/Bi_analiseDAO.php");
$bi_analiseDAO = new Bi_analiseDAO(); 
require_once($config->diretorio_raiz()."/src/model/bd/Bi_tipo_agregacaoDAO.php");
$bi_tipo_agregacaoDAO = new Bi_tipo_agregacaoDAO(); 
$retorno = array();
if (isset($_GET["mod"]) && $_GET["mod"] == "form")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$bi_coluna_analise = $bi_coluna_analiseDAO->buscarBi_coluna_analise($_GET["codigo"]);
	}else{
		$bi_coluna_analise = new Bi_coluna_analise();
		$bi_coluna_analise->setTipo(new Bi_tipo_dado());
		$bi_coluna_analise->setAnalise(new Bi_analise());
		$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
	}
	$listaTipo = $bi_tipo_dadoDAO->listarTodosRegistros(); 
	$listaAnalise = $bi_analiseDAO->listarTodosRegistros(); 
	$listaAgregacao = $bi_tipo_agregacaoDAO->listarTodosRegistros(); 
	if (isset($_GET["tipo"]) and $_GET["tipo"] != "")
	{
		$bi_coluna_analise->setTipo($bi_tipo_dadoDAO->buscarBi_tipo_dado($_GET["tipo"]));
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if (isset($_GET["analise"]) and $_GET["analise"] != "")
	{
		$bi_coluna_analise->setAnalise($bi_analiseDAO->buscarBi_analise($_GET["analise"]));
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if (isset($_GET["agregacao"]) and $_GET["agregacao"] != "")
	{
		$bi_coluna_analise->setAgregacao($bi_tipo_agregacaoDAO->buscarBi_tipo_agregacao($_GET["agregacao"]));
		$campo_buscar = "&agregacao=".$_GET["agregacao"]; 
	}
	include_once($config->diretorio_raiz()."/src/view/bi_coluna_analise/Formulario.php");
}
elseif (isset($_GET["mod"]) && ($_GET["mod"] == "salvar" or $_GET["mod"] == "alterar"))
{
	$bi_coluna_analise = new Bi_coluna_analise();
	$bi_coluna_analise->setCodigo($_POST['codigo']);
	$bi_coluna_analise->setColuna($_POST['coluna']);
	$bi_coluna_analise->setTipo($_POST['tipo']);
	if (isset($_POST['oculto']))
	{
		$bi_coluna_analise->setOculto($_POST['oculto']);
	}
	else
	{
		$bi_coluna_analise->setOculto("0");
	}
	$bi_coluna_analise->setMascara($_POST['mascara']);
	$bi_coluna_analise->setAnalise($_POST['analise']);
	if (isset($_POST['utilizada_para_calculo']))
	{
		$bi_coluna_analise->setUtilizada_para_calculo($_POST['utilizada_para_calculo']);
	}
	else
	{
		$bi_coluna_analise->setUtilizada_para_calculo("0");
	}
	$bi_coluna_analise->setAgregacao($_POST['agregacao']);
	$bi_coluna_analise->setApelido($_POST['apelido']);
	$bi_coluna_analise->setRegra_calculada($_POST['regra_calculada']);
	$bi_coluna_analise->setOrdenacao($_POST['ordenacao']);
	$codigo = "";
	if ($_GET["mod"] == "alterar")
	{
		$bi_coluna_analise->setCodigo($_POST['codigo']);
		$codigo = $bi_coluna_analise->getCodigo();
		try
		{
			$retorno["mensagem"] = "Alterado com sucesso!";
			$retorno["status"] = true;
			$bi_coluna_analiseDAO->atualizar($bi_coluna_analise);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	else
	{
		try
		{
			$retorno["mensagem"] = "Inserido com sucesso!";
			$retorno["status"] = true;
			$codigo = $bi_coluna_analiseDAO->salvar($bi_coluna_analise);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	echo json_encode($retorno);
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "excluir")
{
	try
	{
		$bi_coluna_analise = $bi_coluna_analiseDAO->buscarBi_coluna_analise($_GET["codigo"]);
		$bi_coluna_analiseDAO->excluir($bi_coluna_analise);
		$retorno["mensagem"] = utf8_decode("Excluido com sucesso!");
		$retorno["status"] = true;
	}
	catch (Exception  $e)
	{
		$retorno["mensagem"] = $e->getMessage();
		$retorno["status"] = false;
	}
	echo json_encode($retorno);
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "listar")
{
	if (isset($_GET["tipo"]) and $_GET["tipo"] != "")
	{
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if (isset($_GET["analise"]) and $_GET["analise"] != "")
	{
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if (isset($_GET["agregacao"]) and $_GET["agregacao"] != "")
	{
		$campo_buscar = "&agregacao=".$_GET["agregacao"]; 
	}
	$listaBi_coluna_analise = $bi_coluna_analiseDAO->listarTodosRegistros();
	include_once($config->diretorio_raiz()."/src/view/bi_coluna_analise/Listar_todos_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "filtro")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$bi_coluna_analise = $bi_coluna_analiseDAO->buscarBi_coluna_analise($_GET["codigo"]);
	}else{
		$bi_coluna_analise = new Bi_coluna_analise();
		$bi_coluna_analise->setTipo(new Bi_tipo_dado());
		$bi_coluna_analise->setAnalise(new Bi_analise());
		$bi_coluna_analise->setAgregacao(new Bi_tipo_agregacao());
	}
	$listaTipo = $bi_tipo_dadoDAO->listarTodosRegistros(); 
	$listaAnalise = $bi_analiseDAO->listarTodosRegistros(); 
	$listaAgregacao = $bi_tipo_agregacaoDAO->listarTodosRegistros(); 
	if (isset($_GET["tipo"]) and $_GET["tipo"] != "")
	{
		$bi_coluna_analise->setTipo($bi_tipo_dadoDAO->buscarBi_tipo_dado($_GET["tipo"]));
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if (isset($_GET["analise"]) and $_GET["analise"] != "")
	{
		$bi_coluna_analise->setAnalise($bi_analiseDAO->buscarBi_analise($_GET["analise"]));
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if (isset($_GET["agregacao"]) and $_GET["agregacao"] != "")
	{
		$bi_coluna_analise->setAgregacao($bi_tipo_agregacaoDAO->buscarBi_tipo_agregacao($_GET["agregacao"]));
		$campo_buscar = "&agregacao=".$_GET["agregacao"]; 
	}
	include_once($config->diretorio_raiz()."/src/view/bi_coluna_analise/Filtro_lista_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "busca_por_campo_filtro")
{
	$entrouEmAlgumFiltro = false;
 	$where = " where 1=1";
	if(isset($_GET['codigo']) and $_GET["codigo"] != "" )
	{
		$where .= " and UPPER(codigo) like '%".strtoupper($_GET['codigo'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&codigo=".$_GET["codigo"]; 
	}
	if(isset($_POST['codigo']) and $_POST["codigo"] != "" )
	{
		$where .= " and UPPER(codigo) like '%".strtoupper($_POST['codigo'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&codigo=".$_POST["codigo"]; 
	}
	if(isset($_GET['coluna']) and $_GET["coluna"] != "" )
	{
		$where .= " and UPPER(coluna) like '%".strtoupper($_GET['coluna'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&coluna=".$_GET["coluna"]; 
	}
	if(isset($_POST['coluna']) and $_POST["coluna"] != "" )
	{
		$where .= " and UPPER(coluna) like '%".strtoupper($_POST['coluna'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&coluna=".$_POST["coluna"]; 
	}
	if(isset($_GET['tipo']) and $_GET['tipo'] != "")
	{
		$where .= " and tipo = ". $_GET['tipo'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if(isset($_POST['tipo']) and $_POST['tipo'] != "")
	{
		$where .= " and tipo = ". $_POST['tipo'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tipo=".$_POST["tipo"]; 
	}
	if(isset($_GET['oculto']) and $_GET["oculto"] != "" )
	{
		$where .= " and UPPER(oculto) like '%".strtoupper($_GET['oculto'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&oculto=".$_GET["oculto"]; 
	}
	if(isset($_POST['oculto']) and $_POST["oculto"] != "" )
	{
		$where .= " and UPPER(oculto) like '%".strtoupper($_POST['oculto'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&oculto=".$_POST["oculto"]; 
	}
	if(isset($_GET['mascara']) and $_GET["mascara"] != "" )
	{
		$where .= " and UPPER(mascara) like '%".strtoupper($_GET['mascara'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&mascara=".$_GET["mascara"]; 
	}
	if(isset($_POST['mascara']) and $_POST["mascara"] != "" )
	{
		$where .= " and UPPER(mascara) like '%".strtoupper($_POST['mascara'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&mascara=".$_POST["mascara"]; 
	}
	if(isset($_GET['analise']) and $_GET['analise'] != "")
	{
		$where .= " and analise = ". $_GET['analise'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if(isset($_POST['analise']) and $_POST['analise'] != "")
	{
		$where .= " and analise = ". $_POST['analise'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&analise=".$_POST["analise"]; 
	}
	if(isset($_GET['utilizada_para_calculo']) and $_GET["utilizada_para_calculo"] != "" )
	{
		$where .= " and UPPER(utilizada_para_calculo) like '%".strtoupper($_GET['utilizada_para_calculo'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&utilizada_para_calculo=".$_GET["utilizada_para_calculo"]; 
	}
	if(isset($_POST['utilizada_para_calculo']) and $_POST["utilizada_para_calculo"] != "" )
	{
		$where .= " and UPPER(utilizada_para_calculo) like '%".strtoupper($_POST['utilizada_para_calculo'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&utilizada_para_calculo=".$_POST["utilizada_para_calculo"]; 
	}
	if(isset($_GET['agregacao']) and $_GET['agregacao'] != "")
	{
		$where .= " and agregacao = ". $_GET['agregacao'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&agregacao=".$_GET["agregacao"]; 
	}
	if(isset($_POST['agregacao']) and $_POST['agregacao'] != "")
	{
		$where .= " and agregacao = ". $_POST['agregacao'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&agregacao=".$_POST["agregacao"]; 
	}
	if(isset($_GET['apelido']) and $_GET["apelido"] != "" )
	{
		$where .= " and UPPER(apelido) like '%".strtoupper($_GET['apelido'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&apelido=".$_GET["apelido"]; 
	}
	if(isset($_POST['apelido']) and $_POST["apelido"] != "" )
	{
		$where .= " and UPPER(apelido) like '%".strtoupper($_POST['apelido'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&apelido=".$_POST["apelido"]; 
	}
	if(isset($_GET['regra_calculada']) and $_GET["regra_calculada"] != "" )
	{
		$where .= " and UPPER(regra_calculada) like '%".strtoupper($_GET['regra_calculada'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&regra_calculada=".$_GET["regra_calculada"]; 
	}
	if(isset($_POST['regra_calculada']) and $_POST["regra_calculada"] != "" )
	{
		$where .= " and UPPER(regra_calculada) like '%".strtoupper($_POST['regra_calculada'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&regra_calculada=".$_POST["regra_calculada"]; 
	}
	if(isset($_GET['ordenacao']) and $_GET["ordenacao"] != "" )
	{
		$where .= " and UPPER(ordenacao) like '%".strtoupper($_GET['ordenacao'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&ordenacao=".$_GET["ordenacao"]; 
	}
	if(isset($_POST['ordenacao']) and $_POST["ordenacao"] != "" )
	{
		$where .= " and UPPER(ordenacao) like '%".strtoupper($_POST['ordenacao'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&ordenacao=".$_POST["ordenacao"]; 
	}
	$listaBi_coluna_analise = $bi_coluna_analiseDAO->buscarFiltro($where);
	include_once($config->diretorio_raiz()."/src/view/bi_coluna_analise/Listar_todos_registros.php");
}
