<?php
//===================================================================================================================
//============================================LIBRERIAS Y VARIABLES==================================================
//===================================================================================================================

//conexion-----------------------------------------------------------------------------------------------------------
require_once '../../conexion/conexion.php';
$bd = new connexion();
$bd->query("SET NAMES 'utf8'");
//VARIABLES----------------------------------------------------------------------------------------------------------
//Id del documento
$id_doc = "20".$_POST['doc'];
$id = $_POST['doc'];
//Texto de la Etiqueta
$txt_etq = $_POST['txt_etq'];
//Padre de la Etiqueta
$padre_etq = "20".$_POST['padre'];
//Campo de la Etiqueta
$campo_etq = $_POST['campo'];
//Esquema de la Etiqueta
$esq_etq = $_POST['esquema'];
//===================================================================================================================
//============================================ACCIONES===============================================================
//===================================================================================================================
//Me creo el id unico para el campo clave----------------------------------------------------------------------------
$codigo_etq = get_id_unico();
//Busco si el campo esta relacionado a alguna lista------------------------------------------------------------------
$rel_lista = listaDoc($bd, $esq_etq, $campo_etq);
//VERIFICO SI TIENE UNA LISTA ASIGNADA PARA HACER LA RELACION CORRESPONDIENTE----------------------------------------
//DEBO EVALUAR SI EL VALOR DE LISTADOC ES IGUAL A -1 o -2 o -5
//DEBO ASIGNAR EL VALOR DE ETIQUETA EL CODIGO DEL CONTACTO
if ($rel_lista >= 0) {
  $etiqueta = 0;
}
//VALIDO SI ESTA RELACIONADO A UN CONTACTO U ORGANIZACION PARA ASIGNAR EL VALOR CORRESPONDIENTE---------------------
if ($rel_lista == -1 OR $rel_lista == -2 OR $rel_lista == -5) {
  //Busco el codigo del contacto por el contenido de la descripcion
  $etiqueta = buscarCodigo($bd, $txt_etq);
}
//VERIFICO EL ARDEN ASIGNADO----------------------------------------------------------------------------------------
$orden = ordenCampos($bd, $esq_etq, $campo_etq);
//Verifico el tipo del campo a crear--------------------------------------------------------------------------------
$tipo_campo = tipoCampo($bd, $esq_etq, $campo_etq);
//VERIFICO  EL FORMATO PARA ASIGNAR AL CAMPO VIMPORTE SI ES TIPO NUMERICO-------------------------------------------
if ($tipo_campo == "N") {
  $vimporte = (float) $txt_etq;
}else{
  $vimporte = 0;
}
//Valido si es una fecha o no para determinar la qry a utilizar------------------------------------------------------
if ($tipo_campo == 'D') {
  //El campo es de tipo fecha----------------------------------------------------------------------------------------
  $fecha1 = $txt_etq;
  $vfecha =  $txt_etq." 00:00:00";
  $vfecha2 = date("d/m/Y",strtotime($fecha1));
  crearNuevaNotaFecha($bd, $codigo_etq, $id_doc, $vfecha2, $rel_lista, $etiqueta, $campo_etq, $esq_etq, $padre_etq, $orden, $vimporte, $vfecha);
}elseif ($tipo_campo != 'D') {
  //El campo no es del tipo fecha------------------------------------------------------------------------------------
  crearNuevaNota($bd, $codigo_etq, $id_doc, $txt_etq, $rel_lista, $etiqueta, $campo_etq, $esq_etq, $padre_etq, $orden, $vimporte);
}
//===================================================================================================================
//============================================HTML===================================================================
//===================================================================================================================
//===================================================================================================================
//============================================FUNCIONES==============================================================
//===================================================================================================================
//CREO EL REGISTRO DE LA NUEVA ETIQUETA DEL TIPO NO FECHA EN LA BILIOTECA--------------------------------------------
function crearNuevaNota($bd, $codigo_etq, $id_doc, $txt_etq, $rel_lista, $etiqueta, $campo_etq, $esq_etq, $padre_etq, $orden, $vimporte)
{
  $query = "  INSERT INTO BIBLIOTECA_ETIQUETAS ( CODIGO, CLAVE, DESCRIPCION, GRUPO, ETIQUETA, GRUPOE, ESQUEMA, PADRE, ORDEN, FECHA, VALOR, REGISTRO, VIMPORTE, VFECHA, CARPETA_SINCRO, PLANTILLAOCR, ZONAOCR )
              VALUES ( '$codigo_etq', '$id_doc', '$txt_etq', $rel_lista, $etiqueta, $campo_etq, $esq_etq, '$padre_etq', $orden, NOW(), '', 0, $vimporte, NULL, '', 0, 0 )";
  mysqli_query($bd, $query);
}
//CREO EL REGISTRO DE LA NUEVA ETIQUETA DEL TIPO NO FECHA EN LA BILIOTECA--------------------------------------------
function crearNuevaNotaFecha($bd, $codigo_etq, $id_doc, $vfecha2, $rel_lista, $etiqueta, $campo_etq, $esq_etq, $padre_etq, $orden, $vimporte, $vfecha)
{
  $query = "  INSERT INTO BIBLIOTECA_ETIQUETAS ( CODIGO, CLAVE, DESCRIPCION, GRUPO, ETIQUETA, GRUPOE, ESQUEMA, PADRE, ORDEN, FECHA, VALOR, REGISTRO, VIMPORTE, VFECHA, CARPETA_SINCRO, PLANTILLAOCR, ZONAOCR )
              VALUES ( '$codigo_etq', '$id_doc', '$vfecha2', $rel_lista, $etiqueta, $campo_etq, $esq_etq, '$padre_etq', $orden, NOW(), '', 0, $vimporte, '$vfecha', '', 0, 0 )";
  mysqli_query($bd, $query);
}
//Funcion para obtener la clave unica del registro-------------------------------------------------------------------
function get_id_unico() {
  return date( "YmdHis" ) . sprintf( "%04d", rand( 0, 9999 ) );
}
//FUNCION PARA OBTENER LOS DATOS DEL CAMPO DEL ESQUEMA---------------------------------------------------------------
function listaDoc($bd, $esq_etq, $campo_etq){
  $sql =  " SELECT E.LISTA
            FROM ESQUEMAS_ESTRUCTURA E
            WHERE E.ESQUEMA = $esq_etq AND E.CODIGO = $campo_etq";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $listaDoc = $result['LISTA'];
  $base->close();
  return $listaDoc;
 }
  //FUNCION PARA OBTENER EL ORDEN DE LOS CAMPOS---------------------------------------------------------------------
