function getFleteSC($descripcion, $iddestino, $idorigen, $peso){ $cnx = new Conectar("webpmm"); $l = $cnx->iniciar(); if($descripcion=="ENVASE(S)"){ $s = "SELECT costo from configuraciondetalles where (SELECT IFNULL(SUM(distancia),0) AS distancia from catalogodistancias where (idorigen=".$idorigen." AND iddestino=".$iddestino.") or (iddestino=".$idorigen." AND idorigen=".$iddestino.")) between zoi and zof and kgi = -1"; $rb = mysql_query($s,$l) or die($s); $fb = mysql_fetch_object($rb); $dato = round($fb->costo,2); return $dato; //return round($fb->costo,2); }else{ $s = "select costo from configuraciondetalles where (select IFNULL(SUM(distancia),0) AS distancia from catalogodistancias where (idorigen=".$idorigen." and iddestino=".$iddestino.") or (iddestino=".$idorigen." and idorigen=".$iddestino.")) between zoi and zof and ".round($peso)." between kgi and kgf"; //echo "<br>$s<br>"; $rb = mysql_query($s,$l) or die($s); $fb = mysql_fetch_object($rb); if($fb->costo < 10){ $costo = round($fb->costo*$this->peso,2); return $costo; }else{ $costo = round($fb->costo,2); return $costo; } } }
public function rollBackGuiaempresarial($indice, $consulta, $conexion){ #se envia el correo con el error antes de hacer el rollback $consulta .= "\r\n\r\n Mysql:\r\n".mysql_error($conexion); $datos = $this->obtenerProcesos($conexion); $consulta .= "\r\n\r\n Procesos:\r\n".$datos; $this->enviaErrorBase($consulta); $cnx = new Conectar("webpmm"); $l = $cnx->iniciar(); #verificar las consultas con el indice del error para hacer las consultas correctas $ejecutadas = ""; for($i=count($this->procesoGuiasE); $i>=0; $i--){ if($indice>$i){ $s = $this->procesoGuiasE[$i]; mysql_query($s,$l) or $this->errorInterno($s."\r\n\r\n $ejecutadas [indice $indice][i => $i] \r\n\r\n Mysql:\r\n".mysql_error($l), $this->errores['xml']); #en caso de haber un error en el rollback se usa la funcion errorInterno } } die($this->errores['xml']); }
public function crearFactura() { $con = new Conectar("webpmm"); $l = $con->iniciar(); //---------PROCESO DE DATOS DEL RECEPTOR-----------// $informacion["start"]="inicio"; $serie = ''; if (!empty($this->dataEmpresa['informacion']['serie'])) { $serie = 'serie="'.$this->dataEmpresa['informacion']['serie'].'"'; } $informacion["nombre"]=$this->dataEmpresa['informacion']['name']; $informacion["rfc"]=strtoupper($this->dataEmpresa['informacion']["rfc"]); $informacion["calle"]=$this->dataEmpresa['informacion']["street"]; $informacion["noExterior"]=$this->dataEmpresa['informacion']["outside_number"]; $informacion["noInterior"]=$this->dataEmpresa['informacion']["inside_number"]; $informacion["colonia"]=$this->dataEmpresa['informacion']["col"]; $informacion["codigoPostal"]=$this->dataEmpresa['informacion']["cp"]; $locCliente = ''; if (!empty($this->dataEmpresa['Client']['locale'])) { $locCliente = 'localidad="'.$this->dataEmpresa['Client']['locale'].'"'; } $outNumber = ''; if (!empty($informacion["noExterior"])) { $outNumber = 'noExterior="'.$informacion["noExterior"].'"'; } $inNumber = ''; if (!empty($informacion["noInterior"])) { $inNumber = 'noInterior="'.$informacion["noInterior"].'"'; } $informacion["folio"]=$this->dataEmpresa['informacion']["folio"]; $informacion["numeroaprobacion"]=$this->dataEmpresa['informacion']["numeroaprobacion"]; $informacion["anoaprobacion"]=$this->dataEmpresa['informacion']["anoaprobacion"]; $informacion["municipio"]=$this->dataEmpresa['informacion']["municipio"]; $informacion["estado"]=$this->dataEmpresa['informacion']["state"]; $informacion["pais"]=$this->dataEmpresa['informacion']["country"]; $result = $this->_getRemoteConceptos($this->dataEmpresa['producto']); $informacion["totalImpuestosTrasladados"] = $this->dataEmpresa['Impuestos']['iva']; //$informacion["importeIVAT"] = $result['importeIVAT']; $informacion["ivaRetenido"] = $this->dataEmpresa['Impuestos']['ivaRetenido']; $informacion["tasa"]= $this->dataEmpresa['Impuestos']['tasa']; if($informacion["tasa"]<1){ $informacion["tasa"] *= 100; $informacion["tasa"] .= ''; } $conceptos = $result['conceptos']; $business["rfc"] = $this->dataCliente['Business']["rfc"]; $business["name"] = $this->dataCliente['Business']["name"]; $business["street"] = $this->dataCliente['Business']["street"]; $business["outside_number"] = $this->dataCliente['Business']["outside_number"]; $business["inside_number"] = $this->dataCliente['Business']["inside_number"]; $boutNumber = ''; if (!empty($business["outside_number"])) { $boutNumber = 'noExterior="'.$business["outside_number"].'"'; } $binNumber = ''; if (!empty($business["inside_number"])) { $binNumber = 'noInterior="'.$business["inside_number"].'"'; } $business["col"] = $this->dataCliente['Business']["col"]; $business["cp"] = $this->dataCliente['Business']["cp"]; if (!empty($this->dataCliente['Business']['city_name'])) { $business["city"] = $this->dataCliente['Business']['city_name']; } $business["municipio"] = $this->dataCliente["Municipio"]['name']; $business["state"] = $this->dataCliente["State"]['name']; $business["country"] = $this->dataCliente["Country"]['name']; $ivaretenidoImpuestos=""; $ivaretenidoRetenciones=""; if($informacion["ivaRetenido"]>0){ $ivaretenidoImpuestos='totalImpuestosRetenidos="'.$informacion["ivaRetenido"].'"'; $ivaretenidoRetenciones='<Retenciones> <Retencion importe="'.$informacion["ivaRetenido"].'" impuesto="IVA"></Retencion> </Retenciones>'; } $s = "SELECT serieventa FROM catalogofoliosfacturacion WHERE '".$informacion['folio']."' BETWEEN folioinicial AND foliofinal"; $r = mysql_query($s,$l) or die($s); $f = mysql_fetch_object($r); $serial_number = $f->serieventa; $s = "select * from certificates"; $r = mysql_query($s,$l) or die($s); $f = mysql_fetch_object($r); //se quito de aqui por que el numero de certificado se refiere al numero de la compra de los folios //$serial_number = $f->serial_number; $keyCertificate = $f->key; //$this->cert = $this->getCertificado(); $certificate = $this->getContCert($f->certificate); //$this->ctr_fact = $this->getCtr_fact(); if($this->dataEmpresa['informacion']['fecha']!=""){ $this->fecha = str_replace(" ","T",$this->dataEmpresa['informacion']['fecha']); }else{ $this->fecha = date("Y-m-d\TH:i:s",strtotime("-1 hour")); } $stotal = $this->dataEmpresa['Impuestos']['subtotal']; $ttotal = $this->dataEmpresa['Impuestos']['total']; if (empty($business['city'])) { $loc=""; } else { $loc='localidad="'.$business['city'].'"'; } $this->_cleanAttributesEntities($business); $this->_cleanAttributesEntities($informacion); $xml='<?xml version="1.0" encoding="UTF-8"?> <Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" noCertificado="'.$serial_number.'" formaDePago="pago en una sola exhibicion" noAprobacion="'.$informacion['numeroaprobacion'].'" certificado="'.$certificate.'" sello="#1#" anoAprobacion="'.$informacion['anoaprobacion'].'" fecha="'.$this->fecha.'" subTotal="'.$stotal.'" total="'.$ttotal.'" '.$serie.' folio="'.$informacion['folio'].'" tipoDeComprobante="ingreso" version="2.0"> <Emisor rfc="'.$business['rfc'].'" nombre="'.$business['name'].'"> <DomicilioFiscal calle="'.$business['street'].'" '.$boutNumber.' '.$binNumber.' colonia="'.$business['col'].'" codigoPostal="'.$business['cp'].'" '.$loc.' municipio="'.$business['municipio'].'" estado="'.$business['state'].'" pais="'.$business['country'].'" /> </Emisor> <Receptor rfc="'.$informacion["rfc"].'" nombre="'.$informacion["nombre"].'"> <Domicilio calle="'.$informacion["calle"].'" '.$outNumber.' '.$inNumber.' colonia="'.$informacion["colonia"].'" codigoPostal="'.$informacion["codigoPostal"].'" '.$locCliente.' municipio="'.$informacion["municipio"].'" estado="'.$informacion["estado"].'" pais="'.$informacion["pais"].'"/> </Receptor>'. $conceptos .' <Impuestos totalImpuestosTrasladados="' .$informacion["totalImpuestosTrasladados"]. '" '.$ivaretenidoImpuestos.'> '.$ivaretenidoRetenciones.' <Traslados> <Traslado importe="'.$informacion["totalImpuestosTrasladados"].'" tasa="'. $informacion["tasa"] .'" impuesto="IVA"></Traslado> </Traslados> </Impuestos> </Comprobante>'; $xml = $this->getXMLSing($xml,$keyCertificate,$this->fecha); return $xml; }
public function verificaGuiaEmpresarial($folio){ $cnx = new Conectar("webpmm"); $l = $cnx->iniciar(); $s = "SELECT subtotal-(tflete-ttotaldescuento+tcostoead+trecoleccion+tseguro+totros+texcedente+tcombustible) diferencia, total-(subtotal+tiva-ivaretenido) diferencia2 FROM guiasempresariales WHERE id = '$folio' HAVING diferencia < -0.1 OR diferencia > 0.1 OR diferencia2 > 0.1 OR diferencia2 < -0.1"; $r = mysql_query($s,$l); if(mysql_num_rows($r)>0){ $s = "SELECT (SELECT iva FROM catalogosucursal WHERE id = (SELECT idsucursalorigen FROM guiasempresariales WHERE id = '$folio') )/100 AS iva, (SELECT ivaretenido FROM configuradorgeneral)/100 AS ivar"; $res_ivas = mysql_query($s,$l); $f_ivas = mysql_fetch_object($res_ivas); $s = "SELECT personamoral FROM catalogocliente WHERE id = ( SELECT IF(tipoflete='PAGADA',idremitente,iddestinatario) FROM guiasempresariales WHERE id = '$folio' );"; $r = mysql_query($s,$l); $f = mysql_fetch_object($r); $personamoral = $f->personamoral; $s = "UPDATE guiasempresariales ge SET subtotal = tflete-ttotaldescuento+tcostoead+trecoleccion+tseguro+totros+texcedente+tcombustible, tiva = (tflete-ttotaldescuento+tcostoead+trecoleccion+tseguro+totros+texcedente+tcombustible)*$f_ivas->iva, ivaretenido = if('$personamoral'='SI',(tflete-ttotaldescuento+tcostoead+trecoleccion+tseguro+totros+texcedente+tcombustible)*$f_ivas->ivar,0) WHERE id = '$folio';"; mysql_query($s,$l); $s = "UPDATE guiasempresariales ge SET total = subtotal + tiva - ivaretenido WHERE id = '$folio';"; mysql_query($s,$l); $s = "select * from guiasempresariales where id = '$folio'"; $r = mysql_query($s,$l); $f = mysql_fetch_object($r); $_GET[tflete] = $f->tflete; $_GET[tdescuento] = $f->tdescuento; $_GET[ttotaldescuento] = $f->ttotaldescuento; $_GET[tcostoead] = $f->tcostoead; $_GET[trecoleccion] = $f->trecoleccion; $_GET[tseguro] = $f->tseguro; $_GET[totros] = $f->totros; $_GET[texcedente] = $f->texcedente; $_GET[tcombustible] = $f->tcombustible; $_GET[subtotal] = $f->subtotal; $_GET[tiva] = $f->tiva; $_GET[ivaretenido] = $f->ivaretenido; $_GET[total] = $f->total; } }