function setNewMemo($tipo = MEMOS_TIPO_PENDIENTE, $txt = "", $documento = false, $fecha = false, $notificar = false, $sms = false) { $xF = new cFecha(0); $grupo = $this->mGrupoAsociado == false ? DEFAULT_GRUPO : $this->mGrupoAsociado; $fecha = $xF->getFechaISO($fecha); $documento = $documento == false ? DEFAULT_CREDITO : $documento; $socio = $this->mCodigo; $usuario = getUsuarioActual(); $sucursal = getSucursal(); $eacp = EACP_CLAVE; $xL = new cLang(); $mTit = $xL->getT("TR.Notificacion"); $sql = "INSERT INTO socios_memo ( numero_socio,\n\t\t\t\t\tnumero_gposolidario,\n\t\t\t\t\tnumero_solicitud,\n\t\t\t\t\tfecha_memo,\n\t\t\t\t\ttexto_memo,\n\t\t\t\t\ttipo_memo,\n\t\t\t\t\tidusuario,\n\t\t\t\t\tsucursal,\n\t\t\t\t\teacp )\n\t\t\t\t\t VALUES( {$socio}, {$grupo}, {$documento}, '{$fecha}', '{$txt}', {$tipo}, {$usuario}, '{$sucursal}', '{$eacp}') "; //setLog($sql); $x = my_query($sql); if ($x[SYS_ESTADO] == true and $notificar == true) { if ($this->mSocioIniciado == false) { $this->init(); } $xNot = new cNotificaciones(); $xNot->sendMail("{$sucursal} - {$mTit} [{$tipo}]", $txt, $this->getCorreoElectronico()); if ($sms == true) { $xLoc = new cReglasDePais(); $telMovil = $xLoc->getTelMovil($this->getTelefonoPrincipal()); if ($telMovil != null) { $xNot->sendSMS($telMovil, $txt); } $this->mMessages .= $xNot->getMessages(); $this->mMessages .= $xLoc->getMessages(); } } return $x[SYS_INFO]; }
function getFactura($enviar = false, $out = OUT_PDF) { $ready = null; $xml = ""; $unidad = "NO APLICA"; $cantidad = 1; $mql = new MQL(); $xLis = new cSQLListas(); $xLoc = new cLocal(); $xPais = new cDomiciliosPaises(EACP_CLAVE_DE_PAIS); $xLog = new cCoreLog(); $sql = "SELECT * FROM `operaciones_archivo_de_facturas` WHERE `clave_de_recibo` = " . $this->mCodigoDeRecibo . " LIMIT 0,1"; $xArch = new cOperaciones_archivo_de_facturas(); $DFact = $mql->getDataRow($sql); if (isset($DFact["clave_de_recibo"])) { $xArch->setData($DFact); $this->mMessages .= "OK\tEl UUID existe " . $xArch->uuid()->v(OUT_TXT) . "\r\n"; if ($enviar == true) { if ($this->getOPersona() == null) { } else { $xSoc = $this->getOPersona(); $email = $xSoc->getCorreoElectronico(); $comprobante = PATH_FACTURAS . $xArch->uuid()->v(OUT_TXT); file_put_contents($comprobante . ".xml", base64_decode($xArch->contenido()->v(OUT_TXT))); file_put_contents($comprobante . ".pdf", base64_decode($xArch->impreso()->v(OUT_TXT))); $ready = $out == OUT_PDF ? base64_decode($xArch->impreso()->v(OUT_TXT)) : base64_decode($xArch->contenido()->v(OUT_TXT)); $xNotif = new cNotificaciones(); //PDF y XML $arrFil = array(); $arrFil["archivo1"]["path"] = $comprobante . ".pdf"; $arrFil["archivo2"]["path"] = $comprobante . ".xml"; $xNotif->sendMail("Factura del Recibo " . $this->mCodigoDeRecibo, "Factura del Recibo " . $this->mCodigoDeRecibo, $email, $arrFil); //Enviar al Archivo mail $xNotif->sendMail("Factura del Recibo " . $this->mCodigoDeRecibo, "Factura del Recibo " . $this->mCodigoDeRecibo, FACTURACION_MAIL_ARCHIVO, $arrFil); $this->mMessages .= $xNotif->getMessages(); } } else { $ready = $out == OUT_PDF ? $xArch->impreso()->v(OUT_TXT) : $xArch->contenido()->v(OUT_TXT); } } else { $xLog->add("WARN\tGenerando Nueva Factura\r\n", $xLog->DEVELOPER); //cargar Archivo $xPais->init(); if ($this->mReciboIniciado == false) { $this->init(); } if ($this->getOPersona() == null) { $xLog->add("ERROR\tAl cargar la Persona\r\n"); } else { $xFact = new cFacturaElectronica(); //datos de la emisora //persona iniciada $xSoc = $this->getOPersona(); $email = $xSoc->getCorreoElectronico(); $xFact->setEmisor(EACP_NAME, EACP_RFC, EACP_DOMICILIO_CALLE, EACP_DOMICILIO_NUM_EXT, EACP_DOMICILIO_NUM_INT, EACP_CODIGO_POSTAL, EACP_COLONIA, EACP_MUNICIPIO, EACP_ESTADO, $xPais->getNombre()); $xFact->setRegimenFiscal(EACP_REGIMEN_FISCAL); $calle = $xLoc->DomicilioCalle(); $numeroInt = $xLoc->DomicilioNumeroInterior(); $numeroExt = $xLoc->DomicilioNumeroExterior(); $codigoPostal = $xLoc->DomicilioCodigoPostal(); $colonia = $xLoc->DomicilioColonia(); $xSocDom = $xSoc->getODomicilio(); $pais = $xLoc->getNombreDePais(); $estado = $xLoc->DomicilioEstado(); $municipio = $xLoc->DomicilioMunicipio(); $tasa_iva = TASA_IVA; $xFact->setLugarDeExpedicion($xLoc->DomicilioCalle(), $xLoc->DomicilioNumeroExterior(), $xLoc->DomicilioNumeroInterior(), $xLoc->DomicilioCodigoPostal(), $xLoc->DomicilioColonia(), $xLoc->DomicilioMunicipio(), $xLoc->DomicilioEstado(), $xLoc->getNombreDePais()); if ($xSocDom == null) { $xLog->add("WARN\tNo hay domicilio Valido\r\n", $xLog->DEVELOPER); } else { $calle = $xSocDom->getCalle(); $numeroExt = $xSocDom->getNumeroExterior(); $numeroInt = $xSocDom->getNumeroInterior(); $codigoPostal = $xSocDom->getCodigoPostal(); $colonia = $xSocDom->getColonia(); $municipio = $xSocDom->getMunicipio(); $estado = $xSocDom->getEstado(); $pais = $xSocDom->getNombreDePais(); } //Cargar datos del Docto //$this->getOrigen(); $OTipoRec = $this->getOTipoRecibo(); if ($OTipoRec->getOrigen() == RECIBOS_ORIGEN_MIXTO or $OTipoRec->getOrigen() == RECIBOS_ORIGEN_COLOCACION) { $xCred = new cCredito($this->getCodigoDeDocumento()); $xCred->init(); $tasa_iva = $xCred->getTasaIVA(); $xLog->add("WARN\tLa tasa de IVA es {$tasa_iva}\r\n", $xLog->DEVELOPER); } $xFact->setReceptor($xSoc->getNombreCompleto(), $xSoc->getRFC(true, true), $calle, $numeroExt, $numeroInt, $codigoPostal, $colonia, $municipio, $estado, $pais); //Datos del pagos $formaDePago = "Pago en una sola exhibición"; $cuentaDePago = "No Identificado"; $arrEquiv = array(TESORERIA_COBRO_DOCTO => "Documentos", TESORERIA_COBRO_EFECTIVO => "Efectivo", TESORERIA_COBRO_INTERNO => "Documentos", TESORERIA_COBRO_MULTIPLE => "Documentos", TESORERIA_COBRO_NINGUNO => "Documentos", TESORERIA_COBRO_TRANSFERENCIA => "Transferencia", TESORERIA_COBRO_CHEQUE => "Cheque"); $metodoDePago = $arrEquiv[$this->getTipoDePago()]; //cargar equivalencias //TODO: Considerar cambios en otro de tipo de tributacion if ($this->getTipoDePago() == TESORERIA_COBRO_TRANSFERENCIA or $this->getTipoDePago() == TESORERIA_COBRO_CHEQUE) { $OCaja = $this->getOCaja(); $cuentaDePago = $OCaja->getCuentaBancoActivo(); } //Cheque, Transferencia, Depósito $xFact->setDatosDePago($formaDePago, $metodoDePago, $cuentaDePago); $sql = "SELECT\n\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado`,\n\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`,\n\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`subclasificacion`,\n\t\t\t\t\t`operaciones_tipos`.`descripcion_operacion` AS `operacion`,\n\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion`,\n\t\t\t\t\t`operaciones_mvtos`.`afectacion_real` AS 'monto' \n\t\t\t\tFROM\n\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros` \n\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros` \n\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = \n\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro` \n\t\t\t\t\t\t\tINNER JOIN `operaciones_tipos` `operaciones_tipos` \n\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.\n\t\t\t\t\t\t\t`idoperaciones_tipos` \n\t\t\t\tWHERE\n\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` =11000) AND\n\t\t\t\t\t(`operaciones_mvtos`.`recibo_afectado` =" . $this->mCodigoDeRecibo . " )"; $iva = 0; $total = 0; $rs = $mql->getDataRecord($sql); foreach ($rs as $rows) { $descripcion = $rows["operacion"]; $valor = $rows["monto"]; $tipo = $rows["subclasificacion"]; $total += $valor; if ($tipo == 1000) { $iva += $rows["monto"]; } else { $xFact->addConcepto($cantidad, $unidad, $valor, $descripcion); } } //agregar IVA if ($iva > 0) { $xFact->addTrasladado("IVA", $tasa_iva, $iva); } $xml = $xFact->get(); $this->mOFactura = $xFact; if ($total <= 0) { $enviar = false; } } if ($enviar == true) { if ($this->mOFactura != null) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) { if ($this->mOFactura->timbrar() == 1) { //ready = true $xNotif = new cNotificaciones(); //PDF y XML $arrFil = array(); $arrFil["archivo1"]["path"] = $this->mOFactura->getComprobante() . ".pdf"; $arrFil["archivo2"]["path"] = $this->mOFactura->getComprobante() . ".xml"; $xNotif->sendMail("Factura del Recibo " . $this->mCodigoDeRecibo, "Factura del Recibo " . $this->mCodigoDeRecibo, $email, $arrFil); //Enviar al Archivo mail $xNotif->sendMail("Factura del Recibo " . $this->mCodigoDeRecibo, "Factura del Recibo " . $this->mCodigoDeRecibo, FACTURACION_MAIL_ARCHIVO, $arrFil); //Guardar en DB $this->mOFactura->setArchivar($this->mCodigoDeRecibo); $xLog->add($xNotif->getMessages(), $xLog->DEVELOPER); $ready = $out == OUT_PDF ? $this->mOFactura->getPDF() : $this->mOFactura->getXML(); } } else { $xLog->add("WARN\tNo hay email valido para la Factura ({$email})\r\n", $xLog->DEVELOPER); } $xLog->add($this->mOFactura->getMessages(), $xLog->DEVELOPER); } } } $this->mMessages .= $xLog->getMessages(); return $ready; }
function setSendToMail($titulo = "", $email = false) { $email = $email == false ? ADMIN_MAIL : $email; $lng = new cLang(); $titulo = $lng->getT($titulo); $body = "TITLE: " . $titulo . "\r\n"; $body .= "FILE: " . $this->mName . "\r\n"; // $xAviso = new cNotificaciones(); $xAviso->sendMail($titulo, $body, $email, array("path" => $this->mCompleteName)); return $xAviso->getMessages(); }