function ordenCampos($bd, $esq_etq, $campo_etq){
  $sql =  " SELECT E.ORDEN
      FROM ESQUEMAS_ESTRUCTURA E
      WHERE E.ESQUEMA = $esq_etq AND E.CODIGO = $campo_etq";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $listaDoc = $result['ORDEN']-1;
  $base->close();
  return $listaDoc;
 }
 //FUNCION PARA OBTENER EL TIPO DEL CAMPO DEL ESQUEMA---------------------------------------------------------------
function tipoCampo($bd, $esq_etq, $campo_etq){
  $sql =  " SELECT E.TIPO
            FROM ESQUEMAS_ESTRUCTURA E
            WHERE E.ESQUEMA = $esq_etq AND E.CODIGO = $campo_etq";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $listaDoc = $result['TIPO'];
  $base->close();
  return $listaDoc;
 }
 //FUNCION PARA TRAER EL CODIGO DEL CONTACTO CUANDO ESTE SE RAELACIONA A UN DOCUMENTO-------------------------------
function buscarCodigo($bd, $txt_etq)
{
  $sql =  " SELECT C.CODIGO
            FROM CONTACTOS C
            WHERE C.MOSTRAR = '$txt_etq'";
    $base = $bd->query($sql);
    $result = mysqli_fetch_array($base);
    $cod_contact = $result['CODIGO'];
    $base->close();
    return $cod_contact;
}
?>