function getComprobante($bufferarray) { //$BUARRAY=array("MATRIZ"=>1); $enc = new Encabezado(); $enc->bu = 1; $enc->serie = $bufferarray[26]; $enc->sucursal = "Matriz"; // esto es para fines practicos $enc->lugarExpedicion = "No Definido"; $enc->razonsocial = cleanStr($bufferarray[41]); if (empty($enc->razonsocial)) { echo "--NO SE ENCONTRO RAZON SOCIAL--"; return null; } $enc->rfc = cleanStr($bufferarray[42]); if (empty($enc->rfc)) { echo "--NO SE ENCONTRO RFC--"; return null; } $enc->rfc = validarPropiedadEncabezado("rfc", $enc->rfc); $enc->calle = cleanStr($bufferarray[43]); $enc->numeroext = cleanStr($bufferarray[44]); $enc->numeroint = cleanStr($bufferarray[45]); $enc->colonia = cleanStr($bufferarray[46]); $enc->municipio = cleanStr($bufferarray[47]); $enc->referencia = cleanStr($bufferarray[48]); $enc->localidad = cleanStr($bufferarray[49]); $enc->estado = cleanStr($bufferarray[50]); $enc->pais = cleanStr($bufferarray[51]); if (empty($enc->pais)) { echo "--NO SE ENCONTRO PAIS--"; return null; } $enc->cp = cleanStr($bufferarray[52]); $fechaant = $bufferarray[29]; $fechaem = explode("/", $fechaant); $fechacompleta = $fechaem[2] . "-" . $fechaem[1] . "-" . $fechaem[0]; $enc->fechaemision = "2013-11-11"; //$fechacompleta; chs 20130618 $enc->horaemision = "16:21:57"; //$bufferarray[30]; chs 20130618 $fec = "fecha antes '" . $enc->fechaemision . " " . $enc->horaemision . "' fecha despues '" . $fechacompleta . " " . $enc->horaemision . "'"; $enc->total = number_format($bufferarray[55], 2, ".", ""); if (empty($enc->total) || $enc->total == 0) { echo "--NO SE ENCONTRO TOTAL O ES CERO--"; return null; } $str1 = str_replace(",", "", $bufferarray[53]); $enc->subtotal = number_format(doubleval($str1) + $bufferarray[87], 2, ".", ""); //number_format(doubleval($str1)+doubleval($str2),2,".",""); if (empty($enc->subtotal) || $enc->subtotal == 0) { echo "--NO SE ENCONTRO SUBTOTAL O ES CERO--"; return null; } $enc->formaDePago = htmlentities(cleanStr($bufferarray[28])); $enc->statuscfd = 1; $enc->fechareferencia = "0000-00-00"; $enc->fechaliquidacion = $bufferarray[66]; $enc->customer_trx_id = 0; if (empty($bufferarray[60]) || $bufferarray[60] == "NA" || $bufferarray[60] == "No Disponible") { $enc->metodoPago = "NO IDENTIFICADO"; } else { $enc->metodoPago = $bufferarray[60]; } if (empty($bufferarray[61]) || $bufferarray[61] == "NA" || $bufferarray[61] == "No Disponible") { $enc->numCtaPago = "NO IDENTIFICADO"; } else { $enc->numCtaPago = $bufferarray[61]; } $enc->condicionesPago = "CREDITO"; //htmlentities(cleanStr($bufferarray[119])); $enc->festatus = 0; if ($bufferarray[56] == 1) { $enc->tipocfd = 1; } elseif ($bufferarray[56] == 3) { $enc->tipocfd = 3; } elseif ($bufferarray[56] == 2) { $enc->tipocfd = 2; } $enc->fnotas = $bufferarray[27]; //$enc->fnotas=$bufferarray[58];//chs 20130618 $enc->iva = -1; $enc->ieps = -1; $enc->totalRetenciones = 0; $enc->totalTraslados = $bufferarray[54]; if (empty($enc->totalTraslados)) { $enc->totalTraslados = 0; } $enc->montoLetra = $bufferarray[99]; //JASR AGREGAR MONEDA Y TIPO DE CAMBIO $enc->moneda = $bufferarray[82]; $enc->tipocambio = $bufferarray[84]; //JASR AGREGA DESCUENTOS return $enc; }
/** * @method fac_getEncabezado crea el encabezado de la factura a partir del array datos y de queries a la base de datos * @param $datos es un arreglo que contiene informacion enviada desde un formulario HTML * @return Object Encabezado * @uses controllerFace.php * @uses Factura.php * @uses FacturaDAO.php */ function fac_getEncabezado($datos) { global $DEFAULTSUCURSAL, $DEFAULTSERIE, $DEFAULTTIPOCFD; $enc = new Encabezado(); //Datos provenientes de fuentes variadas $enc->statuscfd = 1; $enc->festatus = 1; //@TODO ver a que version se refiere esto y hacelo dinamico $enc->version = "FACE55"; $enc->sucursal = isset($datos['sucursal']) ? $datos['sucursal'] : $DEFAULTSUCURSAL; $enc->serie = isset($datos['serie']) ? $datos['serie'] : $DEFAULTSERIE; $enc->tipocfd = empty($tipocfd) ? $DEFAULTTIPOCFD : $tipocfd; $enc->fechaemision = date("Y-m-d"); $enc->horaemision = date("H:i:s"); try { $factAux = null; $factAux = $this->controller->execute('tipoCFD', array('idEmpresa' => $this->idEmpresa, 'serie' => $datos['serie']), $this->path); $tipocfd = $factAux['respuesta']['tipo']; $factAux = $this->controller->execute('cliente', array('idClie' => $datos['cl']), $this->path); $cliente = $factAux['respuesta']; $factAux = $this->controller->execute('datos', $datos, $this->path); $datosGF = $factAux['respuesta']; } catch (Exception $e) { echo "<span class='titt'>" . $e->getMessage() . "</span>"; } $datosEnc = array_merge($cliente, $datosGF); /** * @author JASR * El foreach Llena los datos del objeto factura que provienen de la base de datos. * @param $row ResultSet del query que recupera la informacion del cliente * @internal las llaves que deveria contener el query: * cliente_id, nombre as razonsocial, rfc, calle, numeroext, * numeroint, colonia, localidad, municipio, referencia, * estado, pais, cp. * @internal la funcion validarPropiedadEncabezado($propiedad,$valor) se encuentra * en el archivo utils.php * @since Version Face 5.5 (10 Junio 2013) */ foreach ($datosEnc as $propiedad => $valor) { $enc->{$propiedad} = validarPropiedadEncabezado($propiedad, $valor); } return $enc; }