<?php
$r="../";
require_once($r."inc/funciones.php");
$mysqli = connectDB($r);
session_start();
$spe=$_SESSION['perfil'];
$cliente=$_POST['cliente'];
$idusuario=$_SESSION['userid'];
$fecha=$_POST['fecha'];

$fecha=$_POST['fecha'];
if(empty($fecha)){
    echo '<div class="alert alert-danger  alert-dismissible text-center bg-warning"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>seleccione una fecha de entrega</h6></div>'; exit();
}
if(empty($cliente)){
   echo '<div class="alert alert-danger  alert-dismissible text-center bg-warning"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>No Hay Ningun Cliente Añadido</h6></div>'; exit();
}
$con=0;
$total=0;
if(isset($_POST["pedir"])) {
        $subtotal = 0;
        $aprod = array();
        foreach($aprod as $llave => $val){
            if($aprod[$llave]['cantidad']>$aprod[$llave]['icantidad']){
                echo "<div class='alert alert-danger  alert-dismissible text-center bg-warning'><a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a><h6>SOLO TIENES ".$aprod[$llave]['icantidad'].'Kg DE '.$aprod[$llave]['nproducto']." </h6></div>";
                exit();
            }
            
        }
        foreach($_POST as $key => $item){
            $param_name = 'iden';
            if(substr($key, 0, strlen($param_name)) == $param_name) {
                $idpro=$item;
                $idkpro= $_POST['cod'.$idpro];
                $capro= $_POST['cant'.$idpro];
                $prpro= $_POST['prec'.$idpro];
                $tpro= $_POST['tipo'.$idpro];
                $iva= $_POST['iva'.$idpro];
                $subtotal = $subtotal + ($capro*$prpro);
                $si=$idpro;
                if($con==0){
                    $qry1=$mysqli->query("SELECT * FROM z_codigopedido WHERE estado=0");
                    $row1 = $qry1->fetch_assoc();
                    $id=$row1['id'];
                    $codigo=$row1['codigopedido'];
                    $mysqli->query("UPDATE z_codigopedido SET estado=1 WHERE id=$id");
                    $con++;
                }
                $mysqli->query("INSERT INTO z_pedido (idproducto, cantidad, idpresentacion, precio, iva, codigopedido) VALUE ('$idkpro','$capro','$tpro','$prpro','$iva','$codigo')");
                $sinfopresent = sinfo('z_presentaciones_productos',$tpro);
                $lastcant = $capro*$sinfopresent['cantidad'];
                
                // Consulta la cantidad disponible en la bodega 1
                $result1 = $mysqli->query("SELECT cantidad FROM `z_inventario` WHERE `idproducto`=$idkpro AND `idbodega`=1");
                $row1 = $result1->fetch_assoc();
                $cantidad_bodega1 = $row1['cantidad'];
                
                // Si la cantidad en bodega 1 es suficiente, descuenta solo de bodega 1
                if ($cantidad_bodega1 >= $lastcant) {
                    $mysqli->query("UPDATE `z_inventario` SET `cantidad`=`cantidad`-$lastcant WHERE `idproducto`=$idkpro AND `idbodega`=1");
                } else {
                    // Si la cantidad en bodega 1 no es suficiente, descuenta lo que se pueda y deja en 0
                    $mysqli->query("UPDATE `z_inventario` SET `cantidad`=0 WHERE `idproducto`=$idkpro AND `idbodega`=1");
                
                    // Calcular lo que falta por descontar en bodega 2
                    $falta = $lastcant - $cantidad_bodega1;
                
                    // Descontar lo que falta en bodega 2
                    $mysqli->query("UPDATE `z_inventario` SET `cantidad`=`cantidad`-$falta WHERE `idproducto`=$idkpro AND `idbodega`=2");
                    
                    $mysqli->query("INSERT INTO `z_inventario_traslados_log`(`idproducto`, `idbodega_origen`, `idbodega_destino`, `cantidad`) VALUES ('$idkpro','1','2',$falta)");
                }
                /*$mysqli->query("UPDATE `z_inventario` SET `cantidad`=`cantidad`-$lastcant  WHERE `idproducto`=$idkpro AND idbodega=1");*/
                $subtotal=$capro*$prpro;
                $total=$total+$subtotal;
            }
        }
        if($si!=""){
            $nota=$_POST["nota"];
            $adicional=$_POST["otros"];
            if($adicional==""){$adicional=0;}
            $tipopedido=$_POST["tipopedido"];
            $mysqli->query("INSERT INTO z_pedidos (iduser, idcliente, codigopedido, tipopedido, adicional, nota, fechaentrega) VALUE ('$idusuario','$cliente','$codigo','$tipopedido','$adicional','$nota','$fecha')");
            
            unset($_POST);
            $row11 = $mysqli->query("SELECT nombre, celular1, telefono1, direccion, perfil, municipio FROM z_clientes WHERE id='$cliente' ORDER BY id DESC");
            $row12 = $row11->fetch_assoc();
            
            $perfil = $row12['perfil'];
            $nameclient = $row12['nombre'];
            $direccion  = $row12['direccion'];
            
            if($perfil=='1'){
                    if($tipopedido=="F"){
                        $municipiocliente=$row12['municipio'];
                        if($municipiocliente==$municipiosucursal){
                            $sql = $mysqli->query("SELECT * FROM z_ica ORDER BY id DESC LIMIT 1");
                            $ica = $sql->fetch_assoc();
                            $reteica=$ica['base'];
                            if($total>=$reteica){
                                $porcentajeica=$ica['porcentaje']/100;
                                $totalica=$total*$porcentajeica;
                                $mysqli->query("UPDATE z_pedidos SET ica='$totalica' WHERE codigopedido='$codigo'");
                            }
                        }
            
                        $sql = $mysqli->query("SELECT * FROM z_retefuente ORDER BY id DESC LIMIT 1");
                        $fuente = $sql->fetch_assoc();
                        $retefuente=$fuente['base'];
                        if($total>=$retefuente){
                            $porcentajefuente=$fuente['porcentaje']/100;
                            $totalfuente=$total*$porcentajefuente;
                            $mysqli->query("UPDATE z_pedidos SET fuente='$totalfuente' WHERE codigopedido='$codigo'");
                        }
                    }
                }
                
            // elegir número: celular1 o telefono1
            $numeroRaw = $row12['celular1'] ?: $row12['telefono1'];
            
            // limpiar solo números
            $numero = preg_replace('/[^0-9]/', '', $numeroRaw);
            
            // validar celular Colombia (10 dígitos y empieza por 3)
            if(!$numero || !preg_match('/^3[0-9]{9}$/', $numero)){
                // no enviar mensaje si no cumple
            }else{
            
                $link = "http://tracking.quimiforen.com/api/pedido/?code={$codigo}";
            
                $mensaje = "¡Hola $nameclient! 👋\n\n";
                $mensaje .= "Te escribimos de QUIMIFOREN ENTREGAS 👻, el operador logístico de la marca Quimiforen SAS 🚚.\n\n";
                $mensaje .= "Tu pedido saldrá de nuestra bodega a más tardar HOY.\n\n";
                $mensaje .= "📍 La dirección de entrega es: {$direccion} 📦.\n\n";
                $mensaje .= "Te avisaremos nuevamente cuando el pedido esté en camino hacia ti.\n\n";
                $mensaje .= "Si tienes dudas: contacta a QUIMIFOREN SOPORTE al +57 322 2111895 📲 📞.\n\n";
                $mensaje .= "⚠️ Canal oficial de QUIMIFOREN SAS. No solicitamos pagos extra ni datos fuera de tu compra. Evita fraudes.";
            
                // enviar WA
                $url = "https://tracking.quimiforen.com/api/tracking/wasender.php?number={$numero}&message=" . urlencode($mensaje);
            
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_TIMEOUT, 30);
            
                $response = curl_exec($ch);
                $error    = curl_error($ch);
                $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            
                curl_close($ch);
            
                if($error){
                    throw new Exception("Error enviando WhatsApp: ".$error);
                }
            
                if($httpCode != 200 && $httpCode != 201){
                    throw new Exception("Error API WhatsApp");
                }
            }

            if($tipopedido=="RV"){$mysqli->query("UPDATE z_pedidos SET estado='3', pago='2', total='$subtotal' WHERE codigopedido='$codigo'");}
            setcookie("codigopedido", $codigo, time()+5, "/");
            setcookie("celular", $celular, time()+5, "/");
            setcookie("mensaje", "El pedido No. $codigo, esta listo para ser aprobado", time()+5, "/");
            echo "mis-pedidos.php?msg=El PEDIDO N° $codigo SE HA REALIZADO CON ÉXTIO";
            
            exit();
    }else{echo '<div class="alert alert-danger  alert-dismissible text-center"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a><h6>Añade Un Cliente</h6></div>';exit();}
    
}
?>

