<?php
require_once("../../config/config_dir_raiz.php");
$config = new Config();
require_once($config->diretorio_raiz()."/src/model/bd/Bi_filtroDAO.php");
$bi_filtroDAO = new Bi_filtroDAO();
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_dadoDAO.php");
$bi_tipo_dadoDAO = new Bi_tipo_dadoDAO(); 
require_once($config->diretorio_raiz()."/src/model/bd/Bi_tipo_calculo_dataDAO.php");
$bi_tipo_calculo_dataDAO = new Bi_tipo_calculo_dataDAO(); 
$retorno = array();
if (isset($_GET["mod"]) && $_GET["mod"] == "form")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$bi_filtro = $bi_filtroDAO->buscarBi_filtro($_GET["codigo"]);
	}else{
		$bi_filtro = new Bi_filtro();
		$bi_filtro->setAnalise(new Bi_analise());
		$bi_filtro->setTipo(new Bi_tipo_dado());
		$bi_filtro->setTipo_calculo_data(new Bi_tipo_calculo_data());
	}
	$listaAnalise = array(); 
	$listaTipo = $bi_tipo_dadoDAO->listarTodosRegistros(); 
	$listaTipo_calculo_data = $bi_tipo_calculo_dataDAO->listarTodosRegistros(); 
	if (isset($_GET["analise"]) and $_GET["analise"] != "")
	{
		$bi_filtro->setAnalise($bi_analiseDAO->buscarBi_analise($_GET["analise"]));
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if (isset($_GET["tipo"]) and $_GET["tipo"] != "")
	{
		$bi_filtro->setTipo($bi_tipo_dadoDAO->buscarBi_tipo_dado($_GET["tipo"]));
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if (isset($_GET["tipo_calculo_data"]) and $_GET["tipo_calculo_data"] != "")
	{
		$bi_filtro->setTipo_calculo_data($bi_tipo_calculo_dataDAO->buscarBi_tipo_calculo_data($_GET["tipo_calculo_data"]));
		$campo_buscar = "&tipo_calculo_data=".$_GET["tipo_calculo_data"]; 
	}
	include_once($config->diretorio_raiz()."/src/view/bi_filtro/Formulario.php");
}
elseif (isset($_GET["mod"]) && ($_GET["mod"] == "salvar" or $_GET["mod"] == "alterar"))
{
	$bi_filtro = new Bi_filtro();
	$bi_filtro->setCodigo($_POST['codigo']);
	$bi_filtro->setAnalise($_POST['analise']);
	$bi_filtro->setTipo($_POST['tipo']);
	$bi_filtro->setId($_POST['id']);
	$bi_filtro->setDescricao($_POST['descricao']);
	if (isset($_POST['obrigatorio']))
	{
		$bi_filtro->setObrigatorio($_POST['obrigatorio']);
	}
	else
	{
		$bi_filtro->setObrigatorio("0");
	}
	$bi_filtro->setTabela_buscar($_POST['tabela_buscar']);
	$bi_filtro->setColuna_buscar($_POST['coluna_buscar']);
	$bi_filtro->setTipo_calculo_data($_POST['tipo_calculo_data']);
	$bi_filtro->setValor_calculo_data($_POST['valor_calculo_data']);
	$bi_filtro->setTipo_dia_calculo_data($_POST['tipo_dia_calculo_data']);
	$codigo = "";
	if ($_GET["mod"] == "alterar")
	{
		$bi_filtro->setCodigo($_POST['codigo']);
		$codigo = $bi_filtro->getCodigo();
		try
		{
			$retorno["mensagem"] = "Alterado com sucesso!";
			$retorno["status"] = true;
			$bi_filtroDAO->atualizar($bi_filtro);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	else
	{
		try
		{
			$retorno["mensagem"] = "Inserido com sucesso!";
			$retorno["status"] = true;
			$codigo = $bi_filtroDAO->salvar($bi_filtro);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	echo json_encode($retorno);
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "excluir")
{
	try
	{
		$bi_filtro = $bi_filtroDAO->buscarBi_filtro($_GET["codigo"]);
		$bi_filtroDAO->excluir($bi_filtro);
		$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["analise"]) and $_GET["analise"] != "")
	{
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if (isset($_GET["tipo"]) and $_GET["tipo"] != "")
	{
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if (isset($_GET["tipo_calculo_data"]) and $_GET["tipo_calculo_data"] != "")
	{
		$campo_buscar = "&tipo_calculo_data=".$_GET["tipo_calculo_data"]; 
	}
	$listaBi_filtro = $bi_filtroDAO->listarTodosRegistros();
	include_once($config->diretorio_raiz()."/src/view/bi_filtro/Listar_todos_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "filtro")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$bi_filtro = $bi_filtroDAO->buscarBi_filtro($_GET["codigo"]);
	}else{
		$bi_filtro = new Bi_filtro();
		$bi_filtro->setAnalise(new Bi_analise());
		$bi_filtro->setTipo(new Bi_tipo_dado());
		$bi_filtro->setTipo_calculo_data(new Bi_tipo_calculo_data());
	}
	$listaAnalise = array(); 
	$listaTipo = $bi_tipo_dadoDAO->listarTodosRegistros(); 
	$listaTipo_calculo_data = $bi_tipo_calculo_dataDAO->listarTodosRegistros(); 
	if (isset($_GET["analise"]) and $_GET["analise"] != "")
	{
		$bi_filtro->setAnalise($bi_analiseDAO->buscarBi_analise($_GET["analise"]));
		$campo_buscar = "&analise=".$_GET["analise"]; 
	}
	if (isset($_GET["tipo"]) and $_GET["tipo"] != "")
	{
		$bi_filtro->setTipo($bi_tipo_dadoDAO->buscarBi_tipo_dado($_GET["tipo"]));
		$campo_buscar = "&tipo=".$_GET["tipo"]; 
	}
	if (isset($_GET["tipo_calculo_data"]) and $_GET["tipo_calculo_data"] != "")
	{
		$bi_filtro->setTipo_calculo_data($bi_tipo_calculo_dataDAO->buscarBi_tipo_calculo_data($_GET["tipo_calculo_data"]));
		$campo_buscar = "&tipo_calculo_data=".$_GET["tipo_calculo_data"]; 
	}
	include_once($config->diretorio_raiz()."/src/view/bi_filtro/Filtro_lista_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "buscarBi_analisePorNome")
{
	$listaBi_analise = $bi_analiseDAO->buscarBi_analisePorNome($_GET['valor']);
	include_once($config->diretorio_raiz()."/src/view/bi_filtro/BuscarBi_analisePorNome.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['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['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['id']) and $_GET["id"] != "" )
	{
		$where .= " and UPPER(id) like '%".strtoupper($_GET['id'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&id=".$_GET["id"]; 
	}
	if(isset($_POST['id']) and $_POST["id"] != "" )
	{
		$where .= " and UPPER(id) like '%".strtoupper($_POST['id'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&id=".$_POST["id"]; 
	}
	if(isset($_GET['descricao']) and $_GET["descricao"] != "" )
	{
		$where .= " and UPPER(descricao) like '%".strtoupper($_GET['descricao'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&descricao=".$_GET["descricao"]; 
	}
	if(isset($_POST['descricao']) and $_POST["descricao"] != "" )
	{
		$where .= " and UPPER(descricao) like '%".strtoupper($_POST['descricao'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&descricao=".$_POST["descricao"]; 
	}
	if(isset($_GET['obrigatorio']) and $_GET["obrigatorio"] != "" )
	{
		$where .= " and UPPER(obrigatorio) like '%".strtoupper($_GET['obrigatorio'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&obrigatorio=".$_GET["obrigatorio"]; 
	}
	if(isset($_POST['obrigatorio']) and $_POST["obrigatorio"] != "" )
	{
		$where .= " and UPPER(obrigatorio) like '%".strtoupper($_POST['obrigatorio'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&obrigatorio=".$_POST["obrigatorio"]; 
	}
	if(isset($_GET['tabela_buscar']) and $_GET["tabela_buscar"] != "" )
	{
		$where .= " and UPPER(tabela_buscar) like '%".strtoupper($_GET['tabela_buscar'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tabela_buscar=".$_GET["tabela_buscar"]; 
	}
	if(isset($_POST['tabela_buscar']) and $_POST["tabela_buscar"] != "" )
	{
		$where .= " and UPPER(tabela_buscar) like '%".strtoupper($_POST['tabela_buscar'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tabela_buscar=".$_POST["tabela_buscar"]; 
	}
	if(isset($_GET['coluna_buscar']) and $_GET["coluna_buscar"] != "" )
	{
		$where .= " and UPPER(coluna_buscar) like '%".strtoupper($_GET['coluna_buscar'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&coluna_buscar=".$_GET["coluna_buscar"]; 
	}
	if(isset($_POST['coluna_buscar']) and $_POST["coluna_buscar"] != "" )
	{
		$where .= " and UPPER(coluna_buscar) like '%".strtoupper($_POST['coluna_buscar'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&coluna_buscar=".$_POST["coluna_buscar"]; 
	}
	if(isset($_GET['tipo_calculo_data']) and $_GET['tipo_calculo_data'] != "")
	{
		$where .= " and tipo_calculo_data = ". $_GET['tipo_calculo_data'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tipo_calculo_data=".$_GET["tipo_calculo_data"]; 
	}
	if(isset($_POST['tipo_calculo_data']) and $_POST['tipo_calculo_data'] != "")
	{
		$where .= " and tipo_calculo_data = ". $_POST['tipo_calculo_data'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tipo_calculo_data=".$_POST["tipo_calculo_data"]; 
	}
	if(isset($_GET['valor_calculo_data']) and $_GET["valor_calculo_data"] != "" )
	{
		$where .= " and UPPER(valor_calculo_data) like '%".strtoupper($_GET['valor_calculo_data'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&valor_calculo_data=".$_GET["valor_calculo_data"]; 
	}
	if(isset($_POST['valor_calculo_data']) and $_POST["valor_calculo_data"] != "" )
	{
		$where .= " and UPPER(valor_calculo_data) like '%".strtoupper($_POST['valor_calculo_data'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&valor_calculo_data=".$_POST["valor_calculo_data"]; 
	}
	if(isset($_GET['tipo_dia_calculo_data']) and $_GET["tipo_dia_calculo_data"] != "" )
	{
		$where .= " and UPPER(tipo_dia_calculo_data) like '%".strtoupper($_GET['tipo_dia_calculo_data'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tipo_dia_calculo_data=".$_GET["tipo_dia_calculo_data"]; 
	}
	if(isset($_POST['tipo_dia_calculo_data']) and $_POST["tipo_dia_calculo_data"] != "" )
	{
		$where .= " and UPPER(tipo_dia_calculo_data) like '%".strtoupper($_POST['tipo_dia_calculo_data'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&tipo_dia_calculo_data=".$_POST["tipo_dia_calculo_data"]; 
	}
	$listaBi_filtro = $bi_filtroDAO->buscarFiltro($where);
	include_once($config->diretorio_raiz()."/src/view/bi_filtro/Listar_todos_registros.php");
}
