<?php $r="../../";
require_once($r."inc/funciones.php");
validNotSession($r);
$id=$_GET['id'];

$mysqli = connectDB($r);
$spe=$_SESSION['perfil'];

/* FORMULARIO NUEVO */
if(isset($_POST["nuevo"])){
    if(isset($_POST['nombre']) && !empty($_POST['nombre'])){
        $nombre=strtoupper($_POST['nombre']);
        $nombre = $mysqli->real_escape_string($nombre);
    }else{
        echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Nombre del proveedor es Obligatorio</h6></div>';
        exit();
    }
    
    if(isset($_POST['contacto']) && !empty($_POST['contacto'])){
        $contacto=strtoupper($_POST['contacto']);
        $contacto = $mysqli->real_escape_string($contacto);
    }else{
        echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Nombre del Contacto es Obligatorio</h6></div>';
        exit();
    }
    
    if(isset($_POST['direccion']) && !empty($_POST['direccion'])){
        $direccion=strtoupper($_POST['direccion']);
        $direccion = $mysqli->real_escape_string($direccion);
    }
    
    if(isset($_POST['nuip']) && !empty($_POST['nuip'])){
        // Asignar el valor del campo 'nuip' a la variable $cedula
        $cedula=$_POST['nuip'];
        // Escapar caracteres especiales para prevenir inyecciones SQL
        $cedula = $mysqli->real_escape_string($cedula);
        $qry1 = $mysqli->query("SELECT * FROM z_proveedores WHERE cedula='$cedula'");
        if($qry1->num_rows > 0){ 
            echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Nit o Cedula ya existe!</h6></div>';
            exit();
        }
    }
    
    // Verificar si el campo 'telefono' está presente y no está vacío en la solicitud POST
    if (isset($_POST['telefono']) && !empty($_POST['telefono'])) {
        // Asignar el valor del campo 'telefono' a la variable $telefono
        $telefono = trim($_POST['telefono']);
    } 
    
    // Verificar si el campo 'correo' está presente y no está vacío en la solicitud POST
    if (isset($_POST['correo']) && !empty($_POST['correo'])) {
        // Asignar el valor del campo 'correo' a la variable $correo
        $correo = trim($_POST['correo']);
        // Escapar caracteres especiales para prevenir inyecciones SQL
        $correo = $mysqli->real_escape_string($correo);
    
        // Realizar la consulta a la base de datos
        $qry1 = $mysqli->query("SELECT * FROM z_proveedores WHERE correo='$correo'");
        if($qry1->num_rows > 0){ 
            echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>Correo electrónico ya existe!</h6></div>';
            exit();
        }
    } 
    
   
    $nota=$_POST['nota'];
    // Escapar caracteres especiales para prevenir inyecciones SQL
    $nombre = $mysqli->real_escape_string($nombre);
    $cedula = $mysqli->real_escape_string($cedula);
    $correoproveedor = $mysqli->real_escape_string($correo);
    $contactoproveedor = $mysqli->real_escape_string($contacto);
    $direccion = $mysqli->real_escape_string($direccion);
    $telefono = $mysqli->real_escape_string($telefono);
    $nota = $mysqli->real_escape_string($nota);
    
    
    $sql="INSERT INTO `z_proveedores`(`cedula`, `nombre`, `correo`, `contacto1`, `direccion`, `celular1`, `telefono1`, `nota`) VALUES ('$cedula','$nombre','$correoproveedor','$contactoproveedor','$direccion','$telefono','$telefono','$nota')";
    if ($mysqli->query($sql) === TRUE) {
        $mysqli->close();
        echo 'index.php?msn=El Proveedor '.$nombre.' ha sido a Creado!';
        exit();
    } else {
        echo "Error: " . $sql . "<br>" . $mysqli->error;
        $mysqli->close();
    }
    exit();
}

/* FORMULARIO EDITAR O ACTUALIZAR */
if(isset($_POST["editar"])){
    $id=$_POST['editar'];
    $id = $mysqli->real_escape_string($id);
    
    if(isset($_POST['nombre']) && !empty($_POST['nombre'])){
        $nombre=strtoupper($_POST['nombre']);
        $nombre = $mysqli->real_escape_string($nombre);
    }else{
        echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Nombre del proveedor es Obligatorio</h6></div>';
        exit();
    }
    
    if(isset($_POST['contacto']) && !empty($_POST['contacto'])){
        $contacto=strtoupper($_POST['contacto']);
        $contacto = $mysqli->real_escape_string($contacto);
    }else{
        echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Nombre del Contacto es Obligatorio</h6></div>';
        exit();
    }
    
    if(isset($_POST['direccion']) && !empty($_POST['direccion'])){
        $direccion=strtoupper($_POST['direccion']);
        $direccion = $mysqli->real_escape_string($direccion);
    }
    
    if(isset($_POST['nuip']) && !empty($_POST['nuip'])){
        // Asignar el valor del campo 'nuip' a la variable $cedula
        $cedula=$_POST['nuip'];
        // Escapar caracteres especiales para prevenir inyecciones SQL
        $cedula = $mysqli->real_escape_string($cedula);
        $qry1 = $mysqli->query("SELECT * FROM z_proveedores WHERE cedula='$cedula' AND id!=$id");
        if($qry1->num_rows > 0){ 
            echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Nit o Cedula ya existe!</h6></div>';
            exit();
        }
    }
    
    // Verificar si el campo 'telefono' está presente y no está vacío en la solicitud POST
    if (isset($_POST['telefono']) && !empty($_POST['telefono'])) {
        // Asignar el valor del campo 'telefono' a la variable $telefono
        $telefono = trim($_POST['telefono']);
    } else {
        // Mostrar un mensaje de error si el campo 'telefono' no está presente o está vacío
        echo '<div class="alert alert-danger alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>El Teléfono es Obligatorio</h6></div>';
        exit();
    }
    
    // Verificar si el campo 'correo' está presente y no está vacío en la solicitud POST
    if (isset($_POST['correo']) && !empty($_POST['correo'])) {
        // Asignar el valor del campo 'correo' a la variable $correo
        $correo = trim($_POST['correo']);
        // Escapar caracteres especiales para prevenir inyecciones SQL
        $correo = $mysqli->real_escape_string($correo);
    
        // Realizar la consulta a la base de datos
        $qry1 = $mysqli->query("SELECT * FROM z_proveedores WHERE correo='$correo' AND id!=$id");
        if($qry1->num_rows > 0){ 
            echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>Correo electrónico ya existe!</h6></div>';
            exit();
        }
    } 
    
   
    $nota=$_POST['nota'];
    // Escapar caracteres especiales para prevenir inyecciones SQL
    $nota = $mysqli->real_escape_string($nota);
    // Realizar la actualizacion a la base de datos 
    $mysqli->query("UPDATE z_proveedores SET `cedula`='$cedula',`nombre`='$nombre',`correo`='$correo',`contacto1`='$contacto',`direccion`='$direccion',`celular1`='$telefono',`telefono1`='$telefono',`nota`='$nota' WHERE id='$id'");
    
    
    echo 'index.php?msn=El Proveedor <b>"'.$nombre.'"</b> ha sido actualizado';
    exit();
}


