<?php
require_once("../../config/config_dir_raiz.php");
$config = new Config();
require_once($config->diretorio_raiz()."/src/model/bd/AnaliseDAO.php");
$analiseDAO = new AnaliseDAO();
$retorno = array();
if (isset($_GET["mod"]) && $_GET["mod"] == "form")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$analise = $analiseDAO->buscarAnalise($_GET["codigo"]);
	}else{
		$analise = new Analise();
	}
	include_once($config->diretorio_raiz()."/src/view/analise/Formulario.php");
}
elseif (isset($_GET["mod"]) && ($_GET["mod"] == "salvar" or $_GET["mod"] == "alterar"))
{
	$analise = new Analise();
	$analise->setCodigo($_POST['codigo']);
	$analise->setNome($_POST['nome']);
	$analise->setDescricao($_POST['descricao']);
	$analise->setQuery($_POST['query']);
	$dateData_inclusao = new DateTime;
	$analise->setData_inclusao($dateData_inclusao);
	$analise->setLog($_POST['log']);
	$codigo = "";
	if ($_GET["mod"] == "alterar")
	{
		$analise->setCodigo($_POST['codigo']);
		$codigo = $analise->getCodigo();
		try
		{
			$retorno["mensagem"] = "Alterado com sucesso!";
			$retorno["status"] = true;
			$analiseDAO->atualizar($analise);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	else
	{
		try
		{
			$retorno["mensagem"] = "Inserido com sucesso!";
			$retorno["status"] = true;
			$codigo = $analiseDAO->salvar($analise);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	echo json_encode($retorno);
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "excluir")
{
	try
	{
		$analise = $analiseDAO->buscarAnalise($_GET["codigo"]);
		$analiseDAO->excluir($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")
{
	$listaAnalise = $analiseDAO->listarTodosRegistros();
	include_once($config->diretorio_raiz()."/src/view/analise/Listar_todos_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "filtro")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$analise = $analiseDAO->buscarAnalise($_GET["codigo"]);
	}else{
		$analise = new Analise();
	}
	include_once($config->diretorio_raiz()."/src/view/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['nome']) and $_GET["nome"] != "" )
	{
		$where .= " and UPPER(nome) like '%".strtoupper($_GET['nome'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&nome=".$_GET["nome"]; 
	}
	if(isset($_POST['nome']) and $_POST["nome"] != "" )
	{
		$where .= " and UPPER(nome) like '%".strtoupper($_POST['nome'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&nome=".$_POST["nome"]; 
	}
	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['query']) and $_GET["query"] != "" )
	{
		$where .= " and UPPER(query) like '%".strtoupper($_GET['query'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&query=".$_GET["query"]; 
	}
	if(isset($_POST['query']) and $_POST["query"] != "" )
	{
		$where .= " and UPPER(query) like '%".strtoupper($_POST['query'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&query=".$_POST["query"]; 
	}
	if(isset($_GET['data_inclusaoIni']) and $_GET['data_inclusaoIni'] != "" and $_GET['data_inclusaoFim'] != "")
	{
		$dateIni = DateTime::createFromFormat('d/m/Y H:i', $_GET['data_inclusaoIni']);
		$dateFim = DateTime::createFromFormat('d/m/Y H:i', $_GET['data_inclusaoFim']);
		$where .= " and data_inclusao >= '".$dateIni->format('Y-m-d H:i').''."'";
		$where .= " and data_inclusao <= '".$dateFim->format('Y-m-d H:i').''."'";
		$entrouEmAlgumFiltro = true;
	}
	if(isset($_POST['data_inclusaoIni']) and $_POST['data_inclusaoIni'] != "" and $_POST['data_inclusaoFim'] != "")
	{
		$dateIni = DateTime::createFromFormat('d/m/Y H:i', $_POST['data_inclusaoIni']);
		$dateFim = DateTime::createFromFormat('d/m/Y H:i', $_POST['data_inclusaoFim']);
		$where .= " and data_inclusao >= '".$dateIni->format('Y-m-d H:i').''."'";
		$where .= " and data_inclusao <= '".$dateFim->format('Y-m-d H:i').''."'";
		$entrouEmAlgumFiltro = true;
	}
	if(isset($_GET['log']) and $_GET["log"] != "" )
	{
		$where .= " and UPPER(log) like '%".strtoupper($_GET['log'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&log=".$_GET["log"]; 
	}
	if(isset($_POST['log']) and $_POST["log"] != "" )
	{
		$where .= " and UPPER(log) like '%".strtoupper($_POST['log'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&log=".$_POST["log"]; 
	}
	$listaAnalise = $analiseDAO->buscarFiltro($where);
	include_once($config->diretorio_raiz()."/src/view/analise/Listar_todos_registros.php");
}
