����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 18.222.188.218 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/t/sae/appsae/core/app/view/ |
Upload File : |
<?php date_default_timezone_set("America/Mexico_City"); $cambiarprecio_val = ConfigurationData::getByPreffix("cambiarprecio_val")->val; $Saldo_excedido = 0; //ACTUALIZACION DE LIMITE DE CREDITO PARA QUE EVITE SEGUIR 24 DE JUNIO 2017 INICIO------ // verificamos al cliente con su numero de id if($_POST["client_id"]!="" && isset($_POST["client_id"]) && ($_POST["p_id"] == 4)){ //vemos cuanto tiene de saldo de compras $credit=PaymentData::sumByClientId($_POST["client_id"])->total; //vemos cuanto tiene de limite de credito sacando valor de $client->credit_limit $client = PersonData::getById($_POST["client_id"]); //verificamos que el limite de credito no sea menor que la siguiente compra if(($client->credit_limit < ($_POST["total"] + $credit)) && ($client->has_credit == 1)) { //si la condicion es afirmativa evitamos la compra a credito $Saldo_excedido = 1 ; echo "credito excedido"; $total_excedido = ($_POST["total"] + $credit) - $client->credit_limit; print "<script>alert('Limite de credito Excedido en $ $total_excedido ');</script>"; print "<script>window.location='index.php?view=sell';</script>"; } if ($client->has_credit == 0 ) { print "<script>alert('Credito No Activo ');</script>"; print "<script>window.location='index.php?view=sell';</script>"; $Saldo_excedido = 1 ; } } //ACTUALIZACION DE LIMITE DE CREDITO PARA QUE EVITE SEGUIR 24 DE JUNIO 2017 INICIO------ ?> <?php // SE ACTUALIZO SALDO EXCEDIDO EN SIGUIENTE LINEA 24 JUNIO 2017---- if(isset($_SESSION["cart"]) && ($Saldo_excedido != 1)){ $cart = $_SESSION["cart"]; if(count($cart)>0){ /// antes de proceder con lo que sigue vamos a verificar que: // haya existencia de productos // si se va a facturar la cantidad a facturr debe ser menor o igual al producto facturado en inventario $num_succ = 0; $process=false; $errors = array(); foreach($cart as $c){ /// $q = OperationData::getQByStock($c["product_id"],StockData::getPrincipal()->id); if($q>0) { if($c["q"]<=$q){ if(isset($_POST["is_oficial"])){ $qyf =OperationData::getQByStock($c["product_id"],StockData::getPrincipal()->id); /// son los productos que puedo facturar if($c["q"]<=$qyf){ $num_succ++; }else{ $error = array("product_id"=>$c["product_id"],"message"=>"No hay suficiente cantidad de producto para facturar en inventario error 1A."); $errors[count($errors)] = $error; } }else{ // si llegue hasta aqui y no voy a facturar, entonces continuo ... $num_succ++; } }else{ $q = OperationData::getQByStock($c["product_id"],StockData::getPrincipal()->id); $q2 = OperationData2::getQByStock($c["product_id"],StockData::getPrincipal()->id); $qt = $q+$q2; if($q2>0) { if($c["q"]<=$qt){ if(isset($_POST["is_oficial"])){ $q = OperationData::getQByStock($c["product_id"],StockData::getPrincipal()->id); $qyf2 =OperationData2::getQByStock($c["product_id"],StockData::getPrincipal()->id); /// son los productos que puedo facturar $qt=$q+$qyf2; if($c["q"]<=$qt){ $num_succ++; }else{ $error = array("product_id"=>$c["product_id"],"message"=>"No hay suficiente cantidad de producto para facturar en inventario. Error 1C"); $errors[count($errors)] = $error; } }else{ // si llegue hasta aqui y no voy a facturar, entonces continuo ... $num_succ++; } }else{ $error = array("product_id"=>$c["product_id"],"message"=>"No hay suficiente cantidad de producto en inventario Error 1D."); $errors[count($errors)] = $error; } } } } else{ $q2 = OperationData2::getQByStock($c["product_id"],StockData::getPrincipal()->id); if($q2>0) { if($c["q"]<=$q2){ if(isset($_POST["is_oficial"])){ $qyf2 = OperationData2::getQByStock($c["product_id"],StockData::getPrincipal()->id); if($c["q"]<=$qyf2){ $num_succ++; }else{ $error = array("product_id"=>$c["product_id"],"message"=>"No hay suficiente cantidad de producto para facturar en inventario. Error 1E"); $errors[count($errors)] = $error; } }else{ // si llegue hasta aqui y no voy a facturar, entonces continuo ... $num_succ++; } }else{ $error = array("product_id"=>$c["product_id"],"message"=>"No hay suficiente cantidad de producto en inventario Error 1F."); $errors[count($errors)] = $error; } }else { $error = array("product_id"=>$c["product_id"],"message"=>"No hay suficiente cantidad de producto en inventario, Reabastecer."); $errors[count($errors)] = $error; } } } if($num_succ==count($cart)){ $process = true; } if($process==false){ $_SESSION["errors"] = $errors; ?> <script> window.location="index.php?view=sell"; </script> <?php } ////////////////////////////////// if($process==true){ $iva_val = ConfigurationData::getByPreffix("imp-val")->val; $sell = new SellData(); $sell->user_id = $_SESSION["user_id"]; $sell->p_id = $_POST["p_id"]; $sell->d_id = $_POST["d_id"]; $sell->iva= $iva_val; $sell->total = $_POST["total"]; $sell->discount = $_POST["discount"]; $sell->stock_to_id = StockData::getPrincipal()->id; $sell->person_id=$_POST["client_id"]!=""?$_POST["client_id"]:"NULL"; $s = $sell->add(); /// si es credito.... if($_POST["p_id"]==4){ $payment = new PaymentData(); $payment->sell_id = $s[1]; $payment->val = ($_POST["total"]-$_POST["discount"]); $payment->person_id = $_POST["client_id"]; $payment->add(); /* if($_POST["money"]>0){ $payment2 = new PaymentData(); $payment2->val = -1*$_POST["money"]; $payment2->person_id = $_POST["client_id"]; $payment2->add_payment(); }*/ $credito=1; } foreach($cart as $c){ $operation_type = "salida"; if($_POST["d_id"]==2){ $operation_type="salida-pendiente"; } $product = ProductData::getById($c["product_id"]); $op = new OperationData(); $op->price_in = $product->price_in; if(($cambiarprecio_val != "SI") || ($cambiarprecio_val != "si")){ $op->price_out = $product->price_out; } else{ $op->price_out = $product->price_out; } $op->product_id = $c["product_id"] ; $op->operation_type_id=OperationTypeData::getByName($operation_type)->id; $op->stock_id = StockData::getPrincipal()->id; $op->sell_id=$s[1]; $op->q= $c["q"]; if(isset($_POST["is_oficial"])){ $op->is_oficial = 1; } $add = $op->add(); ////////////////// generando el mensaje $subject = "[".$s[1]."] Nueva venta en el inventario"; $message = "<p>Se ha realizado una venta con Id = ".$s[1]."</p>"; $person_th=""; $person_td=""; $person = null; if($_POST["client_id"]!=""){ $person = $_POST["client_id"]; $person_th="<td>Cliente</td>"; $person_td="<td>$person</td>"; } $message .= "<table border='1'><tr> <td>Id</td> $person_th <td>Almacen</td> <td>Estado de pago</td> <td>Estado de entrega</td> <td>Total</td> </tr> <tr> <td>".$s[1]."</td> $person_td <td>".StockData::getById($sell->stock_to_id)->name."</td> <td>".PData::getById($sell->p_id)->name."</td> <td>".DData::getById($sell->d_id)->name."</td> <td> $".number_format($sell->total,2,".",",")."</td> </tr> </table>"; $message.="<h3 style='color:#333;'>Resumen</h3>"; $message.="<table border='1'><thead><th>Id</th><th>Codigo</th><th>Cantidad</th><th>Unidad</th><th>Producto</th><th>P.U</th><th>P. Total</th></thead>"; foreach($cart as $c){ $message.="<tr>"; $product = ProductData::getById($c["product_id"]); $message.="<td>".$product->id."</td>"; $message.="<td>".$product->barcode."</td>"; $message.="<td>".$c["q"]."</td>"; $message.="<td>".$product->unit."</td>"; $message.="<td>".$product->name."</td>"; $message.="<td>$ ".number_format($product->price_out,2,".",",")."</td>"; $message.="<td>$ ".number_format($c["q"]*$product->price_out,2,".",",")."</td>"; $message.="</tr>"; } $message.="</table>"; ////////////////// if($subject!=""&&$message!=""){ $m = new MailData(); $m->open(); // enviamos una copia del correo para el cliente if($person!=null){ $m->mail->AddAddress($person->email1); } $m->mail->Subject = $subject; $m->message = "<p>$message</p>"; $m->mail->IsHTML(true); $m->send(); } ////////////////// $qx = OperationData::getQByStock($product->id,StockData::getPrincipal()->id); $subject=""; $message=""; $last = true; if($qx==0){ $subject = "[$product->name]".' No hay existencias'; $message = "Hola, el producto <b>$product->name</b> no tiene existencias en el inventario"; $last=false; } if($qx<=$product->inventary_min/2 && $last){ $subject = "[$product->name]".' Muy pocas existencias'; $message = "Hola, el producto <b>$product->name</b> tiene muy pocas existencias en el inventario"; $last=false; } if($qx<=$product->inventary_min && $last){ $subject = "[$product->name]".' Pocas existencias'; $message = "Hola, el producto <b>$product->name</b> tiene pocas existencias en el inventario"; $last=false; } ////////////////// if($subject!=""&&$message!=""){ $m = new MailData(); $m->open(); $m->mail->Subject = $subject; $m->message = "<p>$message</p>"; $m->mail->IsHTML(true); $m->send(); } ////////////////// $money1=$_POST["money"]-$_POST["total"]; $money=$_POST["money"]; //////////// } unset($_SESSION["cart"]); setcookie("selled","selled");//////////////////// if ($credito==1) print "<script>window.location='index.php?view=onesell1&id=$s[1]&money1=$money1&money=$money&f_id=".$_POST["f_id"]."&codef_id=".$_POST["codef_id"]."&credito=$credito';</script>"; else print "<script>window.location='index.php?view=onesell1&id=$s[1]&money1=$money1&money=$money&f_id=".$_POST["f_id"]."&codef_id=".$_POST["codef_id"]."';</script>"; } } } ?>