$xRec = new cReciboDeOperacion(false, false, $recibo); $xRec->init(); $DRec = $xRec->getDatosInArray(); $idsocio = $xRec->getCodigoDeSocio(); // $DRec["numero_socio"]; $numero_de_socio = $xRec->getCodigoDeSocio(); //$DRec["numero_socio"]; $afectaCaja = $arrQ[$DRec["afectacion_en_flujo_efvo"]]; //datos del socio $cSoc = new cSocio($numero_de_socio); $DSoc = $cSoc->getDatosInArray(); $numero_caja_local = $DSoc["cajalocal"]; $cCL = new cCajaLocal($numero_caja_local); $caja_local = $cCL->getNombre(); $variable_nombre_del_socio = $idsocio == DEFAULT_SOCIO ? $DRec["cadena_distributiva"] : $cSoc->getNombreCompleto(); $tipo_de_pago = $xRec->getTipoDePago(); //$variable_nombre_del_cajero // $tipoderecibo = $DRec["tipo_docto"]; $docto = $xRec->getCodigoDeDocumento(); $origen = $xRec->getOrigen(); $variable_tipo_de_recibo = $xRec->getOTipoRecibo()->getNombre(); $totaloperacion = $xRec->getTotal(); //<------------- Verificar Si existe El Pago ---------------- $xCaja = new cCaja(); $TesMontoPagado = $xCaja->getReciboEnCorte($recibo); $eventOnLoad = ""; $scripts = ""; //TODO: Resolver ajuste y permisos de ajuste if (MODULO_CAJA_ACTIVADO == true and $xRec->isPagable() == true) { if ($TesMontoPagado < $totaloperacion) {
function add($persona, $tipo, $fecha, $valor, $documento, $tipo_de_documento = false, $usuario = false, $hora = false, $instrumento = false, $tipo_de_operacion = false, $tercero_relacionado = DEFAULT_SOCIO, $mensajes = "", $inmediato = false) { $hora = $hora == false ? date("Hi") : $hora; $usuario = $usuario == false ? getUsuarioActual() : $usuario; $tipo_de_documento = $tipo_de_documento == false ? iDE_RECIBO : $tipo_de_documento; $instrumento = setNoMenorQueCero($instrumento); if ($instrumento <= 0 or setNoMenorQueCero($tipo_de_operacion) <= 0) { switch ($tipo_de_documento) { case iDE_RECIBO: $EqOps = new cSistemaEquivalencias(TOPERACIONES_RECIBOSTIPOS); $EqTes = new cSistemaEquivalencias(TTESORERIA_TIPOS_DE_PAGO); $xRec = new cReciboDeOperacion(false, false, $documento); $instrumento = $EqTes->get($xRec->getTipoDePago()); $tipo_de_operacion = $EqOps->get($xRec->getTipoDeRecibo()); if ($xRec->isDivisaExtranjera() == true) { $instrumento = AML_OPERACIONES_CLAVE_DIVISA; } if ($tipo_de_operacion == null) { $tipo_de_operacion = "01"; } break; } } if ($inmediato == true) { $inmediato = 1; } $inmediato = setNoMenorQueCero($inmediato); $xPR = new cAml_risk_register(); $xPR->clave_de_riesgo($xPR->query()->getLastID()); $xPR->escore($valor); $xPR->fecha_de_reporte($fecha); $xPR->hora_de_reporte($hora); $xPR->persona_relacionada($persona); $xPR->tipo_de_riesgo($tipo); $xPR->usuario_de_origen($usuario); $xPR->tipo_de_documento($tipo_de_documento); $xPR->documento_relacionado($documento); $xPR->estado_de_envio(SYS_UNO); $xPR->fecha_de_envio(0); $xPR->estado_de_envio(0); $xPR->fecha_de_checking(0); $xPR->oficial_de_checking(AML_OFICIAL_DE_CUMPLIMIENTO); $xPR->monto_total_relacionado(0); //cargar datos del recibo $xPR->instrumento_financiero($instrumento); //mejorar segun catalogo CNBV $xPR->tipo_de_operacion($tipo_de_operacion); $xPR->tercero_relacionado($tercero_relacionado); $xPR->mensajes_del_sistema($mensajes); $xPR->reporte_inmediato($inmediato); $ql = $xPR->query()->insert(); $ql->save(); $this->mMessages .= $ql->getMessages(OUT_TXT); }
function add($cuenta, $Operacion, $DoctoDeSoporte, $recibo, $beneficiario, $monto, $persona = false, $fecha = false, $autorizo = false, $descuento = 0, $cuenta_de_origen = false, $tipo_de_exhibicion = "", $moneda = AML_CLAVE_MONEDA_LOCAL) { $xF = new cFecha(); $cuenta = setNoMenorQueCero($cuenta); $recibo = setNoMenorQueCero($recibo); $cuenta_de_origen = setNoMenorQueCero($cuenta_de_origen); $monto = setNoMenorQueCero($monto); $DoctoDeSoporte = setNoMenorQueCero($DoctoDeSoporte); $persona = setNoMenorQueCero($persona) == 0 ? DEFAULT_SOCIO : setNoMenorQueCero($persona); $autorizo = setNoMenorQueCero($autorizo); $id = 0; if ($recibo > 0 and $persona <= DEFAULT_SOCIO) { $xRec = new cReciboDeOperacion(false, false, $recibo); if ($xRec->init() == true) { $persona = $persona <= DEFAULT_SOCIO ? $xRec->getCodigoDeSocio() : $persona; $tipo_de_exhibicion = $tipo_de_exhibicion == "" ? $xRec->getTipoDePago() : $tipo_de_exhibicion; $fecha = $fecha == false ? $xRec->getFechaDeRecibo() : $fecha; if (trim($beneficiario) == "") { if ($xRec->getOPersona() != null) { $beneficiario = $xRec->getOPersona()->getNombreCompleto(OUT_TXT); } } } } $fecha = $xF->getFechaISO($fecha); $tipo_de_exhibicion = $tipo_de_exhibicion == "" ? "transferencia" : $tipo_de_exhibicion; if ($cuenta > 0 and $monto > 0) { $xOp = new cBancos_operaciones(); $xOp->idcontrol($xOp->query()->getLastID()); $xOp->beneficiario($beneficiario); $xOp->clave_de_conciliacion(0); $xOp->clave_de_moneda($moneda); $xOp->cuenta_bancaria($cuenta); $xOp->cuenta_de_origen($cuenta_de_origen); $xOp->eacp(EACP_CLAVE); $xOp->estatus($this->AUTORIZADO); $xOp->fecha_expedicion($fecha); $xOp->idusuario(getUsuarioActual()); $xOp->monto_descontado($descuento); $xOp->monto_real($monto); $xOp->numero_de_documento($DoctoDeSoporte); $xOp->numero_de_socio($persona); $xOp->recibo_relacionado($recibo); $xOp->sucursal(getSucursal()); $xOp->tipo_de_exhibicion($tipo_de_exhibicion); $xOp->tipo_operacion($Operacion); $xOp->usuario_autorizo($autorizo); $id = $xOp->query()->insert()->save(); } return $id; }
function setPolizaPorRecibo($recibo, $generador = false) { $sucess = false; $QL = new MQL(); $xLogg = new cCoreLog(); //$arrEquivEfvo = //if (GENERAR_CONTABILIDAD == true){ $xLogg->add("=======\tGENERAR POLIZA POR RECIBO NUM {$recibo}\r\n", $xLogg->DEVELOPER); $xT = new cCatalogoOperacionesDeCaja(); $centro_de_costo = DEFAULT_CENTRO_DE_COSTO; //($generador == GENERAR_POLIZAS_AL_CIERRE) AND if (setNoMenorQueCero($recibo) > 0) { $xRec = new cReciboDeOperacion(false, false, $recibo); if ($xRec->init() == true) { $sucess = true; //Obten datos del recibo para la Poliza $sqlRec = "SELECT\r\n\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t`operaciones_recibostipo`.`tipo_poliza_generada`,\r\n\t\t\t\t\t\t`operaciones_recibostipo`.`afectacion_en_flujo_efvo`\r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t`operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` =\r\n\t\t\t\t\t\t\t\t`operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t(`operaciones_recibos`.`idoperaciones_recibos` = {$recibo})\r\n\t\t\t\t\t\tLIMIT 0,1 "; $dRec = obten_filas($sqlRec); $tipo_de_pago = $xRec->getTipoDePago(); //Corrige los cargos de la PolizaS $total_poliza = 0; $SQLSumCargos = "SELECT SUM(monto) AS 'total' FROM contable_polizas_proforma\r\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE contable_operacion = '" . TM_CARGO . "'\r\n\t\t\t\t\t\t\t\t\t\t\t\tAND numero_de_recibo={$recibo} "; $TMPCargos = mifila($SQLSumCargos, "total"); $SQLSumAbonos = "SELECT SUM(monto) AS 'total' FROM contable_polizas_proforma\r\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE contable_operacion = '" . TM_ABONO . "'\r\n\t\t\t\t\t\t\t\t\t\t\t\tAND numero_de_recibo={$recibo} "; $TMPAbonos = mifila($SQLSumAbonos, "total"); if ($TMPCargos > $TMPAbonos) { $diferencia = $TMPAbonos - $TMPCargos; $diferencia = $diferencia < 0 ? $diferencia * -1 : $diferencia; $total_poliza = $TMPCargos; setPolizaProforma($recibo, $xT->getTipoOperacionByTipoPago($tipo_de_pago), $diferencia, 1, 1, TM_ABONO); $xLogg->add("OK\tCUADRAR\tABONO\tOperacion Agregada por DESCUADRE en {$tipo_de_pago} por {$diferencia}\r\n", $xLogg->DEVELOPER); //$xLogg->add( , $xLogg->DEVELOPER); } elseif ($TMPCargos < $TMPAbonos) { $diferencia = $TMPCargos - $TMPAbonos; $diferencia = $diferencia < 0 ? $diferencia * -1 : $diferencia; $total_poliza = $TMPAbonos; setPolizaProforma($recibo, $xT->getTipoOperacionByTipoPago($tipo_de_pago), $diferencia, 1, 1, TM_CARGO); $xLogg->add("OK\tCUADRAR\tCARGOS\tOperacion Agregada por DESCUADRE en {$tipo_de_pago} por {$diferencia}\r\n", $xLogg->DEVELOPER); } else { $total_poliza = $TMPCargos; } //tipos de Poliza 1=ingreso, 2=egreso, 3 Diario, 4=orden 5 $xD = new cFecha(0, $xRec->getFechaDeRecibo()); $numero_de_recibo = $recibo; $tipo_de_poliza = $xRec->getOTipoRecibo()->getTipoPolizaContable(); $fecha_de_poliza = $xRec->getFechaDeRecibo(); $ejercicio_de_poliza = $xD->anno(); $periodo_de_poliza = $xD->mes(); $recibo_fiscal = strlen($xRec->getReciboFiscal()) > 2 ? ";RF:" . $xRec->getReciboFiscal() : ""; $observacion_recibo = $xRec->getObservaciones(); $cheque = strlen($xRec->getNumeroDeCheque()) > 2 ? ";Ch:" . $xRec->getNumeroDeCheque() : ""; $concepto_poliza = substr("R:" . $numero_de_recibo . $recibo_fiscal . $cheque . ";" . $xRec->getObservaciones(), 0, 80); $flujo_efectivo = $xRec->getOTipoRecibo()->getAfectacionEnEfvo(); $socio = $xRec->getCodigoDeSocio(); $propietario = $xRec->getCodigoDeUsuario(); $xLogg->add("=====\tRECIBO TIPO: " . $xRec->getTipoDeRecibo() . " SUMA: " . $xRec->getTotal() . " \r\n", $xLogg->DEVELOPER); //------------------ Agregar Poliza $xPol = new cPoliza($tipo_de_poliza, false, $ejercicio_de_poliza, $periodo_de_poliza); $xPol->add($concepto_poliza, $fecha_de_poliza, false, 0, 0, $propietario, $centro_de_costo, $recibo); $numero_de_poliza = $xPol->get(); $xLogg->add("=====\tPOLIZA NUM: {$numero_de_poliza} | TIPO: {$tipo_de_poliza} | EJERCICIO: {$ejercicio_de_poliza} | PERIODO: {$periodo_de_poliza}\r\n", $xLogg->DEVELOPER); $sucess = $xPol->mRaiseError == true ? false : true; //------------------ Leer la PROFORMA $sqlMvtosToPoliza = "SELECT\r\n\t\t\t\t\t`contable_polizas_proforma`.*,\r\n\t\t\t\t\t`operaciones_tipos`.*\r\n\t\t\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t`operaciones_tipos` `operaciones_tipos`\r\n\t\t\t\t\t\tINNER JOIN `contable_polizas_proforma`\r\n\t\t\t\t\t\t`contable_polizas_proforma`\r\n\t\t\t\t\t\tON `operaciones_tipos`.`idoperaciones_tipos` =\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\r\n\t\t\t\t\t\tAND `contable_polizas_proforma`.`numero_de_recibo` = {$numero_de_recibo}\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`contable_operacion` DESC,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`socio`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\t\t\t\t\r\n\t\t\t\t\t"; if ($sucess == true) { $rs = $QL->getDataRecord($sqlMvtosToPoliza); foreach ($rs as $rw) { $cuenta = CUENTA_DE_CUADRE; $nombre = ""; $socio = $rw["socio"]; if (CONTABLE_CUENTAS_POR_SOCIO == true) { $xSoc = new cSocio($socio, true); $nombre = $xSoc->getNombreCompleto(); } $documento = $rw["documento"]; $monto_movimiento = $rw["monto"]; $tipoOp = $rw["tipo_de_mvto"]; $tipo_movimiento = $rw["contable_operacion"]; $RecUsr = $rw["idusuario"]; $cuenta_bancaria = $rw["banco"]; $cargo_movimiento = 0; $abono_movimiento = 0; if ($tipo_movimiento == TM_CARGO) { $cargo_movimiento = $monto_movimiento; $abono_movimiento = 0; } else { $cargo_movimiento = 0; $abono_movimiento = $monto_movimiento; } $formula = $rw["cuenta_contable"]; //Corregir de urgencia: OK: 06Oct2011 $sForms = new cValorarFormulas(); $cuenta = $sForms->getCuentaContable($socio, $documento, $formula, $RecUsr, $xRec->getNumeroDeCheque(), $cuenta_bancaria); $xLogg->add($sForms->getMessages(), $xLogg->DEVELOPER); //tipo de cuenta es Abonos a efectivo if ($cuenta != "NO_CONTABILIZAR") { $xCuenta = new cCuentaContable($cuenta); $xCuenta->init(); $cuenta = $xCuenta->get(); //Carga los datos del Oficial if ($xCuenta->getEsCuentaDeCirculante() == true) { $xOf = new cSystemUser($RecUsr); $xOf->init(); $nombre = $xOf->getNombreCompleto(); $xLogg->add("OK\tCUENTA_ADD\tLa Cuenta {$cuenta} de Carga por Usuario [ {$nombre} ]\r\n", $xLogg->DEVELOPER); } else { $xLogg->add("OK\tCUENTA\tLa Cuenta de Trabajo es {$cuenta} Originado del Socio {$socio}\r\n", $xLogg->DEVELOPER); } //verifica para dar de alta a la cuenta $Existentes = $xCuenta->getCountCuenta(); if ($Existentes == false) { $xLogg->add("WARN\tCUENTA_ADD\tLa Cuenta de Trabajo {$cuenta} NO EXISTE, se AGREGA\r\n", $xLogg->DEVELOPER); $cuenta = $xCuenta->add($nombre); if ($xCuenta->mRaiseError == true) { //$msg .= "ERROR\tLa Cuenta de Trabajo $cuenta NO EXISTE\r\n"; //$msg = $xCuenta->getMessages(); } } $xCuenta->init(); $xPol->addMovimiento($cuenta, $cargo_movimiento, $abono_movimiento, "{$socio}", "{$documento}:{$tipoOp}", false, $fecha_de_poliza); //$xLogg->add("WARN\tNO_CONT\tAGREGAR $cuenta, $cargo_movimiento, $abono_movimiento\r\n" , $xLogg->DEVELOPER); $xLogg->add($xCuenta->getMessages(), $xLogg->DEVELOPER); } else { $xLogg->add("WARN\tNO_CONT\tEl Movimiento de {$socio} | {$documento} | {$tipoOp} de Monto {$monto_movimiento} se OMITE\r\n", $xLogg->DEVELOPER); } } $xPol->setFinalizar(); } //sucess $xLogg->add($xPol->getMessages(), $xLogg->DEVELOPER); $this->mIDDePoliza = $xPol->getCodigo(); } } //END VALUE.- GENERAR AL FINAL //} //END VALUE.- GENERAR CONTABILIDAD $this->mMessages .= $xLogg->getMessages(); return $xLogg->getMessages(); }
// CP de la sucursal $docto_relacionado = $OAEc == null ? $OAEc->getNumeroDeSeguridadSocial() : $xRisk->documento_relacionado()->v(); //($xRec->getCodigoDeDocumento() == DEFAULT_CREDITO) ? $xRec->getCodigoDeRecibo() : $xRec->getCodigoDeDocumento(); $fecha_de_op = $xF->getFechaByInt($xRisk->fecha_de_reporte()->v()); $instrumento = $xRisk->instrumento_financiero()->v(); $tipo_de_op = $xRisk->tipo_de_operacion()->v(); $total = $xRisk->monto_total_relacionado()->v(); $moneda = AML_CLAVE_MONEDA_LOCAL; //TODO: Agregar soporte para captación y colocación switch ($tipo_de_obj) { case iDE_RECIBO: $xRec = new cReciboDeOperacion(false, false, $recibo); if ($xRec->init() == true) { if ($xRec->getCodigoDeSocio() == $tercero) { $tipo_de_op = $xEquivOps->get($xRec->getTipoDeRecibo()); $instrumento = $xEquivInst->get($xRec->getTipoDePago()); $moneda = $xRec->getMoneda(); $total = $xRec->getTotal(); } else { $msg .= "ERROR\tLa persona {$tercero} no es misma del recibo {$recibo}- " . $xRec->getCodigoDeSocio() . "\r\n"; $totalerrores++; } } else { $msg .= "ERROR\tRecibo no existe {$recibo}\r\n"; $totalerrores++; } break; case iDE_CREDITO: break; case iDE_CAPTACION: break;
$cont[1] = $xLayout->getClave(); $cont[2] = $FechaExtraccion; $cont[3] = $operaciones == 0 ? 1 : $operaciones; $cont[4] = "01" . $xT->cSerial(3, $supervisor); //clave nacional de entidad supervisora 1002 = CNBV $cont[5] = $casfin; $cont[6] = $xLoc->DomicilioLocalidadClave(); // cambiar por la UIF $cont[7] = $xLoc->DomicilioCodigoPostal(); // CP de la sucursal $xRec = new cReciboDeOperacion(false, false, $recibo); $xRec->init(); $docto_relacionado = $xRec->getCodigoDeDocumento() == DEFAULT_CREDITO ? $xRec->getCodigoDeRecibo() : $xRec->getCodigoDeDocumento(); $cont[8] = $xEquivOps->get($xRec->getTipoDeRecibo()); // Tipo de Operacion 01 deposito 02 retiro 03 compra divisas 04 venta divisas $cont[9] = $xEquivInst->get($xRec->getTipoDePago()); //TODO: Instrumento monetario $cont[10] = $docto_relacionado; $cont[11] = $xRec->getTotal(); $cont[12] = $xRec->getMoneda(); $cont[13] = $xRec->getFechaDeRecibo(); $cont[14] = $fechaDetec; //inusuales $cont[15] = $nac; $cont[16] = $tp; $nombresujeto = $xT->getCSV($xSoc->getNombre()); $cont[17] = $tp == SYS_UNO ? "" : $nombresujeto; $cont[18] = $tp == SYS_UNO ? $nombresujeto : ""; $cont[19] = $tp == SYS_UNO ? $xT->getCSV($xSoc->getApellidoPaterno()) : ""; $cont[20] = $tp == SYS_UNO ? $xT->getCSV($xSoc->getApellidoMaterno()) : ""; $cont[21] = $xSoc->getRFC(true);
function render() { $xRec = new cReciboDeOperacion(false, false, $this->mClave); $html = ""; $recibo = $this->mClave; if ($xRec->init() == true) { $scripts = ""; $xCaja = $xRec->getOCaja(); //TODO: Resolver ajuste y permisos de ajuste if (MODULO_CAJA_ACTIVADO == true and $xRec->isPagable() == true) { $totaloperacion = $xRec->getTotal(); $TesMontoPagado = $xRec->getSaldoEnCaja(); $forma = $xRec->getURI_Formato(); if ($TesMontoPagado > 0) { $xFRM = new cHForm("frmrecibo"); $arrTPag = $xFRM->getAFormsDeTipoPago(); $frm = $arrTPag[$xRec->getTipoDePago()]; //si la caja de tesoreria esta abierta, proceder, si no cerrar if ($xCaja->getEstatus() == TESORERIA_CAJA_CERRADA) { $scripts = "<script>alert('El Recibo {$recibo} no ha sido SALDADO({$TesMontoPagado}) en su totalidad({$totaloperacion}),\\n No se puede efectuar operaciones en Caja Cerrada\\nNecesita Autorizar una Sesion de Caja'); document.location = '../404.php?i=7001';</script>"; } else { $scripts = "<script> TINY.box.show({iframe:'../frmtesoreria/{$frm}?r={$recibo}',boxid:'frameless',width:400,height:540,fixed:false,maskid:'bluemask',maskopacity:40,closejs:function(){ jsRevalidarRecibo() }})</script>"; } } else { $scripts = "<script>window.print();</script>"; } //$html.= $xRec->getMessages(OUT_HTML); $xForms = new cFormato($this->mForma); //$xForms->init(); $xForms->setRecibo($this->mClave); $xForms->setProcesarVars(); $html .= $xForms->get(); $html .= "<script>function jsRevalidarRecibo(){document.location = \"{$forma}\"; }</script>"; $html .= $scripts; } } return $html; }