<?php
//=============================================================================
//VARIABLES--------------------------------------------------------------------
define('ALIAS_TIPO_EXP', 'VEHICULO_STOCK');
define('ALIAS_COD_VEHICULO', 'VEHICULO');
define('PREFIJO_DIR_EXP', 'XT');
define('PREFIJO_DIR_ANYO_EXP', 'XA');
define('AMBITO', 'PUB');
define('TIPO_DIRECTORIO', 'C');
define('VERMIN', '1.0');
define('PREFIJO_CONTADOR', 'EXP0000000000000');
define('ALIAS_ESQUEMA', 'DOC_VEHICULO');
$cod_vehiculo = $_POST["cod_car_auc"];
$anyo_actual = date('Y'); 
$user = $cli_user;
//=============================================================================
//FUONCIONES-------------------------------------------------------------------
include ('funcSyncPhotoAUC.php');
//=============================================================================
//ACCIONES---------------------------------------------------------------------
//CONSULTO EL CODIGO DEL TIPO DE EXPEDIENTE------------------------------------
$cod_tipo_exp = selectCodigoTipoExpediente($bd_conn, ALIAS_TIPO_EXP);
//CONSULTO EL CODIGO DEL CAMPO DEL ESQUEMA ENTIDAD VEHICULO--------------------
$cod_etq_vehiculo = selectCodigoEtiquetaEsquema($bd_conn, ALIAS_COD_VEHICULO);
//VERIFICO LA EXISTENCIA DEL EXPEDIENTE DEL COCHE------------------------------
$cod_exp = selectCodigoExpedienteVehiculo($bd_conn, $cod_etq_vehiculo, $cod_vehiculo, $cod_tipo_exp);
//EVALUO SI SE EFECTUA CREATE O UPDATE-----------------------------------------
if ( $cod_exp == '' OR $cod_exp == null ) {
    //=========================================================================
    //CREATE NUEVO EXPEDIENTE==================================================
    //VERIFICO SI EL ANYO DEL EXPEDIENTE ESTA CREADO---------------------------
    $dir_anyo = PREFIJO_DIR_ANYO_EXP . $cod_tipo_exp . '.' . $anyo_actual;
    $exist_dir_anyo_exp = validaDirAnyoExpediente($bd_conn, $dir_anyo);
    //DE NO EXISTIR SE CREA----------------------------------------------------
    if ( $exist_dir_anyo_exp == 0) {
        $ext = '';
        $padre = PREFIJO_DIR_EXP . $cod_tipo_exp;
        $datos_padre = selectDatosPadre($bd_conn, $padre);
        $tamano = 0;
        $acceso_doc = $datos_padre['ACCESO'];
        $ubicacion = $datos_padre['UBICACION'];
        $partes = 1;
        $sufijo = '';
        $icono = '';
        $expte_codigo = '';
        docBibliotecaElementos($bd_conn, $dir_anyo, $anyo_actual, $ext, $padre, TIPO_DIRECTORIO, $tamano, $user, $partes, $sufijo, VERMIN, AMBITO, $acceso_doc, $ubicacion, $icono, $expte_codigo );
    }
    //CREO EL REGISTRO DEL EXPEDIENTE------------------------------------------
    $cod_contador = PREFIJO_CONTADOR . $cod_tipo_exp;
    $datos_contador = selectDatosContador($bd_conn, $cod_contador);
    $masc_cont = str_pad($datos_contador["CONTADORSIG"], strlen($datos_contador["MASCARA"]), '0', STR_PAD_LEFT);
    $cod_exp = $datos_contador["PREFIJO"] . $masc_cont . $datos_contador["SUFIJO"];
    $prox_cont = $datos_contador["CONTADORSIG"] + 1;
    UpdateContador($bd_conn, $prox_cont, $cod_contador);
    $padre = $dir_anyo;
    $datos_padre = selectDatosPadre($bd_conn, $padre);
    $datos_vehiculo = selectDatosVehiculo($bd_conn, $cod_vehiculo);
    $clave_exp = get_id_unico();
    $nombre = $datos_vehiculo['MOSTRAR'];
    $ext = '';
    $tamano = 0;
    $partes = 1;
    $sufijo = '';
    $acceso_doc = $datos_padre['ACCESO'];
    $ubicacion = $datos_padre['UBICACION'] . $padre . '/';
    $icono = 'expediente';
    $expte_codigo = $cod_exp;
    docBibliotecaElementos($bd_conn, $clave_exp, $nombre, $ext, $dir_anyo, TIPO_DIRECTORIO, $tamano, $user, $partes, $sufijo, VERMIN, AMBITO, $acceso_doc, $ubicacion, $icono, $expte_codigo );
    $etq_exp = selectEtqExpediente($bd_conn, $cod_tipo_exp);
    while ($row = $etq_exp->fetch_object()){
        //CREO LAS ETIQUETAS---------------------------------------------------
        switch ($row->CONCEPTO) {
            case 1://EQT EXPDIENTE
                $descripcion = $cod_exp;
                $etiqueta = 0;
                $crea_etiqueta = 1;
                break;
            case 2://EQT FECHA APERTURA
                $descripcion = date('d/m/Y');
                $etiqueta = 0;
                $crea_etiqueta = 1;
                break;
            case 3://EQT TIPO EXPDIENTE
                $descripcion = selectNombreTipoExpediente($bd_conn, $cod_tipo_exp);
                $etiqueta = $cod_tipo_exp;
                $crea_etiqueta = 1;
                break;
            case 5://EQT MATRICULA
                $descripcion = $datos_vehiculo['MATRICULA'];
                $etiqueta = $cod_vehiculo;
                $crea_etiqueta = 1;
                break;
            case 6://EQT BASTIDOR
                $descripcion = $datos_vehiculo['BASTIDOR'];
                $etiqueta = $cod_vehiculo;
                $crea_etiqueta = 1;
                break;
            case 93://EQT VEHICULO
                $descripcion = $datos_vehiculo['MOSTRAR'];
                $etiqueta = $cod_vehiculo;
                $crea_etiqueta = 1;
                break;
            case 96://EQT IDCAR
                $descripcion = $datos_vehiculo['IDCAR'];
                $etiqueta = $cod_vehiculo;
                $crea_etiqueta = 1;
                break;
            default:
                $crea_etiqueta = 0;
                break;
        }
        $orden = $row->ORDEN;
        $grupoe = $row->CONCEPTO;
        if ( $crea_etiqueta == 1 ) {
            insertEtiquetasExpediente($bd_conn, $cod_exp, $orden, $descripcion, $grupoe, $cod_tipo_exp, $etiqueta );   
        }     
    }
} elseif ( $cod_exp !== '') {
    //UPDATE EXPEDIENTE--------------------------------------------------------
}
//=============================================================================
//INSERTAR LA FOTO DEL COCHE---------------------------------------------------
//Creo la clave
$clave = get_id_unico();
//Creo la Entrada
$entrada = get_id_unico();
//nombre del documento
$nombre = $_POST['doc_name'];
$nombre = trim($nombre);
//Tamaño	
$tamano = $_POST["doc_size"];
//este es el tipo de archivo
$ext = get_extension($nombre);
//Valido el tipo de Clasificacion
$clasificar = 0;
//ambito
$ambito = "PUB";
//Origen
$origen = "AWA";
//ordenador
$ordenador = "EXTERNO";
$padre = ( $cod_exp == '' OR $cod_exp == null ) ? $clave_exp : selectClaveExpediente($bd_conn, $cod_exp) ;//DEBO CONSULTAR LA CLAVE DEL EXPEDIENTE
//$padre = $clave_exp;
//permisos
$permiso = permisosDir($bd_conn, $padre);
//Archivo heredado
$archivo = archivoHeredado($bd_conn, $padre);
//este es el acesso heredado del directorio padre
$acceso_doc = accesoDoc($bd_conn, $padre);
//CARGO EL VALOR DE UBICACION DEL NUEVO PADRE
$ubic_padre_doc = ubicacionPadreDoc($bd_conn, $padre);
//ARMO LA NUEVA UBICACION AÑADIENDO EL VALOR DEL PADRE
$ubicacion = $ubic_padre_doc.$padre."/";
//VALIDAR EL NOMBRE DEL DOCUMENTO----------------------------------------------
//-----------------------------------------------------------------------------
$exist_doc = docExist($bd_conn, $nombre, $padre, $ambito);
while ( $exist_doc == 1) {
    $a = explode( '.', $nombre );
    $nombre_doc = $a[0];
    $ext_doc = end( $a );
    //Cuento la cantidad existente al momento
    $cant_duplicado = numeroDocsDuplicados($bd_conn, $nombre_doc, $padre);
    //Le sumo uno
    $new_num = $cant_duplicado + 1;
    //Armo el nuevo nombre
    $nombre = $nombre_doc."(".$new_num.").".$ext_doc;
    $exist_doc = docExist($bd_conn, $nombre, $padre, $ambito);
}
$coding_file = $_POST["doc_fichero"];
$binario = base64_decode($coding_file);
$binario = mysqli_real_escape_string($bd_conn, $binario);
//valido tamaño maximo permitido por los ficheros------------------------------
$max_fichero = maxTamanoFichero($bd_conn);
//verificar si existe tabla con espacio disponible-----------------------------
$tabla_sufijo = tablaDestDisp($bd_conn, $tamano, $max_fichero, $name_avanws);
//=============================================================================
if ($tabla_sufijo == "") {
    $sufijo = substr(get_id_unico(),0, 14);
    $tabla_sufijo = "FICHEROS_" . $sufijo;
    $sql = "CREATE TABLE ". $tabla_sufijo . " LIKE FICHEROS_PATRON";
    $base = $bd->query(strtoupper($sql));
}else{
    $sufijo = substr($tabla_sufijo, 9, 14);
}
//=============================================================================
//Valido la cantidad de partes y realizao el insert en la Tabla de Ficheros
//=============================================================================
$parte = 1;
$entrada = get_id_unico();
$fichero_ok = subirContenido($bd_conn, $parte, $sufijo, $binario, $tamano, $clave, $entrada);
//Valido la cant de partes a utilizar en la Biblioteca de Elementos------------
//=============================================================================
if ($parte == 1) {
    $partes = $parte;
}else{
    $partes = $parte -1;
}
//=============================================================================
docBibliotecaElementosDocumento($bd_conn, $clave, $nombre, $ext, $padre, $tamano, $acceso_doc, $user, $entrada, $ordenador, $partes, $sufijo, $ambito, $permiso, $ubicacion, $origen, $archivo);
if (isset($_POST['doc_trace'])) {
    if ($_POST['doc_trace'] !== '') {
        $accion_historial = $_POST['doc_trace'];
    }else {
        $accion_historial = 1;
    }
}else {
    $accion_historial = 1;
}
historialLog($bd_conn, $clave, $user, $nombre, $ordenador, $ambito, $acceso_doc, $tamano, $accion_historial);   
//=============================================================================
//CREO LAS ETIQUETAS DE LA FOTO--------------------------------------------====
//ETIQUETA DEL EXPEDIENTE
$cod_etiqueta = get_id_unico();
$grupo = 0;
$etiqueta = 0;
$grupo_e = 1;
$esquema = -1;
$padre = '';
$valor = $cod_exp;
insertBibliotecaEtiquetas($bd_conn, $cod_etiqueta,  $clave, $cod_exp, $grupo, $etiqueta, $grupo_e, $esquema, $padre, $valor );
//ETIQUETAS DEL ESQUEMA
$campos_esquema = selectEtqEsquema($bd_conn, ALIAS_ESQUEMA);
while ($row = $campos_esquema->fetch_object()){
    $cod_etiqueta = get_id_unico();
    $valor = '';
    switch ($row->CODIGO) {
        case 1://CONTROL DEL ESQUEMA
            $descripcion = get_id_unico();
            $grupo = $row->LISTA;
            $etiqueta = 1;
            $crea_etq = 1;
            $padre = '';
            break;
        case 2://FECHA
            $descripcion = date('d/m/Y');
            $grupo = $row->LISTA;
            $etiqueta = 0;
            $crea_etq = 1;
            break;
        case 3://FOTO
            $descripcion = 'FOTO';
            $grupo = $row->LISTA;
            $etiqueta = 9;
            $crea_etq = 1;
            break;
        case 8://VEHICULO
            $descripcion = $datos_vehiculo['MOSTRAR'];
            $grupo = 0;
            $etiqueta = $cod_vehiculo;
            $crea_etq = 1;
            break;
        case 9://PUBLICABLE
            $descripcion = 'SI';
            $grupo = $row->LISTA;
            $etiqueta = 1;
            $crea_etq = 1;
            break;
        default:
            $crea_etq = 0;
            break;
    }
    if ( $crea_etq == 1 ) {
        insertBibliotecaEtiquetas($bd_conn, $cod_etiqueta, $clave, $descripcion, $grupo, $etiqueta, $row->CODIGO, $row->ESQUEMA, $padre, $valor );
    } 
    $padre  = ( $row->CODIGO == 1 ) ? $cod_etiqueta : $padre ;       
}
$data = array();
$data[] = array ( 
    "code" => 200,
    "message" => "Foto cargada correctamente",
    "cod_expediente" => $cod_exp,
    "cod_foto" => $clave,
    "padre" => $padre,
    "cod_exp" => $cod_exp
);
?>