function jsaGetReciboEnSesion($ctrl) { if (isset($_SESSION["recibo_en_proceso"])) { $recibo = $_SESSION["recibo_en_proceso"]; $xRec = new cReciboDeOperacion(200, false, $recibo); $xRec->setNumeroDeRecibo($recibo, true); $xRec->setGenerarPoliza(); $xRec->setForceUpdateSaldos(); $xRec->setFinalizarRecibo(true); } return "<input type=\"button\" value=\"Imprimir el Recibo # " . $_SESSION["recibo_en_proceso"] . "\" onclick=\"cImprimirRecibo(" . $_SESSION["recibo_en_proceso"] . ")\" id=\"idButtonGo\" />"; }
$parser = !isset($_GET["s"]) ? false : $_GET["s"]; //Obtiene la llave del //if ($key == MY_KEY) { $messages = ""; $fechaop = parametro("f", fechasys()); $xF = new cFecha(0, $fechaop); /** * Generar el Archivo HTMl del LOG * eventos-del-cierre + fecha_de_cierre + .html * */ $aliasFil = getSucursal() . "-eventos-al-cierre-de-colocacion-del-dia-{$fechaop}"; $xLog = new cFileLog($aliasFil); $ql = new MQL(); $xRec = new cReciboDeOperacion(12); $xRec->setGenerarPoliza(); $xRec->setForceUpdateSaldos(); $idrecibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $fechaop, 1, 12, "CIERRE_DE_COLOCACION_{$fechaop}", DEFAULT_CHEQUE, DEFAULT_TIPO_PAGO, DEFAULT_RECIBO_FISCAL, DEFAULT_GRUPO); $xRec->setNumeroDeRecibo($idrecibo); $messages .= "=======================================================================================\r\n"; $messages .= "=========================\t\t" . EACP_NAME . " \r\n"; $messages .= "=========================\t\t" . getSucursal() . " \r\n"; $messages .= "=======================================================================================\r\n"; $messages .= "=========================\t\tINICIANDO EL CIERRE DE COLOCACION ====================\r\n"; $messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t ====================\r\n"; //reconstruir db de pagos $ql->setRawQuery("CALL `proc_historial_de_pagos` "); $xCUtils = new cUtileriasParaCreditos(); $messages .= $xCUtils->setEstatusDeCreditos($idrecibo, $fechaop, false, true); if (date("Y-m-t", strtotime($fechaop)) == date("Y-m-d", strtotime($fechaop))) { $messages .= $xCUtils->setGenerarMvtoFinDeMes($xF->getDiaInicial(), $xF->getDiaFinal());
function setAbonoCapital($monto, $parcialidad = SYS_UNO, $cheque = DEFAULT_CHEQUE, $tipo_de_pago = DEFAULT_TIPO_PAGO, $recibo_fiscal = DEFAULT_RECIBO_FISCAL, $observaciones = "", $grupo = DEFAULT_GRUPO, $fecha = false, $recibo = false) { if ($monto != 0) { $this->mMessages .= "WARN\tRECIBO >>>> {$recibo}\r\n"; $grupo = setNoMenorQueCero($grupo); if ($grupo == DEFAULT_GRUPO) { $grupo = $this->mGrupoAsociado; } if (setNoMenorQueCero($this->mNumeroSocio) <= DEFAULT_SOCIO) { $this->init(); } if ($fecha == false) { $fecha = $this->mFechaOperacion; } $socio = $this->mNumeroSocio; $CRecibo = new cReciboDeOperacion(RECIBOS_TIPO_PAGO_CREDITO, true, $recibo); //Set a Mvto Contable $CRecibo->setGenerarPoliza(); $CRecibo->setGenerarTesoreria(); $CRecibo->setGenerarBancos(); if (setNoMenorQueCero($recibo) <= 0) { if (setNoMenorQueCero($this->mReciboDeOperacion) > 0) { $CRecibo->setNumeroDeRecibo($this->mReciboDeOperacion, true); $recibo = $this->mReciboDeOperacion; } } else { $this->mReciboDeOperacion = $recibo; } //Agregar recibo si no hay if (setNoMenorQueCero($recibo) <= 0) { $recibo = $CRecibo->setNuevoRecibo($socio, $this->mNumeroCredito, $this->mFechaOperacion, $parcialidad, RECIBOS_TIPO_PAGO_CREDITO, $observaciones, $cheque, $tipo_de_pago, $recibo_fiscal, $grupo); //Checar si se agrego el recibo if (setNoMenorQueCero($recibo) > 0) { $this->mMessages .= "OK\tSe Agrego Exitosamente el Recibo {$recibo} de la Cuenta " . $this->mNumeroCredito . " \r\n"; $this->mReciboDeOperacion = $recibo; $this->mSucess = true; } else { $this->mMessages .= "ERROR\tSe Fallo al Agregar el Recibo {$recibo} de la Cuenta " . $this->mNumeroCredito . " \r\n"; $this->mSucess = false; } } $this->mReciboDeOperacion = $recibo; if (setNoMenorQueCero($recibo) > 0) { //Agregar el Movimiento $CRecibo->setNuevoMvto($fecha, $monto, OPERACION_CLAVE_PAGO_CAPITAL, $parcialidad, $observaciones, 1, TM_ABONO, $socio, $this->mNumeroCredito); $this->mNuevoSaldo = $this->mSdoCapitalInsoluto - $monto; $this->mMessages .= $CRecibo->getMessages(); $this->mSucess = true; //Actualizar la Cuenta $arrAct = array("saldo_actual" => $this->mNuevoSaldo); $this->mMessages .= "WARN\tSALDO\tSe Actualiza el Saldo de " . $this->mSdoCapitalInsoluto . " a " . $this->mNuevoSaldo . " \r\n"; $this->setUpdate($arrAct); } else { $this->mMessages .= "ERROR\tNo Existe Recibo con el cual trabajar ({$recibo}) \r\n"; } //afectar el capital if ($this->mSucess == true) { $numero_plan = $this->getNumeroDePlanDePagos(); if (setNoMenorQueCero($numero_plan) > 0) { $xPlan = new cPlanDePagos($numero_plan); //no se necesita inicializar el plan de pagos $xPlan->setActualizarParcialidad($parcialidad, "(afectacion_real - {$monto})"); } } $this->mObjRec = $CRecibo; $this->mMessages .= $CRecibo->getMessages(); //Agrega el Devengado de Interes } return $recibo; }
function setTraspaso($CuentaDestino, $TipoDestino, $observaciones = "", $monto = false) { if ($this->mCuentaIniciada == false) { $this->init(); } $cuentaOrigen = $this->mNumeroCuenta; $socio = $this->mSocioTitular; $saldoOrigen = $this->mSaldoActual; $fechaOperacion = fechasys(); $tipoPago = TESORERIA_COBRO_NINGUNO; $cheque = "NA"; $reciboFiscal = ""; $tipoDocumento = 9; $msg = ""; if ($TipoDestino == CAPTACION_TIPO_PLAZO) { $xCDestino = new cCuentaInversionPlazoFijo($CuentaDestino, $socio); } else { $xCDestino = new cCuentaALaVista($CuentaDestino, $socio); } $xCDestino->init(); if ($monto > $saldoOrigen) { $msg .= "ERROR\tEl Monto a Retirar {$monto} es mayor al saldo de Origen {$saldoOrigen} \r\n"; } else { //Crear el Recibo $xRec = new cReciboDeOperacion($tipoDocumento); $ReciboTrasp = $xRec->setNuevoRecibo($socio, $cuentaOrigen, $fechaOperacion, 1, $tipoDocumento, $observaciones, $cheque, $tipoPago); $xRec->setNumeroDeRecibo($ReciboTrasp); $xRec->setGenerarPoliza(); $xRec->setForceUpdateSaldos(); $xRec->initRecibo(); $this->setCuentaBancaria(DEFAULT_CUENTA_BANCARIA); $this->setReciboDeOperacion($ReciboTrasp); $this->setForceOperations(true); $xCDestino->setReciboDeOperacion($ReciboTrasp); $this->setRetiro($monto, $cheque, $tipoPago, $reciboFiscal, $observaciones, DEFAULT_GRUPO, $fechaOperacion, $ReciboTrasp); $xCDestino->setDeposito($monto, $cheque, $tipoPago, $reciboFiscal, $observaciones, DEFAULT_GRUPO, $fechaOperacion, $ReciboTrasp); $xRec->setFinalizarRecibo(true); $msg .= $xRec->getMessages("txt"); } return $msg; }
function Common_c5fe0408555dbf392918c6f77a4d01b2($params) { $stdDiv = STD_LITERAL_DIVISOR; $DPar = explode($stdDiv, $params, 10); //mensajes //grupo $xTip = new cTipos(); // $socio = $xTip->cInt($DPar[0]); $credito = $xTip->cInt($DPar[1]); $letra = $xTip->cInt($DPar[2]); $capital = $xTip->cFloat($DPar[3]); $interes = $xTip->cFloat($DPar[4]); $iva = $xTip->cFloat($DPar[5]); $ahorro = $xTip->cFloat($DPar[6]); $nota = $xTip->cChar($DPar[7]); $numero = $xTip->cInt($DPar[8]); $limit = $xTip->cInt($DPar[9]); $msg = "====================== MOVIMIENTO {$numero} DE {$limit} ====================\r\n"; //Datos del Credito $Cred = new cCredito($credito, $socio); $Cred->initCredito(); $DCred = $Cred->getDatosDeCredito(); $saldo = $DCred["saldo_actual"] - $capital; $contrato_captacion = $DCred["contrato_corriente_relacionado"]; $grupo = $DCred["grupo_asociado"]; $msg .= $Cred->getMessages(); if (isset($_SESSION["recibo_en_proceso"])) { $recibo = $_SESSION["recibo_en_proceso"]; $fecha = fechasys(); $_SESSION["total_recibo_en_proceso"] += $capital + $interes + $ahorro; $xRec = new cReciboDeOperacion(200, false, $recibo); $xRec->setNumeroDeRecibo($recibo, true); $xRec->setNumeroDeRecibo($recibo, true); $DRec = $xRec->getDatosInArray(); $cheque = $DRec["cheque_afectador"]; $tipopago = $DRec["tipo_pago"]; $recibofiscal = $DRec["recibo_fiscal"]; $xRec->setGenerarPoliza(); $msg .= "{$socio}\t{$credito}\tCREDITO\tMovimiento {$i} del Credito {$credito} del Socio {$socio} con Saldo {$saldo}\r\n "; $msg .= "{$socio}\t{$credito}\tMONTOS\tCapital: {$capital} || Interes: {$interes} || Ahorro: {$ahorro} \r\n"; //Agregando Capital if ($capital > 0) { $xRec->setNuevoMvto($fecha, $capital, 120, $letra, $nota . ";SDO:" . $saldo, 1, TM_ABONO, $socio, $credito); $arrCred = array("saldo_actual" => $saldo); $Cred->setUpdate($arrCred); } //Agregando Interes if ($interes > 0) { $xRec->setNuevoMvto($fecha, $interes, 140, $letra, $nota, 1, TM_ABONO, $socio, $credito); } //agregando el IVA if ($interes > 0) { $xRec->setNuevoMvto($fecha, $iva, 151, $letra, $nota, 1, TM_ABONO, $socio, $credito); } //Agregando Ahorro if ($ahorro > 0) { $xC = new cCuentaALaVista($contrato_captacion); if (!isset($contrato_captacion) or $contrato_captacion == CTA_GLOBAL_CORRIENTE or $contrato_captacion == 0) { $contrato_captacion = $xC->setNuevaCuenta(2, 1, $socio, "CUENTA_AUTOMATICA", $credito); $msg .= "{$socio}\t{$credito}\tNuevaCta\tse dio de alta a la cuenta {$contrato_captacion}\r\n"; //2011-nov-30 se agrego la actualizacion del contrato relacionado $arrCred = array("contrato_corriente_relacionado" => $contrato_captacion); $Cred->setUpdate($arrCred); } $xC = new cCuentaALaVista($contrato_captacion); $xC->setSocioTitular($socio); $xC->setReciboDeOperacion($recibo); $xC->setDeposito($ahorro, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo); $msg .= $xC->getMessages("txt"); $msg .= "{$socio}\t{$credito}\tAhorro\t El Saldo Quedo en " . $xC->getNuevoSaldo() . "\r\n"; } $msg .= "{$socio}\t{$credito}\tObservacion\t {$nota}\r\n"; $msg .= $xRec->getMessages("txt"); } else { $msg .= "NO_SE_HA_DEFINIDO_UN_RECIBO"; } $xLog = new cFileLog("log_de_recibo_" . $recibo); $xLog->setWrite($msg); $xLog->setClose(); $MsgEnd = ""; if ($numero == $limit) { $xRec->setForceUpdateSaldos(); $xRec->setFinalizarRecibo(true); //$MsgEnd .= "**** proceso terminado ****"; } //retorna el id del control de origen para neutralizar return "-{$numero}"; }
function jsaAjustarTotal($recibo, $nuevoTotal, $nuevaletra) { $xRec = new cReciboDeOperacion(false, true, $recibo); $xRec->init(); $xRec->setGenerarBancos(false); $xRec->setGenerarPoliza(false); $xRec->setGenerarTesoreria(false); $xRec->setForceUpdateSaldos(true); $total = $xRec->getTotal(); $QL = new MQL(); $DMov = new cOperaciones_mvtos(); $msg = ""; if ($nuevoTotal < $total) { $NRec = new cReciboDeOperacion($xRec->getTipoDeRecibo(), false, $recibo); $idNRec = $NRec->setNuevoRecibo($xRec->getCodigoDeSocio(), $xRec->getCodigoDeDocumento(), $xRec->getFechaDeRecibo(), 0, $xRec->getTipoDeRecibo(), "AJUSTE DEL RECIBO {$recibo}"); $NRec->setForceUpdateSaldos(true); $NRec->setGenerarBancos(false); $NRec->setGenerarPoliza(false); $NRec->setGenerarTesoreria(false); /*`idoperaciones_mvtos`, `operaciones_mvtos`.`fecha_operacion`, `operaciones_mvtos`.`fecha_afectacion`, `operaciones_mvtos`.`recibo_afectado`, `operaciones_mvtos`.`socio_afectado`, `operaciones_mvtos`.`docto_afectado`, `operaciones_mvtos`.`tipo_operacion`, `operaciones_mvtos`.`afectacion_real` */ $sql = "SELECT\n\t\t\t`operaciones_mvtos`.*\n\n\t\tFROM\n\t\t\t`operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\tINNER JOIN `operaciones_tipos` `operaciones_tipos` \n\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.\n\t\t\t\t`idoperaciones_tipos` \n\t\tWHERE\n\t\t\t(`operaciones_mvtos`.`recibo_afectado` ={$recibo}) \n\t\tORDER BY\n\t\t\t`operaciones_mvtos`.`tipo_operacion` DESC "; $rs = $QL->getDataRecord($sql); $arrops = array(); foreach ($rs as $rw) { $DMov->setData($rw); $NMonto = $DMov->afectacion_real()->v(); $IDOpe = $DMov->idoperaciones_mvtos()->v(); if ($nuevoTotal > 0) { $nuevoTotal -= $NMonto; $msg .= $IDOpe . " \t {$nuevoTotal} DE {$NMonto}\r\n"; if ($nuevoTotal < 0) { $msg .= "CUADRAR {$NMonto} DE {$nuevoTotal} \r\n"; $nuevoTotal = $nuevoTotal * -1; $dif = $NMonto - $nuevoTotal; $sql = "UPDATE operaciones_mvtos \n\t\t\t\t\t\t\tSET afectacion_real={$dif}, afectacion_cobranza={$dif}, afectacion_contable={$dif},\n\t\t\t\t\t\t\tafectacion_estadistica={$dif} WHERE idoperaciones_mvtos={$IDOpe} "; $x = my_query($sql); $msg .= $x[SYS_INFO]; //agregar el movimiento al nuevo recibo con cargos $NRec->setNuevoMvto($DMov->fecha_operacion()->v(), $nuevoTotal, $DMov->tipo_operacion()->v(), $DMov->periodo_socio()->v(), "SEPARACION DEL MVTO {$IDOpe} {$nuevoTotal}", $DMov->valor_afectacion()->v(), false, $DMov->socio_afectado()->v(), $DMov->docto_afectado()->v(), $DMov->fecha_afectacion()->v(), $DMov->fecha_vcto()->v(), $DMov->saldo_anterior()->v(), $DMov->saldo_actual()->v()); //listo $nuevoTotal = 0; } } else { $arrops[$DMov->idoperaciones_mvtos()->v()] = $DMov->afectacion_real()->v(); } } //$total = $total * -1; foreach ($arrops as $operacion => $monto) { $x = my_query("UPDATE operaciones_mvtos SET recibo_afectado={$idNRec} WHERE idoperaciones_mvtos={$operacion}"); //100 - 50 //$dif = $monto - $total; $msg .= $x[SYS_INFO]; } $NRec->setFinalizarRecibo(true); $msg .= $NRec->getMessages(OUT_TXT); $xRec->setFinalizarRecibo(true); } else { $msg .= "WARN\tNO SE MODIFICA NADA({$nuevoTotal}|{$total})\r\n"; } $msg .= $xRec->getMessages(OUT_TXT); return $msg; }