<?php
$_req = "UPDATE VEHICULOS ";
$_set = "SET PAPELERA = 0";
switch ($ipo_update) {
    case 1://EXT
        $_where = "WHERE ID_EXT = '" . $_POST["car_id_ext"] . "' AND CODE_EXT = '" . $_POST["app_cod_ext"] . "'";
        break;
    
    case 2://BASTIDOR
        $_where = "WHERE BASTIDOR = '" . $_POST["car_bastidor"] . "'";
        break;
}
foreach ($_POST as $key => $value) {
    $value = $bd_conn->real_escape_string($value);
    switch ($key) {
        case 'car_tipo':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", TIPO = '" . $value . "'"; 
            }
            break;
        case 'car_marca':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", MARCA = '" . $value . "'"; 
            }
            break;
        case 'car_marca_lit':
            if ( $value !== null AND $value !== '' ) {
                $desc_marca = mb_strtoupper($value, 'UTF-8');
                $cod_marca = codigoMarca($bd_conn, $value);
                $cod_marca = ( $cod_marca == '') ? 0 : $cod_marca ;
                $_set .= ", MARCA = '" . $cod_marca . "'"; 
            }
            break;
        case 'car_modelo':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", MODELO = '" . $value . "'"; 
            }
            break;
        case 'car_modelo_lit':
            if ( $value !== null AND $value !== '' ) {
                $desc_modelo = mb_strtoupper($value, 'UTF-8');
                $cod_modelo = codigoModelo($bd_conn, $desc_modelo);
                $cod_modelo = ( $cod_modelo == '') ? 0 : $cod_modelo ;
                $_set .= ", MODELO = '" . $cod_modelo . "'"; 
            }
            break;
        case 'car_version':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VERSION = '" . mb_strtoupper($value, 'UTF-8') . "'"; 
            }
            break;
        case 'car_gama':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", GAMA = '" . mb_strtoupper($value, 'UTF-8') . "'"; 
            }
            break;
        case 'car_color':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COLOR = '" . mb_strtoupper($value, 'UTF-8') . "'"; 
            }
            break;
        case 'car_color_int':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COLORINT_LIT = '" . mb_strtoupper($value, 'UTF-8') . "'"; 
            }
            break;
        case 'car_notas':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", NOTAS = '" . mb_strtoupper($value, 'UTF-8') . "'"; 
            }
            break;
        case 'car_km':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", KM = '" . $value . "'"; 
            }
            break;
        case 'car_year':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", ANO_FAB = '" . $value . "'";  
            }
            break;
        case 'car_precio_venta':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_TOTALSINDTO = " . $value; 
            }
            break;
        case 'car_venta_total':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_TOTAL = " . $value; 
            }
            break;
        case 'car_venta_base':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_BASE = " . $value; 
            }
            break;
        case 'car_venta_opciones':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_OPCIONES = " . $value; 
            }
            break;
        case 'car_venta_pff':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_PFF = " . $value; 
            }
            break;
        case 'car_venta_transporte':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_TRANSPORTE = " . $value; 
            }
            break;
        case 'car_venta_tipoiva':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_TIPOIVA = '" . $value . "'"; 
            }
            break;
        case 'car_venta_tipoiedmt':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_TIPOIEDMT = '" . $value . "'"; 
            }
            break;
        case 'car_precio_compra':
            if ( $value !== null AND $value !== '' ) {
                //$_set .= ", PRECIO_COMPRA = " . $value; 
            }
            $_set .= ", COMPRA_TOTAL = " . $value; 
            break;
        case 'car_compra_pff':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COMPRA_PFF = " . $value; 
            }
            break;
        case 'car_compra_opciones':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COMPRA_OPCIONES = " . $value; 
            }
            break;
        case 'car_compra_transporte':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COMPRA_TRANSPORTE = " . $value; 
            }
            break;
        case 'car_compra_base':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COMPRA_BASE = '" . $value . "'"; 
            }
            break;
        case 'car_compra_tipoiva':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COMPRA_TIPOIVA = '" . $value . "'"; 
            }
            break;
        case 'car_reserva':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", RESERVA = '" . $value . "'"; 
                $car_reserva = $value;
            }
            break;
        case 'car_stock':
            if ( $value !== null AND $value !== '' ) {
                $codigo_stock = consultarStockVehiculo($bd_conn, $value);
                $stock_car = ($codigo_stock != '') ? $codigo_stock : 0 ; 
                $_set .= ", STOCK = '" . $stock_car . "'"; 
            }
            break;
        case 'car_estado':
            if ( $value !== null AND $value !== '' ) {
                $codigo_estado = consultarEstadoVehiculo($bd_conn, $value);
                $estado_car = ($codigo_estado != '') ? $codigo_estado : 'PRS' ; 
                $_set .= ", ESTADO = '" . $estado_car . "'";
            } 
            break;  
        case 'idTipoCompraSerauto':
            if ( $value !== null AND $value !== '' ) {
                $codigo_p0 = consultarTipoCompraSerauto($bd_conn, $value);
                $codigo_p0 = ( $codigo_p0 !== null AND $codigo_p0 !== '' ) ? $codigo_p0 : 0 ;
                $_set .= ", ORIGEN_COMPRA = '" . $codigo_p0 . "'";
            } 
            break;  
        case 'car_regimen':
            if ( $value !== null AND $value !== '' ) {
                if ( $value == 'REBU' ) {
                    $_set .= ", REBU = '1'"; 
                }elseif ( $value == 'GENERAL' ) {
                    $_set .= ", REBU = '2'"; 
                }else {
                    $_set .= ", REBU = '0'"; 
                }
            }
            break;  
        case 'car_compra_descuentos':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", COMPRA_DESCUENTO = " . $value; 
            }
            break;
        case 'car_venta_descuentos':
            if ( $value !== null AND $value !== '' ) {
                $_set .= ", VENTA_DESCUENTO = " . $value; 
            }
            break;
    }
}
$codigo_car = selectCodigoCar($bd_conn, $_where);
if (isset($car_reserva)) {
    if ($car_reserva !== '') {
        $fecha = date ( 'Y-m-d H:i:s' , strtotime ( '+1 minute' , strtotime (date("Y-m-d H:i:s"))));
        createHstorial($bd_conn,$codigo_car, $_SERVER["HTTP_CLIENT_ID"], $fecha, ACCION_RESERVA, TRAZA_ORDENADOR, TRAZA_WEB, $car_reserva);
    }
}
$status = queryUpdate($bd_conn, $_req, $_set, $_where);
if ($status === 1) {
    $data[] = array ( 
        "status" => "OK",
        "message" => "success : update car success"
    );
}elseif ($status === 0) {
    $data[] = array ( 
        "status" => "OK",
        "message" => "error : no changes detected"
    );
}else{
    $data[] = array ( 
        "status" => "NOT OK",
        "message" => "error : update car error",
        'test' => $codigo_p0
    );
}
//FUNCIONES================================================================
function consultarTipoCompraSerauto($bd, $cod_serauto){
    $sql =  "   SELECT T.CODIGO
                FROM EQUIV_TIPOSCOMPRA_SERAUTO E
                LEFT JOIN ETIQUETAS T ON T.EXTERNO = E.CODIGOEXT_P0
                WHERE E.CODIGO_SERAUTO = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $cod_serauto = mysqli_real_escape_string($bd, $cod_serauto);
    $base->bind_param('s', $cod_serauto);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function codigoModelo($bd, $desc_modelo)
{
    $sql =  "   SELECT M.CODIGO
                FROM VEHICULOS_MODELOS M
                WHERE M.DESCRIPCION = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $desc_modelo = mysqli_real_escape_string($bd, $desc_modelo);
    $base->bind_param('s', $desc_modelo);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function codigoMarca($bd, $desc_marca)
{
    $sql =  "   SELECT M.CODIGO
                FROM VEHICULOS_MARCAS M
                WHERE M.DESCRIPCION = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $desc_marca = mysqli_real_escape_string($bd, $desc_marca);
    $base->bind_param('s', $desc_marca);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function consultarEstadoVehiculo($bd, $alias_estado){
    $sql =  "   SELECT E.CODIGO
                FROM VEHICULOS_ESTADOS E
                WHERE E.ALIAS = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $alias_estado = mysqli_real_escape_string($bd, $alias_estado);
    $base->bind_param('s', $alias_estado);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function consultarStockVehiculo($bd, $alias_stock){
    $sql =  "   SELECT S.CODIGO
                FROM VEHICULOS_STOCKS S
                WHERE S.ALIAS = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $alias_stock = mysqli_real_escape_string($bd, $alias_stock);
    $base->bind_param('s', $alias_stock);
    $base->execute();
    $result = mysqli_fetch_array($base->get_result());
    $base->close();
    return $result["CODIGO"];
}
function queryUpdate($bd, $_req, $_set, $_where)
{
    $query = $_req . $_set . $_where;
    mysqli_query($bd, $query);
    return mysqli_affected_rows($bd);
}
function createHstorial($bd,$vehiculo, $usuario, $fecha, $accion, $ordenador, $web, $fin_reserva)
{
	$sql =  " INSERT INTO VEHICULOS_HISTORIAL (VEHICULO, USUARIO, FECHA, ACCION, ORDENADOR, WEB, FIN) 
              VALUES ( ?, ?, ?, ?, ?, ?, ? )";
    $base = $bd->prepare($sql);
    $vehiculo = mysqli_real_escape_string($bd, $vehiculo);
    $usuario = mysqli_real_escape_string($bd, $usuario);
    $fecha = mysqli_real_escape_string($bd, $fecha);
    $fin_reserva = mysqli_real_escape_string($bd, $fin_reserva);
    $base->bind_param('issisis', $vehiculo, $usuario, $fecha, $accion, $ordenador, $web, $fin_reserva);
    $base->execute();
}
function selectCodigoCar($bd, $_where)
{
    $sql =  "   SELECT CODIGO
                FROM VEHICULOS " . $_where;
    $base = $bd->query($sql);
    $row = mysqli_fetch_array($base);
    $result = $row["CODIGO"];
    return $result;
}
?>