����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 3.15.238.90 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/app6/application/salesHonorarios/ |
Upload File : |
<?php require_once ("../model/dbconn.php"); require_once ("../model/pos.php"); //datos de la venta $sale1= $_POST['id_sales']; $sell = SellData::getByFacturar($sale1); $sale = SellData::getBySale($sale1); if( !empty($sell->id) && !empty($sale->sale_id) ){ $posConfig = new pos(); //impuesto general $impuestoBD = $posConfig->getByPreffix('imp-val')[1]['val']; //usuario multifacturas real echo $userMulti = $posConfig->getByPreffix('Usuario_Factura')[1]['val']; //pass multifacturas real $passMulti = $posConfig->getByPreffix('pass_fac')[1]['val']; // Se desactivan los mensajes de debug error_reporting(~(E_WARNING|E_NOTICE)); //error_reporting(E_ALL); // Se especifica la zona horaria date_default_timezone_set('America/Mexico_City'); // Se incluye el SDK require_once '../../../../sdk/sdk2.php'; // Se especifica la version de CFDi 3.3 $datos['version_cfdi'] = '3.3'; // Ruta del XML Timbrado $datos['cfdi']='../../../../sdk/timbrados/cfdi_factura_'.$sale1.'.xml'; // Ruta del XML de Debug $datos['xml_debug']='../../../../sdk/timbrados/sin_timbrar_factura_'.$sale1.'.xml'; // Credenciales de Timbrado $datos['PAC']['usuario'] = ''.$userMulti.''; $datos['PAC']['pass'] = ''.$passMulti.''; $datos['PAC']['produccion'] = 'NO'; // Rutas y clave de los CSD $datos['conf']['cer'] = '../../../../sdk/certificados/'.$ArchCerDemo.''; $datos['conf']['key'] = '../../../../sdk/certificados/'.$ArchKeyDemo.''; $datos['conf']['pass'] = ''.$PassDemoMulti.''; // Datos del Emisor $datos['emisor']['rfc'] = ''.$userMulti.''; //RFC DE PRUEBA $datos['emisor']['nombre'] = ''.$settingsEmisor->val.''; //'ACCEM SERVICIOS EMPRESARIALES SC'; // EMPRESA DE PRUEBA // Datos del Receptor $client_name = PersonData::getById($sell->person_id)->name; $client_rfc = PersonData::getById($sell->person_id)->rfc; $datos['receptor']['rfc'] = $client_rfc; $datos['receptor']['nombre'] = $client_name; $UsoCFDI = $_POST['UsoFac']; $datos['receptor']['UsoCFDI'] = $UsoCFDI; $operations = OperationData::getByc($sale1); //buscamos los productos de la venta $i=0; foreach($operations as $operation){ if( !empty($operation->id_item) && !empty($operation->item_name) ){ $datos['conceptos'][$i]['cantidad'] = $operation->qty; $datos['conceptos'][$i]['unidad'] = 'NA'; $datos['conceptos'][$i]['ID'] = $operation->id_item; $datos['conceptos'][$i]['descripcion'] = $operation->item_name; $datos['conceptos'][$i]['valorunitario'] = $operation->price; $datos['conceptos'][$i]['importe'] = $operation->price*$operation->qty; $datos['conceptos'][$i]['ClaveProdServ'] = $settingsCodigoSat->val; $datos['conceptos'][$i]['ClaveUnidad'] = $settingsUnidadSat->val; $pos = new pos(); $result = array(); $query = $pos->getItem($operation->id_item); $data = $query[1]; $result['tax'] = $data['tax']; if($result['tax'] == 8){ $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Base'] = $operation->price*$operation->qty; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Impuesto'] = '002'; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['TipoFactor'] = 'Tasa'; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['TasaOCuota'] = '0.080000'; $valor1 = number_format(($operation->price*$operation->qty)*0.080000,2); }elseif($result['tax'] == 16){ $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Base'] = $operation->price*$operation->qty; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Impuesto'] = '002'; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['TipoFactor'] = 'Tasa'; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['TasaOCuota'] = '0.160000'; echo "impuesto 16"; $valor1 = number_format(($operation->price*$operation->qty)*0.160000,2); }else{ $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Base'] = $operation->price*$operation->qty; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Impuesto'] = '002'; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['TipoFactor'] = 'Tasa'; $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['TasaOCuota'] = '0.000000'; $valor1 = number_format($operation->price*$operation->qty,2); } $datos['conceptos'][$i]['Impuestos']['Traslados'][0]['Importe'] = $valor1; $impuesto = $impuesto + $valor1; echo "-------------------------------"; echo $valor1; $i=$i+1; } } // Se agregan los Impuestos if($result['tax'] == 8){ $datos['impuestos']['translados'][0]['impuesto'] = '002'; $datos['impuestos']['translados'][0]['tasa'] = '0.080000'; $datos['impuestos']['translados'][0]['importe'] = $impuesto; $datos['impuestos']['translados'][0]['TipoFactor'] = 'Tasa'; $datos['impuestos']['TotalImpuestosTrasladados'] = $impuesto; }elseif($result['tax'] == 16) { $datos['impuestos']['translados'][0]['impuesto'] = '002'; $datos['impuestos']['translados'][0]['tasa'] = '0.160000'; $datos['impuestos']['translados'][0]['importe'] = $impuesto; $datos['impuestos']['translados'][0]['TipoFactor'] = 'Tasa'; $datos['impuestos']['TotalImpuestosTrasladados'] = $impuesto; echo "impuesto 16"; }else{ $datos['impuestos']['translados'][0]['impuesto'] = '002'; $datos['impuestos']['translados'][0]['tasa'] = '0.00000'; $datos['impuestos']['translados'][0]['importe'] = $impuesto; $datos['impuestos']['translados'][0]['TipoFactor'] = 'Tasa'; $datos['impuestos']['TotalImpuestosTrasladados'] = $impuesto; } // Datos de la Factura $datos['factura']['condicionesDePago'] = 'CONDICIONEES'; $datos['factura']['descuento'] = '0.00'; $datos['factura']['fecha_expedicion'] = date('Y-m-d\TH:i:s', time() - 120); $datos['factura']['folio'] = $sell->id; $datos['factura']['forma_pago'] = '01'; $datos['factura']['LugarExpedicion'] = $settingsCP->val; $datos['factura']['metodo_pago'] = 'PUE'; $datos['factura']['moneda'] = 'MXN'; $datos['factura']['serie'] = 'A'; $datos['factura']['subtotal'] = $sell->total; $datos['factura']['tipocambio'] = 1; $datos['factura']['tipocomprobante'] = 'E'; $datos['factura']['total'] = $sell->total + $impuesto; $datos['factura']['RegimenFiscal'] = ''.$RegimenDemo.''; // Se ejecuta el SDK $res = mf_genera_cfdi($datos); /////////// MOSTRAR RESULTADOS DEL ARRAY $res /////////// $codigo= $res['codigo_mf_numero']; $name_codigo= $res['codigo_mf_texto']; $uuid= $res['uuid']; $retval['error'] = $name_codigo; $retval['xsale_id'] = $uuid; /* echo "<h1>Respuesta Generar XML y Timbrado</h1>"; foreach ($res AS $variable => $valor) { $valor = htmlentities($valor); $valor = str_replace('<br/>', '<br/>', $valor); echo "<b>[$variable]=</b>$valor<hr>"; } */ //generar el pdf $datosHTML['RESPUESTA_UTF8'] = "SI"; $datosHTML['PAC']['usuario'] = ''.$userMulti.''; $datosHTML['PAC']['pass'] = ''.$passMulti.''; $datosHTML['PAC']['produccion'] = "NO"; //MODULO MULTIFACTURAS : CONVIERTE UN XML CFDI A HTML $datosHTML['modulo']="cfdi2html"; //NOMBRE MODULO $datosHTML['rutaxml']=$datos['cfdi']; //RUTA DEL XML CFDI $MombreEmisor= $settingsEmisor->val; $datosHTML['titulo']=''.$MombreEmisor.''; //TITULO DE FACTURA $datosHTML['tipo']="FACTURA"; //TIPO DE FACTURA VENTA,NOMINA,ARRENDAMIENTO, $logo = ConfigurationData::getByPreffix("report_image")->val;// $datosHTML['path_logo']="../../../../sdk/timbrados/$logo"; //RUTA DE LOGOTIPO DE FACTURA $datosHTML['notas']="Pago en una sola exhibicion"; //NOTA IMPRESA EN FACTURA $datosHTML['color_marco']="#324273"; //COLOR DEL MARCO DE LA FACTURA $datosHTML['color_marco_texto']="#24B7C8"; //COLOR DEL TEXTO DEL MARCO DE LA FACTURA $datosHTML['color_texto']="#042125"; //COLOR DEL TEXTO EN GENERAL $datosHTML['fuente_texto']="monospace"; //FUENTE DEL TEXTO EN GENERAL $res = mf_ejecuta_modulo($datosHTML); //FUNCION QUE CARGA EL MODULO cfdi2html $HTML=$res['html']; //HTML DEL XML //RESPUESTA DE LA FUNCION CARGAR MODULO ////////////////////////////////////////////////////////////////////////////// //CONVERTIR EL HTML DEL XML CFDI A PDF $datosPDF['PAC']['usuario'] = ''.$userMulti.''; $datosPDF['PAC']['pass'] = ''.$passMulti.''; $datosPDF['PAC']['produccion'] = "NO"; $datosPDF['modulo']="html2pdf"; //NOMBRE MODULO $datosPDF['html']="$HTML"; // HTML DE XML CFDI A CONVERTIR A PDF $datosPDF['archivo_html']=""; // OPCION SI SE TIENE UN ARCHIVO .HTML $datosPDF['archivo_pdf']="../../../../sdk/timbrados/cfdi_factura_".$sale1.".pdf"; //$datosPDF['archivo_pdf']="RUTA DONDE SE CREARA EL PDF/nombrearhivo.pdf"; //RUTA DONDE SE GUARDARA EL PDF $res = mf_ejecuta_modulo($datosPDF); //RESPUESTA DE LA FUNCION CARGAR MODULO if($codigo == 0){ $id=$sell->id; print "<script>window.location='./basica11.php?uuid=$uuid&id=$id&rfc=$client_rfc&name=$client_name';</script>"; ?> <script> $(window).ready(function(){ $("body").animate({ scrollTop: $(document).height()}, 6000); }); </script> <?php }else{ $retval['result'] = false; print "<script>window.location='http://localhost/pos36/pos11/?view=errFact&uuid=$codigo&name_codigo=$name_codigo&id=$id';</script>"; echo json_encode($retval); } } else{ $name_codigo= "venta no encontrada"; $retval['result'] = false; print "<script>window.location='http://localhost/pos36/pos11/?view=errFact&uuid=$codigo&name_codigo=$name_codigo&id=$id';</script>"; echo json_encode($retval); } ?>