<?php
if ( isset($data_walcu["matricula"]) AND isset($data_walcu["bastidor"]) ) {
    //VARIABLES DEL VEHICULO
    $usuario = $_SERVER["HTTP_CLIENT_ID"];
    $matricula = $data_walcu["matricula"];
    $bastidor = ( isset($data_walcu["bastidor"]) ) ? trim($data_walcu["bastidor"]) : '' ;
    $fecha_matriculacion = ( isset($data_walcu["fecha_matriculacion"]) ) ? date("Y-m-d H:i:s", strtotime($data_walcu["fecha_matriculacion"])) : '' ;
    $tipo = ( isset($data_walcu["tipo"]) AND $data_walcu["tipo"] == 'used'  ) ? 'VO' : 'VN' ;
    $desc_marca = ( isset($data_walcu["marca"]) ) ? trim($data_walcu["marca"]) : '' ;
    $cod_marca = codigoMarca($bd_conn, $desc_marca);
    $desc_modelo = ( isset($data_walcu["modelo"]) ) ? trim($data_walcu["modelo"]) : '' ;
    $cod_modelo = codigoModelo($bd_conn, $desc_modelo);
    $version = ( isset($data_walcu["version"]) ) ? trim($data_walcu["version"]) : '' ;
    $color = ( isset($data_walcu["color"]) ) ? trim($data_walcu["color"]) : '' ;
    //
    $param_combustible = 'TIP_COM';
    $combustible = ( isset($data_walcu["combustible"]) ) ? trim($data_walcu["combustible"]) : '[SIN ASIGNAR]' ;
    switch ($combustible) {
        case '[SIN ASIGNAR]':
            $codigo_combustible = 0;
            break;

        case 'Diésel':
        case 'Diesel':
            $codigo_combustible = 1;
            break;

        case 'Gasolina':
            $codigo_combustible = 2;
            break;

        case 'Híbrido':
        case 'Hibrido':
            $codigo_combustible = 3;
            break;

        case 'Híbrido enchufable':
        case 'Hibrido enchufable':
            $codigo_combustible = 4;
            break;
        
        default:
            $codigo_combustible = 0;
            break;
    }
    $kilometraje = ( isset($data_walcu["kilometraje"]) ) ? trim($data_walcu["kilometraje"]) : 0 ;
    $garantia = ( isset($data_walcu["garantia"]) ) ? trim($data_walcu["garantia"]) : 0 ;
    $param_caja = 'TIP_COM';
    $caja = ( isset($data_walcu["cambio"]) ) ? trim($data_walcu["cambio"]) : '[SIN ASIGNAR]' ;
    $codigo_caja = vehiculosParametros($bd_conn, $param_caja, $caja);
    $potencia = ( isset($data_walcu["potencia"]) ) ? trim($data_walcu["potencia"]) : 0 ;
    $param_carroceria = 'TIP_CAR';
    $carroceria = ( isset($data_walcu["carroceria"]) ) ? trim($data_walcu["carroceria"]) : '[SIN ASIGNAR]' ;
    $codigo_carroceria = vehiculosParametros($bd_conn, $param_carroceria, $carroceria);
    $asientos = ( isset($data_walcu["asientos"]) ) ? trim($data_walcu["asientos"]) : 0 ;
    $puertas = ( isset($data_walcu["puertas"]) ) ? trim($data_walcu["puertas"]) : 0 ;
    //
    $mostrar = $id_car . " - " . $desc_marca. " - " . $desc_modelo. " - " . $matricula;
    $activo = 1;
    $estado = 'STK';
    $stock = 0;
    $car_id_ext_exist = validaCarIdExt($bd_conn, $matricula, $bastidor);
    if ($car_id_ext_exist == 1) {//UPDATE VEHICULO
        $result = updateVehiculo($bd_conn, $cod_marca, $cod_modelo, $version, $mostrar, $matricula, $bastidor, $color, $fecha_matriculacion, $codigo_combustible, $kilometraje, $garantia, $codigo_caja, $potencia, $carroceria, $puertas);
        if ( $result > 0 ) {
            $data['vehiculo'] = array ( 
                "status" => "OK",
                "message" => "vehículo actualizado satisfactoriamente"
            );
        }else{
            $data['vehiculo'] = array ( 
                "status" => "OK",
                "message" => "no se detectaron cambios en el vehículo",
                "test" => $codigo_combustible
            );
        }
    }else {//CREA VEHICULO
        //BUSCO EL CODIGO DEL CAR==============================================
        $codigo_car = proximoCodigoVeniculo($bd_conn);
        //BUSCO EL CONTADOR====================================================
        $datos_contador = proximoContadorVehiculo($bd_conn);
        $masc_cont = str_pad($datos_contador["CONTADORSIG"], strlen($datos_contador["MASCARA"]), '0', STR_PAD_LEFT);
        $id_car = $datos_contador["PREFIJO"] . $masc_cont . $datos_contador["SUFIJO"];
        $prox_cont = $datos_contador["CONTADORSIG"] + 1;
        UpdateContador($bd_conn, $prox_cont);
        $result = insertVehiculo($bd_conn, $codigo_car, $usuario, $tipo, $id_car, $cod_marca, $cod_modelo, $version, $mostrar, $matricula, $bastidor, $color, $activo, $fecha_matriculacion, $estado, $stock, $codigo_combustible, $kilometraje, $garantia, $codigo_caja, $potencia, $carroceria, $puertas);
        if ( $result > 0 ) {
            $data['vehiculo'] = array ( 
                "status" => "OK",
                "message" => "vehículo creado satisfactoriamente",
                "vehiculoID" => $id_car
            );
        }else{
            $data['vehiculo'] = array ( 
                "status" => "NOT OK",
                "message" => "error al intentar crear el vehículo"
            );
        }
    }
}else {
    $data['vehiculo'] = array ( 
        "status" => "NOT OK",
        "message" => "error : matrícula o bastidor no enviado"
    );
}
?>