function jsaGetDatosCuenta($cuenta, $socio) { $xCta = new cCuentaALaVista($cuenta, $socio); $xCta->init(); $DC = $xCta->getDatosInArray(); $MaxRet = $xCta->getMaximoRetirable(); $sdo = $DC["saldo_cuenta"]; $tab = new TinyAjaxBehavior(); $tab->add(TabSetValue::getBehavior("idMaxRet", $MaxRet)); $tab->add(TabSetValue::getBehavior("idSaldoAnterior", $sdo)); //$tab -> add(TabSetValue::getBehavior("idmonto", $sdo )); //$tab -> add(TabSetValue::getBehavior("imsg", $xCta->getMessages("txt") )); return $tab->getString(); }
function setRegenerarSDPM($PFechaInicial, $PFechaFinal, $GenerarInteres = true, $incluirSinSaldo = false, $NumeroCuenta = false) { // $PFechaFinal = ""; $mBase = 3100; $xT = new cTipos(); $ql = new MQL(); $BySaldo = $incluirSinSaldo == false ? " AND captacion_cuentas.saldo_cuenta >=" . TOLERANCIA_SALDOS : ""; $ByCuentaSDPM = $NumeroCuenta == false ? "" : " AND `captacion_sdpm_historico`.`cuenta` = {$NumeroCuenta} "; $ByCuentaMvto = $NumeroCuenta == false ? "" : " AND `operaciones_mvtos`.`docto_afectado` = {$NumeroCuenta} "; $ByCuentaCta = $NumeroCuenta == false ? "" : " AND captacion_cuentas.numero_cuenta = {$NumeroCuenta} "; $msg = ""; $msg .= "==========================================================================================\r\n"; $msg .= "==================\tGenerando SDPM desde el {$PFechaInicial} al {$PFechaFinal}\r\n"; $msg .= "==========================================================================================\r\n"; $msg .= "Socio\tCuenta\tOPER\tEjercicio\tPeriodo\tFecha\tDias\tMonto\tSaldo\tSDPM\r\n"; $sqlM = "SELECT \n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion` AS 'fecha_operacion',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` AS 'recibo_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado` AS 'docto_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`afectacion_real` AS 'afectacion_real',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`valor_afectacion`,\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`afectacion` AS 'afectacion'\n\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros` \n\t\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros` \n\t\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = \n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro` \n\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` ={$mBase})\n\t\t\t\t\t\t\t\t\t{$ByCuentaMvto}\n\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion` ASC"; $rsM = getRecordset($sqlM); $arrOps = array(); //Array de montos de operacion $arrRecs = array(); //Array de Recibos de Operacion while ($rwM = mysql_fetch_array($rsM)) { //clave cuenta fecha $cuenta = $rwM["docto_afectado"]; $fecha = $rwM["fecha_operacion"]; if (isset($arrOps[$cuenta . "-" . $fecha])) { $arrOps[$cuenta . "-" . $fecha] += $rwM["afectacion_real"] * $rwM["afectacion"]; } else { $arrOps[$cuenta . "-" . $fecha] = $rwM["afectacion_real"] * $rwM["afectacion"]; } $arrRecs[$cuenta . "-" . $fecha] = $rwM["recibo_afectado"]; //$msg .= "WARN\t$cuenta\tAgregar " . ($rwM["afectacion_real"] * $rwM["afectacion"] ) . "\r\n"; } //Eliminar periodos anteriores $sqlDF = "DELETE FROM captacion_sdpm_historico WHERE (fecha>='{$PFechaInicial}' AND fecha<='{$PFechaFinal}') {$ByCuentaSDPM} "; my_query($sqlDF); //FECHAS $xF = new cFecha(0); // $xTbl = new cSAFETabla(TCAPTACION_CUENTAS); $sqlCX = $xTbl->getQueryInicial() . " WHERE captacion_cuentas.tipo_cuenta = " . CAPTACION_TIPO_VISTA . " {$BySaldo} {$ByCuentaCta} "; $rs1 = getRecordset($sqlCX); while ($rw1 = mysql_fetch_array($rs1)) { $socio = $rw1["numero_socio"]; $cuenta = $rw1["numero_cuenta"]; $xCta = new cCuentaALaVista($cuenta, $socio); $xCta->init($rw1); $DCta = $xCta->getDatosInArray(); $FApertura = $DCta["fecha_apertura"]; $dias = $xF->setRestarFechas($PFechaFinal, $FApertura); $dias += 1; $sucursal = $DCta["sucursal"]; $FechaAnterior = $FApertura; $saldoAnterior = 0; $xF2 = new cFecha(1); for ($i = 0; $i <= $dias; $i++) { $OpFecha = $xF->setSumarDias($i, $FApertura); $xF->set($OpFecha); $OpFechaFin = $xF->getDiaFinal(); $OpMonto = isset($arrOps[$cuenta . "-" . $OpFecha]) ? $arrOps[$cuenta . "-" . $OpFecha] : 0; $idrecibo = isset($arrRecs[$cuenta . "-" . $OpFecha]) ? $arrRecs[$cuenta . "-" . $OpFecha] : DEFAULT_RECIBO; //si la operacion es mayor a cero o es FIN DE MES if ($OpMonto != 0 or $OpFecha == $OpFechaFin) { $diasTrans = $xF2->setRestarFechas($OpFecha, $FechaAnterior); $xF2->set($OpFecha); $ejercicio = $xF2->anno(); $periodo = $xF2->mes(); $sdpd = $saldoAnterior * $diasTrans; $nuevatasa = $xCta->getTasaAplicable(0, 0, $saldoAnterior); //corregir fecha $sqlUSPM = "INSERT INTO captacion_sdpm_historico\n\t\t\t\t\t\t\t\t\t\t(ejercicio, periodo, cuenta, fecha, dias, tasa, monto, recibo, numero_de_socio, sucursal)\n\t \t\t\t\t\t\t\t\tVALUES( {$ejercicio}, {$periodo}, {$cuenta}, '{$OpFecha}', {$diasTrans}, {$nuevatasa}, {$sdpd}, {$idrecibo}, {$socio}, '{$sucursal}') "; //si es valida la operacion, se actualizan if ($OpFecha >= $PFechaInicial and $OpFecha <= $PFechaFinal) { my_query($sqlUSPM); $msg .= "{$socio}\t{$cuenta}\t+SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n"; } else { $msg .= "{$socio}\t{$cuenta}\t=SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n"; } $FechaAnterior = $OpFecha; $saldoAnterior += $OpMonto; } } } //Agregar Movimientos Finales del MES. //FIXME: Corregir incidencias //opcional: agregar Interes if ($GenerarInteres == true) { $xRec = new cReciboDeOperacion(12, false); $recibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, 1, $PFechaFinal, 1, 12, "REGENERAR_INTERES_SDPM_{$PFechaFinal}", "NA", "ninguno", "NA", DEFAULT_GRUPO); $msg .= "==========================================================================================\r\n"; $msg .= "==================\tAGREGADO INTERES :: RECIBO {$recibo}\r\n"; $msg .= "==========================================================================================\r\n"; $_SESSION["recibo_en_proceso"] = $recibo; //sumar sdpm del mes por cuenta $sqlSDPM = "SELECT\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`numero_de_socio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`dias`) AS `dias_transcurridos`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`monto`) AS `sdpm`,\n\t\t\t\t\t\t\t\tROUND( (`captacion_sdpm_historico`.`monto` / `captacion_sdpm_historico`.`dias`), 2) AS `ultimo_saldo`,\n\t\t\t\t\t\t\t\tMAX(`captacion_sdpm_historico`.`fecha`) AS 'UltimaFecha'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico` `captacion_sdpm_historico` \n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` >= '{$PFechaInicial}')\n\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` <= '{$PFechaFinal}')\n\t\t\t\t\t\t\t\t{$ByCuentaSDPM}\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`ejercicio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`periodo`\n\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`fecha` DESC "; $rsCAP = $ql->getDataRecord($sqlSDPM); //setLog($sqlSDPM); foreach ($rsCAP as $rwC) { $socio = $rwC["numero_de_socio"]; $cuenta = $rwC["cuenta"]; $dias_de_calc = $rwC["dias_transcurridos"]; $sumaSDPM = $rwC["sdpm"]; $FechaI = $rwC["UltimaFecha"]; $promedio = $xT->cFloat($sumaSDPM / $dias_de_calc, 2); //XXX: Solucionar Tasa de Interes y hacer las rapida la consulta $xCta = new cCuentaDeCaptacion($cuenta); $xCta->init(); $subtipo = $xCta->getTipoDeSubproducto(); $tasa_nueva = obtentasa($promedio, CAPTACION_TIPO_VISTA, 0, $subtipo); $interes = $sumaSDPM * $tasa_nueva / EACP_DIAS_INTERES; $interes = $xT->cFloat($interes, 2); //agregar movimiento if ($interes > 0) { setNuevoMvto($socio, $cuenta, $recibo, $FechaI, $interes, 222, 1, "CALCULO_AUTOMATICO_DESDE_{$PFechaInicial}"); $msg .= "{$socio}\t{$cuenta}\tAGREGAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n"; } else { $msg .= "{$socio}\t{$cuenta}\tIGNORAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n"; } } } return $msg; }
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; }
$Producto = $cT->cInt($datos[3]); $importe = $cT->cFloat($datos[4]); $observaciones = $cT->cChar($datos[5]); if ($NumCuenta == 0 or $NumCuenta == "") { $NumCuenta = false; } //$ClaveCuenta = false; //Iniciar el Socio //$msg .= "$iReg\t$socio\tERROR_SOCIO\t$socio -- $importe -- $fechaApertura -- $plazo -- $tasa -- $observaciones\r\n"; $xCL = new cCajaLocal(99); if ($xCL->getExistenciaSocio($socio) <= 0) { $msg .= "{$iReg}\t{$socio}\tERROR_SOCIO\tLa Linea({$iReg}) no se leyo por que no existe el socio. (" . substr($bufer, 0, 20) . ")\r\n"; } else { $xCta = new cCuentaALaVista($NumCuenta, $socio, 0, false, $fechaApertura); if ($xCta->setContarCuenta() <= 0) { $xCta = new cCuentaALaVista(false, $socio, 0, false, $fechaApertura); $NumCuenta = $xCta->setNuevaCuenta(99, $Producto, $socio, $observaciones, DEFAULT_CREDITO, "", "", DEFAULT_GRUPO, $fechaApertura, 10); $msg .= "{$iReg}\t{$socio}\tCUENTA\tSe Agrego Exitosamente la cuenta {$NumCuenta} \r\n"; } if ($NumCuenta != false) { if ($importe > 0) { $xCta->init(); $RDeposito = $xCta->setDeposito($importe, DEFAULT_CHEQUE, DEFAULT_TIPO_PAGO, DEFAULT_RECIBO_FISCAL, $observaciones, DEFAULT_GRUPO, $fechaApertura); $msg .= "{$iReg}\t{$socio}\tRECIBO_DEPOSITO\tSe Efectua un Deposito de {$importe} al Recibo {$RDeposito}\r\n"; $msg .= $xCta->getMessages("txt"); } } else { $msg .= "{$iReg}\t{$socio}\tERROR\tSe Fallo al Agregar la Cuenta\r\n"; } } }
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}"; }
$xT = new cTipos(); $Fecha = parametro("idfecha-0", false); $Fecha = $Fecha == false ? fechasys() : $xF->getFechaISO($Fecha); $idsocio = parametro("idsocio", false, MQL_INT); //$xT->cInt($_POST["idsocio"]); $detalles = parametro("idobservaciones", ""); $monto = parametro("idmonto", 0, MQL_FLOAT); $cheque = parametro("cheque", DEFAULT_CHEQUE); $comopago = parametro("ctipo_pago", DEFAULT_TIPO_PAGO, MQL_RAW); $folio_fiscal = parametro("foliofiscal", DEFAULT_RECIBO_FISCAL); $fecha_de_operacion = $Fecha; //$xSoc = new cSocio($idsocio); if (setNoMenorQueCero($monto) <= 0) { $msg .= "ERROR\tEL MONTO DEBE SER MAYOR A CERO\r\n"; } else { $xCta = new cCuentaALaVista($iddocto, $idsocio); if ($xCta->init() == true) { $ide = $xCta->getMontoIDE($fecha_de_operacion, $monto, $comopago); $recibo = $xCta->setDeposito($monto, $cheque, $comopago, $folio_fiscal, $detalles, DEFAULT_GRUPO, $fecha_de_operacion); if ($ide > 0) { $saldo = $xCta->getNuevoSaldo(); $ide_observacion = "Retencion Generada por un Deposito de {$monto}, Recibo {$recibo}, saldo de {$saldo}"; //Si el Saldo de la Cuenta es Mayor al IDE if ($saldo > $ide) { $ReciboIDE = $xCta->setRetenerIDE($fecha_de_operacion, false, $ide, $ide_observacion); } else { //Si no el IDE es igual al Saldo $ide = $saldo; $ReciboIDE = $xCta->setRetenerIDE($fecha_de_operacion, false, $ide, $ide_observacion); } }
//Verifica que solo haya un tipo de operacion if ($sucess == true) { if ($deposito > 0 and $retiro > 0) { $sucess = false; $msg .= "ERROR\tSolo se admite un tipo de operacion por LINEA\r\n"; } } //Verifica que haya un monto de retiro/deposito if ($sucess == true) { if ($retiro == 0 and $deposito == 0) { $sucess = false; $msg .= "ERROR\tNo existe monto de operacion ({$deposito}|{$retiro})\r\n"; } } if ($sucess == true and $action == MQL_ADD) { $xCta = new cCuentaALaVista($cuenta); if ($cuenta == false) { $cuenta = $xCta->setNuevaCuenta(DEFAULT_CAPTACION_ORIGEN, $producto_destino, $persona); /* $origen, $subproducto, $socio, $observaciones = "", $credito = 1, $mancomunado1 = "", $mancomunado2 = "", $grupo = 99, $fecha_alta = false, $tipo_de_cuenta = 20, $tipo_de_titulo = 99, $DiasInvertidos = false, $tasa = false, $CuentaDeIntereses = false, $FechaVencimiento = false */ } if ($retiro > 0) { $xCta->setRetiro($retiro); } if ($deposito > 0) {
function Common_c8581154ac4e27cb0e122d71341dd7d8($strCmd) { $DPar = explode(STD_LITERAL_DIVISOR, $strCmd); $xTip = new cTipos(); // $socio = $xTip->cInt($DPar[0]); $cuenta = $xTip->cInt($DPar[1]); $deposito = $xTip->cFloat($DPar[2]); $retiro = $xTip->cFloat($DPar[3]); $nota = $xTip->cChar($DPar[4]); $numero = $xTip->cInt($DPar[5]); $limit = $xTip->cInt($DPar[6]); if (isset($_SESSION["recibo_en_proceso"])) { $recibo = $_SESSION["recibo_en_proceso"]; $fecha = fechasys(); $_SESSION["total_recibo_en_proceso"] += $deposito - $retiro; $xRec = new cReciboDeOperacion(200, false, $recibo); $xRec->setNumeroDeRecibo($recibo, true); $DRec = $xRec->getDatosInArray(); $cheque = $DRec["cheque_afectador"]; $tipopago = $DRec["tipo_pago"]; $recibofiscal = $DRec["recibo_fiscal"]; if ($deposito > 0 or $retiro > 0) { $xC = new cCuentaALaVista($cuenta); $grupo = DEFAULT_GRUPO; $xC->setSocioTitular($socio); $xC->setReciboDeOperacion($recibo); if ($deposito > 0) { $xC->setDeposito($deposito, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo); } if ($retiro > 0) { $xC->setRetiro($retiro, $cheque, $tipopago, $recibofiscal, $nota, $grupo, $fecha, $recibo); } } if ($numero == $limit) { $xRec->setForceUpdateSaldos(); $xRec->setFinalizarRecibo(true); //$MsgEnd .= "**** proceso terminado ****"; } } //retorna el id del control de origen para neutralizar return "-{$numero}"; }
$messages .= $xCaja->getMessages(OUT_TXT); } //Verificar lo Valores por defecto if ($xSuc->existeSocio(DEFAULT_SOCIO) == false) { $cajaLocalR = $xSuc->getCajaLocalResidente(); $xSoc = new cSocio(DEFAULT_SOCIO); $xSoc->add("", "PUBLICO_GENERAL", "", "POR_REGISTRAR", "POR_REGISTRAR", $cajaLocalR, false, "DESCONOCIDO", 99, 99, 99, 99, 99, 1, DEFAULT_GRUPO, "", 1, "0", DEFAULT_SOCIO, getSucursal()); $messages .= $xSoc->getMessages(OUT_TXT); } if ($xSuc->existeCredito(DEFAULT_CREDITO) == false) { $xCred = new cCredito(DEFAULT_CREDITO, DEFAULT_SOCIO); $xCred->add(DEFAULT_TIPO_CONVENIO, DEFAULT_SOCIO, DEFAULT_CUENTA_CORRIENTE, 0, CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO, 1, 1, CREDITO_DEFAULT_DESTINO, DEFAULT_CREDITO, DEFAULT_GRUPO, "CREDITO POR DEFECTO"); $messages .= $xCred->getMessages(OUT_TXT); } if ($xSuc->existeCuenta(DEFAULT_CUENTA_CORRIENTE) == false) { $xCta = new cCuentaALaVista(DEFAULT_CUENTA_CORRIENTE); $xCta->setNuevaCuenta("99", "99", DEFAULT_SOCIO); $messages .= $xCta->getMessages(OUT_TXT); } $ql = new MQL(); /* * ==================================================================================================================================================== * Agregar codigo de actualizar menores a personas fisicas * ==================================================================================================================================================== */ $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 SISTEMA ====================\r\n"; $messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t ====================\r\n";
function setConciliarCuentas($AppSucursal) { $msg = ""; $AppSucursal = strtoupper($AppSucursal); $BySucursal = " AND (`sucursal` ='" . getSucursal() . "') "; if ($AppSucursal != "SI") { $BySucursal = ""; } //Crea un Array de los saldos de la Cuenta $arrSdoCtas = array(); $arrNumCtas = array(); $arrSdoCW = array(); // $sqlCW = "SELECT\n\t\t\t\t\t\t\t\tCOUNT(`sisbancs_temp_depositos`.`numero_de_socio`) AS `existentes`,\n\t\t\t\t\t\t\t\t`sisbancs_temp_depositos`.`numero_de_socio`\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`sisbancs_temp_depositos` `sisbancs_temp_depositos`\n\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`sisbancs_temp_depositos`.`numero_de_socio` "; $rsA = getRecordset($sqlCW); while ($rw = mysql_fetch_array($rsA)) { $arrSdoCW[$rw["numero_de_socio"]] = $rw["existentes"]; } unset($rsA); unset($rw); // obtiene las cuentas tipo 10[A LA VISTA] en safe y crea un array $sqlSdoCta = " SELECT SQL_CACHE\n\t\t\t\t\t\t\t`captacion_cuentas`.`numero_socio` AS `socio`,\n\t\t\t\t\t\t\t`captacion_cuentas`.`tipo_cuenta`\tAS `tipo`,\n\t\t\t\t\t\t\tCOUNT(`captacion_cuentas`.`numero_cuenta`) AS `cuentas`,\n\t\t\t\t\t\t\tSUM(`captacion_cuentas`.`saldo_cuenta`) AS `suma`\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`captacion_cuentas` `captacion_cuentas`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(`captacion_cuentas`.`estatus_cuenta` != 99)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`captacion_cuentas`.`tipo_cuenta` = 10)\n\t\t\t\t\t\t\t{$BySucursal}\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`captacion_cuentas`.`numero_socio`,\n\t\t\t\t\t\t\t`captacion_cuentas`.`tipo_cuenta`\n\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t`captacion_cuentas`.`tipo_cuenta` "; $rsA = getRecordset($sqlSdoCta); while ($rw = mysql_fetch_array($rsA)) { $msocio = $rw["socio"]; $arrSdoCtas[$msocio . "-" . $rw["tipo"]] = round($rw["suma"], 2); //OK: Verificar if (!isset($arrSdoCW[$rw["socio"]]) or is_null($arrSdoCW[$rw["socio"]])) { $msg .= "\t{$msocio}\tAgregando un cuadre al socio " . $msocio . " A COMPACW para Verificacion\r\n"; $sqltmp = "INSERT INTO sisbancs_temp_depositos(numero_de_socio, cuenta_contable, nombre, tipo_de_saldo, monto, sucursal)\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tVALUES({$msocio}, '', '_AGREGADO_PARA_CUADRE_MONTO_" . $rw["suma"] . "', 0, 0, 'matriz')"; my_query($sqltmp); } } unset($rsA); unset($rw); //============================================================================================================================ $sqlCuentasSISBANCS = "SELECT SQL_CACHE\n\t\t\t\t\t\t\t\t\t\t`temp_captacion_por_socio`.`numero_socio`,\n\t\t\t\t\t\t\t\t\t\t`temp_sisbancs_depositos`.`numero_de_socio`,\n\t\t\t\t\t\t\t\t\t\t`temp_captacion_por_socio`.`tipo_cuenta`,\n\t\t\t\t\t\t\t\t\t\tROUND(`temp_captacion_por_socio`.`monto`, 2) AS `saldo_safe`,\n\t\t\t\t\t\t\t\t\t\t`temp_sisbancs_depositos`.`total`,\n\t\t\t\t\t\t\t\t\t\t`temp_sisbancs_depositos`.`cuentas`,\n\t\t\t\t\t\t\t\t\t\tROUND((`temp_sisbancs_depositos`.`total` - `temp_captacion_por_socio`.`monto`), 2) AS 'diferencia'\n\n\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t`temp_captacion_por_socio` `temp_captacion_por_socio`\n\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `temp_sisbancs_depositos` `temp_sisbancs_depositos`\n\t\t\t\t\t\t\t\t\t\t\tON `temp_captacion_por_socio`.`numero_socio` = `temp_sisbancs_depositos`\n\t\t\t\t\t\t\t\t\t\t\t.`numero_de_socio`\n\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t(`temp_captacion_por_socio`.`tipo_cuenta` =10)\n\t\t\t\t\t\t\t\t\t\t{$BySucursal}\n\t\t\t\t\t\t\t\t\tHAVING\n\t\t\t\t\t\t\t\t\t\t(diferencia > 0.02)\n\t\t\t\t\t\t\t\t\t\tOR\n\t\t\t\t\t\t\t\t\t\t(diferencia < -0.02)\n\t\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t\tdiferencia\n\t\t\t\t\t\t\t\t /* LIMIT 0,600 */ "; $rs = getRecordset($sqlCuentasSISBANCS); $contar = 0; //Crear un nuevo Recibo de Ajuste $cRec = new cReciboDeOperacion(10); $xRec = $cRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, fechasys(), 1, 10, "RECIBO_DE_AJUSTES_DE_CAPTACION"); $msg .= "\t\tRECIBO\tEl Recibo de Operacion es {$xRec}\r\n"; $cRec->setNumeroDeRecibo($xRec, true); //$cRec->initRecibo(); $msg .= "\t\t============= \r\n"; $msg .= "\t\t============= APLICANDO CUENTAS DESDE COMPACW\r\n"; $msg .= "\t\t============= \r\n"; while ($rw = mysql_fetch_array($rs)) { $socio = $rw["numero_de_socio"]; $ahorro = round($rw["total"], 2); $NCuentas = $rw["cuentas"]; $Monto = 0; //Si el saldo EXISTE Y es Diferente a NULL if (isset($arrSdoCtas["{$socio}-10"]) and !is_null($arrSdoCtas["{$socio}-10"])) { $Monto = $arrSdoCtas["{$socio}-10"]; } //SI es mayor el Monto que el Ahorro, entonces esta inflado la parte Operativa.- Saldo Negativo $diferencia = $ahorro - $Monto; //Si la Difrencia es menor a -0.99 entonces if ($diferencia < TOLERANCIA_SALDOS * -1) { $diferencia = $diferencia * -1; $msg .= "{$contar}\t{$socio}\tEXCESO\tExiste un monto en exceso de {$diferencia} en SAFE, debe tener {$ahorro} segun COMPACW\r\n"; //FIXME: globalizar 5 //TODO: Cambiar esta linea $sqlCSoc = "SELECT\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.*,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentastipos`.`descripcion_cuentastipos` AS `tipo`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`numero_cuenta` AS `cuenta`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`fecha_afectacion` AS `apertura`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`inversion_fecha_vcto` AS `vencimiento`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`tasa_otorgada` AS `tasa`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`dias_invertidos` AS `dias`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`observacion_cuenta` AS `observaciones`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`saldo_cuenta` \t\t\t AS `saldo`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`descripcion_subproductos` AS `subproducto`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_de_premio`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_de_tasa_incremental`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`metodo_de_abono_de_interes`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`destino_del_interes`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`nombre_del_contrato`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_modificador_del_interes`\n\t\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas` `captacion_cuentas`\n\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_cuentastipos` `captacion_cuentastipos`\n\t\t\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_cuenta` = `captacion_cuentastipos`.\n\t\t\t\t\t\t\t\t\t\t\t`idcaptacion_cuentastipos`\n\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_subproductos` `captacion_subproductos`\n\t\t\t\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_subproducto` = `captacion_subproductos`\n\t\t\t\t\t\t\t\t\t\t\t\t.`idcaptacion_subproductos`\n\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t(`captacion_cuentas`.`numero_socio` ={$socio})\n\t\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t\t(`captacion_cuentas`.`tipo_cuenta` =10)\n\t\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t\t(`captacion_cuentas`.`saldo_cuenta` != 0)\n\t\t\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`saldo_cuenta`,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`fecha_afectacion` "; $rsCSoc = getRecordset($sqlCSoc); while ($CRw = mysql_fetch_array($rsCSoc)) { $cuenta = $CRw["numero_cuenta"]; $saldo = $CRw["saldo_cuenta"]; //Si la Diferencia es mayor al saldo de la cuenta, entonces if ($diferencia >= $saldo and $diferencia > 0) { //Retirar el saldo de la cuenta $cCuenta = new cCuentaALaVista($cuenta); $cCuenta->setReciboDeOperacion($xRec); $cCuenta->set($cuenta); $cCuenta->setForceOperations(); $cCuenta->init($CRw); $cCuenta->setRetiro($saldo); //Quitar el saldo de la cuenta de la diferencia $diferencia = $diferencia - $saldo; //Mensaje $msg .= "{$contar}\t{$socio}\t{$cuenta}\tELIMINAR\tEliminando el saldo de la cuenta por {$saldo}, queda {$diferencia}\r\n"; $msg .= $cCuenta->getMessages("txt"); } elseif ($diferencia < $saldo and $diferencia > 0) { //Restar la diferencia y dejar el saldo de la cuenta con el saldo de la cuenta $NSaldo = $saldo - $diferencia; $cCuenta = new cCuentaALaVista($cuenta); $cCuenta->setReciboDeOperacion($xRec); $cCuenta->set($cuenta); $cCuenta->setForceOperations(); $cCuenta->init($CRw); $cCuenta->setRetiro($diferencia); $msg .= "{$contar}\t{$socio}\t{$cuenta}\tACTUALIZAR\tActualizar la Cuenta a {$NSaldo}, Anteriormente {$saldo}\r\n"; $NuevoSaldo = $cCuenta->getNuevoSaldo(); $msg .= $cCuenta->getMessages("txt"); $msg .= "{$contar}\t{$socio}\t{$cuenta}\tSALDO\tLa cuenta quedo en {$NuevoSaldo}\r\n"; //Llevar a Cero la Diferencia $diferencia = 0; } else { $msg .= "{$contar}\t{$socio}\tIGNORAR\tNo efectuo ninguna accion (SAFE: {$Monto} / CW: {$ahorro})\r\n"; } if ($diferencia <= TOLERANCIA_SALDOS) { $diferencia = 0; } } $msg .= "{$contar}\t{$socio}\tFIN_RET\t------\t------\t------\t------\t------\t------\t------\r\n"; //Diferencia: Si la Diferencia es Mayor a 0.99 } elseif ($diferencia > TOLERANCIA_SALDOS) { $msg .= "{$contar}\t{$socio}\tINSUFICIENCIA\tExiste Insuficiencia de {$diferencia} en SAFE (SAFE: {$Monto} / CW: {$ahorro})\r\n"; //Obtener una Cuenta //FIXME: Globalizar 6 //TODO: Actualizar esta linea $sqlCSoc = "SELECT\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.*,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentastipos`.`descripcion_cuentastipos` AS `tipo`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`numero_cuenta` AS `cuenta`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`fecha_afectacion` AS `apertura`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`inversion_fecha_vcto` AS `vencimiento`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`tasa_otorgada` AS `tasa`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`dias_invertidos` AS `dias`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`observacion_cuenta` AS `observaciones`,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`saldo_cuenta` \t\t\t AS `saldo`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`descripcion_subproductos` AS `subproducto`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_de_premio`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_de_tasa_incremental`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`metodo_de_abono_de_interes`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`destino_del_interes`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`nombre_del_contrato`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_modificador_del_interes`\n\t\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas` `captacion_cuentas`\n\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_cuentastipos` `captacion_cuentastipos`\n\t\t\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_cuenta` = `captacion_cuentastipos`.\n\t\t\t\t\t\t\t\t\t\t\t`idcaptacion_cuentastipos`\n\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_subproductos` `captacion_subproductos`\n\t\t\t\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_subproducto` = `captacion_subproductos`\n\t\t\t\t\t\t\t\t\t\t\t\t.`idcaptacion_subproductos`\n\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t(`captacion_cuentas`.`numero_socio` ={$socio})\n\t\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t\t(`captacion_cuentas`.`tipo_cuenta` =10)\n\t\t\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`saldo_cuenta` DESC,\n\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.`fecha_afectacion` DESC\n\t\t\t\t\t\t\t\t\t\tLIMIT 0,1 "; $DCta = obten_filas($sqlCSoc); $cuenta = $DCta["numero_cuenta"]; $cCuenta = new cCuentaALaVista($cuenta); $NSaldo = 0; //Si la cuenta no existe, crear una nueva if (!isset($cuenta) or $cuenta == 0 or $cuenta == false) { $cuenta = $cCuenta->setNuevaCuenta(5, 1, $socio, "CUENTA_POR_AJUSTE"); $msg .= "{$contar}\t{$socio}\t{$cuenta}\tNUEVA\tNO Existe la Cuenta, se crea una NUEVA\r\n"; $DCta = false; } $cCuenta->set($cuenta); $cCuenta->init($DCta); $cCuenta->setReciboDeOperacion($xRec); $cCuenta->setDeposito($diferencia); $NSaldo = $cCuenta->getNuevoSaldo(); $msg .= "{$contar}\t{$socio}\t{$cuenta}\tAGREGAR\tSe Agrega la Cuenta un monto de {$diferencia}, Saldo de {$NSaldo}\r\n"; $msg .= $cCuenta->getMessages("txt"); $diferencia = 0; } //$msg .= "==========================================================================\r\n"; $contar++; } $cRec->setFinalizarRecibo(); $msg .= $cRec->getMessages("txt"); return $msg; }
//===================================================================================================== $xHP = new cHPage("TR.Estado de Cuenta de Depositos a la Vista", HP_REPORT); $xQL = new MQL(); $xF = new cFecha(); $oficial = elusuario($iduser); $xHP->init(); $xRPT = new cReportes(); $idcuenta = parametro("f100", false, MQL_INT); $idcuenta = parametro("cuenta", $idcuenta, MQL_INT); $AppByFechas = parametro("f73"); //Boolean por fechas $fecha_inicial = parametro("on", EACP_FECHA_DE_CONSTITUCION); $fecha_final = parametro("off", $xF->getFechaMaximaOperativa()); $output = parametro("out", SYS_DEFAULT); $es_por_fechas = ""; $xCuenta = new cCuentaALaVista($idcuenta); $xCuenta->init(); //Datos de la Cuenta $rwc = $xCuenta->getDatosInArray(); // datos generales del socio $idsocio = $rwc["numero_socio"]; // Numero de Socio $CSocio = new cSocio($idsocio); $CSocio->init(); $mynom = $CSocio->getNombreCompleto(); $xRPT->addContent($CSocio->getFicha()); //Verifica el FORZADO de el Cuadre de Saldos // datos de la cuenta $tipocuenta = eltipo("captacion_cuentastipos", $rwc[4]); $tasa = $rwc[14] * 100; $saldo = $rwc["saldo_cuenta"];
* TODO: Agregar enviar PP a Ahorro * activar configuracion * activar cuenta por defecto * verificar cuenta * agregar cuenta * agregar deposito */ //$cRec->setGenerarBancos(); $cRec->setGenerarPoliza(); $cRec->setGenerarTesoreria(); $sucess = true; $msg = ""; if (CAPITAL_SOCIAL_EN_CAPTACION == true) { $xSoc = new cSocio($persona); $cuenta = $xSoc->getCuentaDeCaptacionPrimaria(CAPTACION_TIPO_VISTA, CAPTACION_PRODUCTO_CAPITALSOCIAL); $xCta = new cCuentaALaVista($cuenta); if ($cuenta == 0) { //Aperturar nueva cuenta $cuenta = $xCta->setNuevaCuenta(DEFAULT_CAPTACION_ORIGEN, CAPTACION_PRODUCTO_CAPITALSOCIAL, $persona); $xCta->set($cuenta); } if ($xCta->init() == true) { $idrecibo = $cRec->setNuevoRecibo($persona, $xCta->getNumeroDeCuenta(), $fecha, 1, RECIBOS_TIPO_DEPOSITO_VISTA, $observaciones, $cheque, $comopago, $foliofiscal); $cRec->init(); if ($tipo1 != false and $monto1 > 0) { $xCta->setDeposito($monto1, $cheque, $comopago, $foliofiscal, "Origen {$tipo1}:" . $observaciones, DEFAULT_GRUPO, $fecha, $cRec->getCodigoDeRecibo()); } if ($tipo2 != false and $monto2 > 0) { $xCta->setDeposito($monto2, $cheque, $comopago, $foliofiscal, "Origen {$tipo2}:" . $observaciones, DEFAULT_GRUPO, $fecha, $cRec->getCodigoDeRecibo()); } if ($tipo3 != false and $monto3 > 0) {
if ($xSoc->existeCuenta($cuentaOrigen) == 0 or $xSoc->existeCuenta($cuentaDestino) == 0) { $sucess = false; $msg .= "ERROR\tLa cuenta de Origen({$cuentaOrigen}) o la cuenta de Destino({$cuentaDestino}) NO son del Misma Persona ({$socio})\r\n"; } if ($sucess == true) { if ($tipoOrigen == CAPTACION_TIPO_PLAZO) { $xCOrigen = new cCuentaInversionPlazoFijo($cuentaOrigen, $socio); } else { $xCOrigen = new cCuentaALaVista($cuentaOrigen, $socio); } $xCOrigen->init(); // if ($tipoDestino == CAPTACION_TIPO_PLAZO) { $xCDestino = new cCuentaInversionPlazoFijo($cuentaDestino, $socio); } else { $xCDestino = new cCuentaALaVista($cuentaDestino, $socio); } $xCDestino->init(); $msg .= $xCOrigen->setTraspaso($cuentaDestino, $tipoDestino, $observaciones, $monto); $ReciboTrasp = $xCOrigen->getReciboDeOperacion(); $msg .= $xCOrigen->getMessages(); $msg .= $xCDestino->getMessages(); //Imprime la Ficha del socio echo $xSoc->getFicha(); //$cCta->init(); //Imprime la Ficha del Documento $xCDestino->init(); $fd = $xCDestino->getFicha(true); $xCOrigen->init(); $fo = $xCOrigen->getFicha(true); echo "<fieldset><legend>DATOS DEL TRAPASO</legend>\n\t\t\t\tCuenta de Origen:<br />\n\t\t\t\t{$fo}\t\n\t\tCuenta de Destino:<br />\n\t\t{$fd}\n\t\t</fieldset>";
function show($return = false) { $exoFicha = ""; $iNumTools = sizeof($this->mTool); $trTool = ""; $wTable = $this->mTableWidth; if ($iNumTools > 0) { $iTools = ""; foreach ($this->mTool as $key => $value) { $TParts = explode("@", $value); $iImg = $TParts[0]; $iTitle = $TParts[1]; $srcImg = vIMG_PATH . "/common/{$iImg}"; $iTools = $iTools . "<td><img src=\"{$srcImg}\" onclick=\"{$key}(" . $this->mKey . ")\" />{$iTitle}</td>"; } $trTool = "<tr>\r\n\t\t\t<td colspan=\"4\">\r\n\t\t\t<table width=\"100%\">\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t{$iTools}\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t\t</td>\r\n\t\t\t</tr>"; } // end iNumTools $cTyp = new cTipos(); switch ($this->mType) { case iDE_SOCIO: //INFO del Socio $cSoc = new cSocio($this->mKey, true); $exoFicha = $cSoc->getFicha($this->mSocioWithDomExt, false, $trTool); unset($cSoc); break; case iDE_CREDITO: // Creditos iDE_CREDITO $cF = new cCredito($this->mKey); $cF->initCredito(); $exoFicha = $cF->getFicha(false, $trTool); unset($cF); break; case 101: //Grupos iDE_GRUPO $cG = new cGrupo($this->mKey); $exoFicha = $cG->getFicha(false, $trTool); unset($cG); break; case iDE_GARANTIA: $sql = "SELECT creditos_garantias.idcreditos_garantias,\r\n\t\t\t\tcreditos_tgarantias.descripcion_tgarantias AS 'Tipo_de_Garantia',\r\n\t\t\t\t creditos_tvaluacion.descripcion_tvaluacion AS 'Tipo_de_Valuacion',\r\n\t\t\t\t creditos_garantias.fecha_recibo AS 'Fecha_de_Recibo',\r\n\t\t\t\t FORMAT(creditos_garantias.monto_valuado, 2) AS 'Monto_valuado',\r\n\t\t\t\t creditos_garantias.fecha_adquisicion AS 'Fecha_de_Adquisicion',\r\n\t\t\t\t creditos_garantias.documento_presentado AS 'Documento_Presentado',\r\n\t\t\t\t creditos_garantias.descripcion AS 'Descripcion',\r\n\t\t\t\t creditos_garantias.propietario AS 'Propietario'\r\n\t\t\t\t FROM creditos_tvaluacion, creditos_garantias, creditos_tgarantias\r\n\t\t\t\t WHERE creditos_tgarantias.idcreditos_tgarantias=creditos_garantias.tipo_garantia\r\n\t\t\t\t AND creditos_tvaluacion.idcreditos_tvaluacion=creditos_garantias.tipo_valuacion\r\n\t\t AND creditos_garantias.idcreditos_garantias=" . $this->mKey; $tool = $trTool; $rwt = obten_filas($sql); $exoFicha = "\r\n\t<table {$wTable} border='0'>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<th class='izq'>Identificador</th><td>{$rwt['0']}</td>\r\n\t\t\t<th class='izq'>Tipo</th><td>{$rwt['1']}</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th class='izq'>Tipo de Valuacion</th><td>{$rwt['2']}</td>\r\n\t\t\t<th class='izq'>Fecha de Resguardo</th><td>{$rwt['3']}</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th class='izq'>Fecha de Adquisicion</th><td>{$rwt['5']}</td>\r\n\t\t\t<th class='izq'>Documento / Factura</th><td>{$rwt['6']}</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th class='izq'>Monto Valuado</th><td>" . getFMoney($rwt[4]) . "</td>\r\n\t\t\t<th class='izq'>Propietario</th><td>{$rwt['8']}</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th>Descripción</th>\r\n\t\t\t<td>{$rwt['7']}</td>\r\n\t\t</tr>\r\n\t\t{$tool}\r\n\t</tbody>\r\n\t</table>"; break; case 300: //TODO: Change this line.- cambiar por la clase global $sqli = "\r\n\t\t\tSELECT\r\n\t\t\t\t\t`captacion_cuentas`.`numero_cuenta`,\r\n\t\t\t\t\t`captacion_cuentastipos`.`descripcion_cuentastipos` AS `modalidad`,\r\n\t\t\t\t\t`captacion_subproductos`.`descripcion_subproductos` AS `subproducto`,\r\n\t\t\t\t\t`captacion_cuentas`.`fecha_apertura` AS `fecha_de_apertura`,\r\n\t\t\t\t\t`captacion_cuentas`.`saldo_cuenta` AS `saldo_actual`,\r\n\t\t\t\t\t`captacion_cuentas`.`numero_grupo` AS `grupo_asociado`,\r\n\t\t\t\t\t`captacion_cuentas`.`numero_solicitud` AS `credito_asociado`,\r\n\t\t\t\t\t`captacion_cuentas`.`tasa_otorgada` AS `tasa`,\r\n\t\t\t\t\t`captacion_cuentas`.`observacion_cuenta` AS `observaciones`\r\n\t\t\t\tFROM\r\n\t\t\t\t\t`captacion_cuentas` `captacion_cuentas`\r\n\t\t\t\t\t\tINNER JOIN `captacion_cuentastipos` `captacion_cuentastipos`\r\n\t\t\t\t\t\tON `captacion_cuentas`.`tipo_cuenta` = `captacion_cuentastipos`.\r\n\t\t\t\t\t\t`idcaptacion_cuentastipos`\r\n\t\t\t\t\t\t\tINNER JOIN `captacion_subproductos` `captacion_subproductos`\r\n\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_subproducto` = `captacion_subproductos`\r\n\t\t\t\t\t\t\t.`idcaptacion_subproductos`\r\n\t\t\t\tWHERE\r\n\t\t\t\t\t(`captacion_cuentas`.`numero_cuenta` =" . $this->mKey . ")"; $rw = obten_filas($sqli); $exoFicha = "\r\n\t\t\t\t<table width='100%' border='0'>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<th class='izq'>Numero de Cuenta</th class='mny'><td>" . $rw["numero_cuenta"] . "</td>\r\n\t\t\t\t\t<th class='izq' >Fecha de Apertura</th><td>" . getFechaMediana($rw["fecha_de_apertura"]) . "</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<th class='izq'>Modalidad</th><td>" . $rw["modalidad"] . "</td>\r\n\t\t\t\t\t<th class='izq'>Producto</th><td>" . $rw["subproducto"] . "</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<th class='izq'>Tasa Actual</th><td class='mny'>% " . getFMoney($rw["tasa"] * 100) . "</td>\r\n\t\t\t\t\t<th class='izq'>Saldo Actual</th>\r\n\t\t\t\t\t<td class='mny'>" . getFMoney($rw["saldo_actual"]) . "</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<th class='izq'>Observaciones</th><td colspan='2'>" . $rw["observaciones"] . "</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t</table>"; break; case 310: //Depositos a la vista iDE_CVISTA $cCapt = new cCuentaALaVista($this->mKey); $cCapt->init(); $exoFicha = $cCapt->getFicha(false, $trTool); break; case 320: //iDE_CINVERSION $xCI = new cCuentaInversionPlazoFijo($this->mKey); $xCI->init(); $exoFicha = $xCI->getFicha(false, $trTool); break; case 400: //RECIBO DE OPERACION $cRec = new cReciboDeOperacion(99, false, $this->mKey); //$cRec->initRecibo(); $exoFicha = $cRec->getFicha(false, $trTool); unset($cRec); break; default: break; } //retoque fieldset if ($this->mTitle != "") { $this->mTitle = "| " . $this->mTitle . " |"; } $exoFicha = "<fieldset>\r\n\t\t\t\t\t\t<legend>" . $this->mTitle . "</legend>\r\n\t\t\t\t\t\t\t{$exoFicha}\r\n\t\t\t\t\t</fieldset>"; if ($return == true) { return $exoFicha; } else { echo $exoFicha; } }
function setRevertir() { $sucess = true; $arrValuesRev = array("-1" => "1", "1" => "-1", "0" => "0"); if ($this->mInit == false) { $this->init(); } $rw = $this->mArrayData; $codigo = $rw["idoperaciones_mvtos"]; $docto = $rw["docto_afectado"]; $socio = $rw["socio_afectado"]; $preservar_mvto = $rw["preservar_movimiento"]; $CodeRevertir = $rw["formula_de_cancelacion"]; $monto = $rw["afectacion_real"]; $afectacion = $rw["valor_afectacion"]; $recibo = $rw["recibo_afectado"]; $colocacion = array(); $captacion = array(); //selecciona un comportamiento segun el Origen del Recibo switch ($this->mAplicadoA) { case "colocacion": //cargar datos del credito $Credito = new cCredito($docto, $socio); $Credito->initCredito(); $colocacion = $Credito->getDatosDeCredito(); break; case "captacion": //cargar datos de la cuenta $Cuenta = new cCuentaALaVista($docto); $Cuenta->initCuentaByCodigo(); $captacion = $Cuenta->getDatosInArray(); break; case "mixto": //cargar datos de la cuenta y del credito $Credito = new cCredito($docto, $socio); $Credito->initCredito(); $colocacion = $Credito->getDatosDeCredito(); $Cuenta = new cCuentaALaVista($docto); $Cuenta->initCuentaByCodigo(); $captacion = $Cuenta->getDatosInArray(); $this->mMessages .= "WARN\tEL Recibo es Mixto, se carga tanto Captacion como Colocacion\r\n"; break; default: $this->mMessages .= "ERROR\tEL Recibo es " . $this->mAplicadoA . ", NO SE CARGA CODIGO\r\n"; break; } eval($CodeRevertir); if ($preservar_mvto == '1') { $SQL_DM = "UPDATE operaciones_mvtos\n\t\t\t\t\t\tSET afectacion_estadistica=afectacion_real,\n\t\t\t\t\t\tafectacion_real = 0, afectacion_contable=0,\n\t\t\t\t\t\tafectacion_cobranza=0, valor_afectacion=0,\n\t\t\t\t\t\testatus_mvto = 99,\n\t\t\t\t\t\tdocto_neutralizador = " . DEFAULT_RECIBO . ",\n\t\t\t\t\t\trecibo_afectado\t= " . DEFAULT_RECIBO . "\n\t\t\t\t\t\tWHERE idoperaciones_mvtos = {$codigo}\n\t\t\t\t\t\t"; $this->mMessages .= "Actualizando el Movimiento {$codigo}\r\n"; } else { $SQL_DM = "DELETE FROM operaciones_mvtos\n\t\t\t\t\t\tWHERE idoperaciones_mvtos = {$codigo}"; $this->mMessages .= "Eliminado el Movimiento {$codigo}\r\n"; } my_query($SQL_DM); }
break; //ajusta las cuentas de ahorro por saldo actual y no por movimientos //ajusta las cuentas de ahorro por saldo actual y no por movimientos case 879: $msg .= "============================ GENERANDO AJUSTES DE CUENTA A LA VISTA \r\n "; $CRecibo = new cReciboDeOperacion(10, true); $recibo = $CRecibo->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, fechasys(), 1, 10, "POLIZA_MASIVA_DE_AJUSTE", "NA", "ninguno", "NA", DEFAULT_GRUPO); $sql = "SELECT SQL_CACHE * FROM captacion_saldos_comparados WHERE saldo_cuenta != saldo_obtenido /* LIMIT 0,500 */ "; $rs = mysql_query($sql, cnnGeneral()); while ($rw = mysql_fetch_array($rs)) { $cuenta = $rw["numero_cuenta"]; $socio = $rw["numero_socio"]; $saldo = round($rw["saldo_cuenta"], 2); $sdoOperativo = round($rw["saldo_obtenido"], 2); if ($saldo != $sdoOperativo) { $cCta = new cCuentaALaVista($cuenta, $socio); $cCta->init(); $cCta->setForceOperations(); $cCta->setReciboDeOperacion($recibo); if ($saldo > $sdoOperativo) { //depositar $diferencia = $saldo - $sdoOperativo; $msg .= "{$socio}\t{$cuenta}\tDEPOSITO\tExiste diferencia ( {$diferencia} ) entre el saldo de la cuenta ( {$saldo} ) y el obtenido por Movimientos ( {$sdoOperativo}) \r\n"; $cCta->setDeposito($diferencia, "NA", "ninguno"); } else { //retirar $diferencia = $sdoOperativo - $saldo; $msg .= "{$socio}\t{$cuenta}\tRETIRO\tExiste diferencia ( {$diferencia} ) entre el saldo de la cuenta ( {$saldo} ) y el obtenido por Movimientos ( {$sdoOperativo}) \r\n"; $cCta->setRetiro($diferencia, "NA", "ninguno"); } $msg .= $cCta->getMessages("txt");
$ministracion = $cT->cFecha($datos[4]); $vencimiento = $cT->cFecha($datos[5]); $pagos = $cT->cInt($datos[6]); $periocidad = $cT->cInt($datos[7]); $saldo = $cT->cFloat($datos[8]); $UltimaOperacion = $cT->cFecha($datos[9]); $ContratoCorriente = $cT->cInt($datos[10]); if ($socio == 0) { $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n"; } else { $xCred = new cCredito(); //Crear Contrato corriente si el producto tiene ahorro $DConv = $xCred->getDatosDeProducto($producto); $tasaAhorro = $cT->cFloat($DConv["tasa_ahorro"]); if ($ContratoCorriente == 0 and $tasaAhorro > 0) { $xCapta = new cCuentaALaVista(false); $ContratoCorriente = $xCapta->setNuevaCuenta(99, DEFAULT_SUBPRODUCTO_CAPTACION, $socio, "CUENTA POR IMPORTACION", $credito); $msg .= "{$iReg}\t{$socio}\t{$credito}\tAgregando una Cuenta Corriente {$ContratoCorriente} NUEVO\r\n"; } //Agregar $ok = $xCred->add($producto, $socio, $ContratoCorriente, $monto, $periocidad, $pagos, 0, CREDITO_DEFAULT_DESTINO, $credito, DEFAULT_GRUPO, "", "CREDITO IMPORTADO #{$iReg}", DEFAULT_USER, $ministracion); if ($ok == true) { ///Inicializar //autorizar $xCred->setAutorizado($monto, $pagos, $periocidad, CREDITO_TIPO_AUTORIZACION_AUTOMATICA, $ministracion, "CREDITO IMPORTADO #{$iReg}", false, $ministracion, 2, false, $vencimiento, CREDITO_ESTADO_AUTORIZADO, $monto, 0, $UltimaOperacion); $xCred->init(); //ministrar $xCred->setForceMinistracion(); $xCred->setMinistrar(DEFAULT_RECIBO_FISCAL, DEFAULT_CHEQUE, $monto, DEFAULT_CUENTA_BANCARIA, 0, DEFAULT_CUENTA_BANCARIA, "CREDITO IMPORTADO #{$iReg}", $ministracion); if ($monto > $saldo) { $abono = $monto - $saldo;
$sumPlan = 0; $td = ""; while ($rw = mysql_fetch_array($rsPlan)) { //$arrDatos[ $rw["socio_afectado"] ] = $rw["afectacion_real"]; $sumPlan += $rw["afectacion_real"]; $monto_gtia_individual = $rw["afectacion_real"] * $tasa_gtia; $NSocio = getNombreSocio($rw["socio_afectado"]); //imprimir socio + monto de los planeado + monto de la garantia $c = ""; if ($rw["socio_afectado"] == $codigo_rep) { $c = " class='aviso' "; } $td .= "<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td {$c}>" . $rw["socio_afectado"] . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td>" . $NSocio . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class='mny'>" . $rw["afectacion_real"] . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class='mny'>" . $monto_gtia_individual . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>"; if ($solo_simular == 0) { $cuenta = "50" . $rw["socio_afectado"] . "01"; $xCN = new cCuentaALaVista($cuenta); //Contar las cuentas si existen $ctas = $xCN->setContarCuentaBySocio($rw["socio_afectado"], 50); if ($ctas == 0) { //Crear una Cuenta Nueva $xCN->setNuevaCuenta(3, 50, $rw["socio_afectado"], "ALTA_AUTOMATICA_POR_{$iduser}", $credito, "", "", $grupo); } else { $xCN->initCuentaByCodigo(); } //Agregar el Movimiento $xCN->setSocioTitular($rw["socio_afectado"]); $xCN->setDeposito($monto_gtia_individual, "NA", "ninguno", "NA", "ALTA_AUTOMATICA_POR_{$iduser}", $grupo); $messages .= $xCN->getMessages() . "<br />"; } } //Imprimir TABLA