// Eliminar
if(isset($_POST["newshop"])) {
    $fecha_compra = $_POST['fecha_compra'];
    $proveedor = $_POST['proveedor'];
    $producto = $_POST['producto'];
    $present = $_POST['present'];
    $cantidadkilos = sinfo('z_presentaciones_productos',$_POST['present'])['cantidad'];
    $cantidad = $_POST['cantidad'];
    $precio = $_POST['precio'];
    $iva = $_POST['iva'];
    $precio_kilo = $precio*(($iva+100)/100);
    $precio_presentacion = $precio_kilo*$cantidadkilos;
    $qry0 = $mysqli->query("SELECT * FROM config_precios ORDER BY id DESC LIMIT 1");
    $row0 = $qry0->fetch_assoc();
    $porcentaje_cliente_final = calcularPorcentajeDeCien($row0['precio_final']);
    $porcentaje_comercializador = calcularPorcentajeDeCien($row0['precio_comercializador']);
    $porcentaje_web = calcularPorcentajeDeCien($row0['precio_web']);
    
    $precio_cliente_final_kilo = ($precio_kilo*$porcentaje_cliente_final);
    $precio_cliente_final = $precio_cliente_final_kilo*$cantidadkilos;
    $precio_comercialzador_kilo = ($precio_kilo*$porcentaje_comercializador);
    $precio_comercialzador = $precio_comercialzador_kilo*$cantidadkilos;
    $precio_web_kilo = redondearHaciaArribaMultiplo50($precio_kilo*$porcentaje_web);
    $precio_web = $precio_web_kilo*$cantidadkilos;
    //echo "UPDATE `z_producto_presentacion` SET `precio`='$precio_web',`minorista`='$precio_cliente_final',`mayorista`='$precio_comercialzador' WHERE `idproducto`=$producto,`idpresentacion`=$present";
    $mysqli->query("INSERT INTO `z_proveedores_precios`(`idproveedor`, `idproducto`, `idpresentacion`, `cantidad`, `precio_compra`, `iva`, `precio_kilo`, `precio_presentacion`, `precio_cliente_final`, `precio_comercialzador`, `precio_web`, `fecha`) VALUES ('$proveedor','$producto','$present','$cantidad','$precio','$iva','$precio_kilo','$precio_presentacion','$precio_cliente_final','$precio_comercialzador','$precio_web','$fecha_compra')");
    
    
    // Consulta para verificar si existe el registro
    $result = $mysqli->query("SELECT COUNT(*) AS count FROM `z_producto_presentacion` WHERE `idproducto`=$producto AND `idpresentacion`=$present");
    $row = $result->fetch_assoc();
    
    if ($row['count'] > 0) {
        // Si existe, actualiza
        $mysqli->query("UPDATE `z_producto_presentacion` SET `precio`='$precio_web', `minorista`='$precio_cliente_final', `mayorista`='$precio_comercialzador' WHERE `idproducto`=$producto AND `idpresentacion`=$present");
    } else {
        // Si no existe, inserta
        $mysqli->query("INSERT INTO `z_producto_presentacion` (`idproducto`, `idpresentacion`, `precio`, `minorista`, `mayorista`) VALUES ($producto, $present, '$precio_web', '$precio_cliente_final', '$precio_comercialzador')");
    }
    
    $result = $mysqli->query("SELECT * FROM `z_producto_presentacion` WHERE `idproducto`=$producto AND `idpresentacion`=22");
    $row = $result->fetch_assoc();
    
    if ($row['precio'] < $precio_web_kilo) {
        // Si existe, actualiza
        $mysqli->query("UPDATE `z_producto_presentacion` SET `precio`='$precio_web_kilo', `minorista`='$precio_cliente_final_kilo', `mayorista`='$precio_comercialzador_kilo' WHERE `idproducto`=$producto AND `idpresentacion`=22");
    } 

    echo 'precios.php?msn=Se ingresado con exito';
    exit();
}

function redondearHaciaArribaMultiplo50($numero) {
    // Redondea hacia arriba al múltiplo de 50 más cercano
    $redondeado = ceil($numero / 50) * 50;
    return $redondeado;
}

function calcularPorcentajeDeCien($porcentaje) {
    return (100 + $porcentaje) / 100;
}
?>