$reciboIDE = $xCta->setRetenerIDE($Fecha, false, $ide, $ide_observacion); } } //Imprime la Ficha del socio $xRec = new cReciboDeOperacion(); $xRec->setNumeroDeRecibo($recibo, true); $xFRM->addHTML($xRec->getFichaSocio()); $xFRM->addHTML($xRec->getFicha(true)); $xFRM->addHTML($xRec->getJsPrint(true)); if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) { if ($ReciboIDE != 0) { $xFRM->addToolbar($xBtn->getBasic("TR. Imprimir recibo de impuestos", "jsPrintIDE()", "imprimir", "idrec-ide", false)); } } if (MODO_DEBUG == true) { $msg .= $xCta->getMessages(); $msg .= $xRec->getMessages(); $xFL = new cFileLog(false, true); $xFL->setWrite($msg); $xFL->setClose(); $xFRM->addToolbar($xFL->getLinkDownload("TR.Archivo de sucesos", "")); } $xFRM->addToolbar($xBtn->getBasic("TR. Imprimir recibo de deposito", "jsImprimirRecibo()", "imprimir", "idrec-dep", false)); } else { $msg .= "ERROR\tLA CUENTA NO ES OPERATIVA EN LA FECHA {$Fecha}\r\n"; } $xFRM->addToolbar($xBtn->getIrAlInicio(true)); } $xFRM->addAviso($msg, "idmsg", true); } echo $xFRM->get();
/** * Genera las Inversiones Automaticas * @param integer $recibo numero de recvio al que se agrega los movimientos * @param date $fecha Fecha de Inversión */ function inversiones_automaticas($recibo = false, $fecha = false) { $fecha = $fecha == false ? fechasys() : $fecha; $msg = "=================\tINVERSIONES_AUTOMATICAS\t======================\r\n"; $msg .= "=================\tFECHA:\t{$fecha}\t======================\r\n"; $msg .= date("H:i:s") . "\tLas Cuentas con Saldo Minimo a " . INVERSION_MONTO_MINIMO . " se ignoran\r\n"; $cierre_sucursal = getSucursal(); $fecha_operacion = $fecha; $xTb = new cSAFETabla(TCAPTACION_CUENTAS); $QL = new MQL(); $BySucursal = ""; //AND (`captacion_cuentas`.`sucursal` = '$cierre_sucursal') "; $sql_invs = $xTb->getQueryInicial() . "\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t (`captacion_cuentas`.`inversion_fecha_vcto` = '{$fecha}')\n\t\t\t\t\t\t AND\n\t\t\t\t\t\t (`captacion_cuentas`.`saldo_cuenta` >=" . INVERSION_MONTO_MINIMO . ") AND\n\t\t\t\t\t\t (`captacion_subproductos`.`metodo_de_abono_de_interes` =\"AL_VENCIMIENTO\") {$BySucursal} "; $rs = $QL->getDataRecord($sql_invs); //setLog($sql_invs); foreach ($rs as $rw) { $socio = $rw["numero_socio"]; $cuenta = $rw["numero_cuenta"]; $dias = $rw["dias_invertidos"]; $periodo = $rw["inversion_periodo"]; $tasa_anterior = $rw["tasa_otorgada"]; $subproducto = $rw["tipo_subproducto"]; $saldo = $rw["saldo_cuenta"]; $tasa = $tasa_anterior; $tasa2 = $tasa_anterior; $periodo = $rw["inversion_periodo"]; $cInv = new cCuentaInversionPlazoFijo($cuenta, $socio, $dias); $cInv->init($rw); if ($subproducto != 70) { $cInv->setReinversion($fecha, true); } else { $acciones = floor($saldo / COSTE_POR_ACCION); $tasa = 0.08; $tasa2 = 0.09; //Algoritmo de inversion parcial de $cientos = floor($acciones / 100); if ($cientos >= 1) { //TODO: considerar una buena revision /*SI: Periodo == PRIMO * TONS DIAS = 180 * SI NO: DIAS = (365 - 180)*/ if ($periodo % 2 == 0) { //par $dias = 365 - 180; } else { $dias = 180; } $msg .= "MAS_CIEN\tExisten {$cientos} CENTENAS DE ACCIONES\r\n"; //inversiones de 100 $IDeCien = COSTE_POR_ACCION * ($cientos * 100); //prevee que no se invierta mas de el saldo $IDeCien = $IDeCien > $saldo ? $saldo : $IDeCien; $RInversion = $xInv->setReinversion($fecha, true, $tasa2, $dias, true, $IDeCien); $msg .= "MAS_CIEN\tLa Inversion a tasa de {$tasa2} es de {$IDeCien}\r\n"; //inversiones < 100 $IMenorDeCien = $saldo - $IDeCien; if ($IMenorDeCien > 0) { $RInversion2 = $xInv->setReinversion($fecha, true, $tasa, $dias, true, $IMenorDeCien); $msg .= "REM_CIEN\tEl remanente a invertir a tasa de {$tasa} es de {$IMenorDeCien}\r\n"; } $xInv->setUpdateInversion(true); } } $msg .= $cInv->getMessages("txt"); } return $msg; }
} else { $xInv = new cCuentaInversionPlazoFijo(false, $socio, $plazo, $tasa, $fechaApertura); //Agrega la Cuenta $ClaveCuenta = $xInv->setNuevaCuenta(99, 2, $socio, $observaciones, DEFAULT_CREDITO, "", "", DEFAULT_GRUPO, $fechaApertura, CAPTACION_TIPO_PLAZO, 99, $plazo, $tasa); if ($ClaveCuenta != false) { $msg .= "{$iReg}\t{$socio}\tCUENTA\tSe Agrego Exitosamente la cuenta {$ClaveCuenta}\r\n"; if ($importe > 0) { $xInv->init(); $xInv->setFechaDeOperacion($fechaApertura); $xInv->setDiasInvertidos($plazo); $RDeposito = $xInv->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"; $xInv->init(); $recibo_de_reinversion = $xInv->setReinversion($fechaApertura, true, $tasa, $plazo); $msg .= "{$iReg}\t{$socio}\tRECIBO_INVERSION\tSe Efectua una Inversion de {$importe} al Recibo {$recibo_de_reinversion}\r\n"; $msg .= $xInv->getMessages("txt"); } } else { $msg .= "{$iReg}\t{$socio}\tERROR\tSe Fallo al Agregar la Cuenta\r\n"; } } } $iReg++; } } fclose($gestor); $xLog->setWrite($msg); echo $xLog->getLinkDownload("Archivo del proceso"); } else { echo "<p class='aviso'>EL TIPO DE ARCHIVO DE " . $usrFiles[$i]['name'] . "(" . $mExt . ") NO SE ACEPTA</p>"; }
//inversiones < 100 $IMenorDeCien = $saldo - $IDeCien; if ($IMenorDeCien > 0) { $RInversion2 = $xC->setReinversion($fecha_actual, true, $tasa, $dias, true, $IMenorDeCien); $msg .= "REM_CIEN\tEl remanente a invertir a tasa de {$tasa} es de {$IMenorDeCien}\r\n"; } $xC->setUpdateInversion(true); } else { // $RInversion = $xC->setReinversion($fecha_actual, true, $tasa, $dias); } echo $cSoc->getFicha(true); //$xC->init(); echo $xC->getFicha(true); if (MODO_DEBUG == true) { echo $xC->getMessages("html"); echo $msg; } echo "<input type='button' name='btsend' value='IMPRIMIR RECIBO DE DEPOSITO' onClick='jsPrintDeposito()' /> "; echo "<input type='button' name='btsend' value='IMPRIMIR/VER CONSTANCIA DE INVERSION' onClick='jsPrintReporto();' />"; if ($ReciboIDE != false) { echo "<input type='button' name='btsend' value='IMPRIMIR/VER RECIBO DE RETENCION IDE' onClick='jsPrintIDE();'>"; } } } ?> </body> <?php $jxc->drawJavaScript(false, true); $jsb = new jsBasicForm("OperacionesEnAcciones", iDE_CAPTACION);
/** * Genera las Inversiones Automaticas * @param integer $recibo numero de recio al que se agrega los movimientos */ function inversiones_automaticas($recibo = false, $fecha = false) { if ($fecha == false) { $fecha = fechasys(); } $msg = "=================INVERSIONES_AUTOMATICAS======================\n"; $msg .= date("Y-m-d H:i:s") . "\tLas Cuentas con Saldo Minimo a " . INVERSION_MONTO_MINIMO . " se ignorar�n\r\n"; $cierre_sucursal = getSucursal(); if ($fecha == false) { $fecha_operacion = date("Y-m-d"); } else { $fecha_operacion = $fecha; } $sql_invs = "SELECT\r\n `captacion_cuentas`.`numero_cuenta`,\r\n `captacion_cuentas`.`numero_socio`,\r\n `captacion_cuentas`.`inversion_fecha_vcto`,\r\n `captacion_cuentas`.`inversion_periodo`,\r\n `captacion_cuentas`.`tasa_otorgada`,\r\n `captacion_cuentas`.`dias_invertidos`,\r\n `captacion_cuentas`.`saldo_cuenta`,\r\n `captacion_cuentas`.`eacp`\r\nFROM\r\n `captacion_subproductos` `captacion_subproductos`\r\n INNER JOIN `captacion_cuentas` `captacion_cuentas`\r\n ON `captacion_subproductos`.\r\n `idcaptacion_subproductos` = `captacion_cuentas`.\r\n `tipo_subproducto`\r\nWHERE\r\n (`captacion_cuentas`.`inversion_fecha_vcto` = '{$fecha}')\r\n AND\r\n (`captacion_cuentas`.`saldo_cuenta` >=" . INVERSION_MONTO_MINIMO . ") AND\r\n (`captacion_subproductos`.`metodo_de_abono_de_interes` =\"AL_VENCIMIENTO\")\r\n\tAND\r\n\t(`captacion_cuentas`.`sucursal` = '{$cierre_sucursal}')\r\n"; $rs = mysql_query($sql_invs, cnnGeneral()); if (!$rs) { $msg .= "<p>LA CONSULTA NO SE EJECUTO (CODE: " . mysql_errno() . ")</p>"; } while ($rw = mysql_fetch_array($rs)) { $socio = $rw["numero_socio"]; $cuenta = $rw["numero_cuenta"]; $dias = $rw["dias_invertidos"]; $periodo = $rw["inversion_periodo"]; $tasa_anterior = $rw["tasa_otorgada"]; //$numero_de_cuenta, $dias_invertidos, $tasa = false $cInv = new cCuentaInversionPlazoFijo($cuenta, $socio, $dias); $cInv->setReinversion($fecha, true); $msg .= $cInv->getMessages(); } return $msg; }
$messages .= "WARN\tLa Inversion se CIERRA\r\n"; } elseif ($saldo >= TOLERANCIA_SALDOS) { $messages .= "ERROR\tSDO_MIN\tEL saldo de la Inversion({$saldo}) es menor a " . INVERSION_MONTO_MINIMO . ", la Inversion no se efectua\r\n"; //LLevar a cuenta Corriente $mCorriente = $xSoc->getCuentaDeCaptacionPrimaria(CAPTACION_TIPO_VISTA); if ($xTyp->getEvalNotNull(array($mCorriente)) == true) { $messages .= "WARN\tSDO_MIN\tSe intenta el Traspaso a cuenta Corriente\r\n"; $messages .= $xCta->setTraspaso($mCorriente, CAPTACION_TIPO_VISTA); } } } else { $messages .= "WARN\tLa Inversion permanece Abierta\r\n"; } $url_recibo_inversion = $xCta->getURLReciboInversion($recibo_de_reinversion); if (MODO_DEBUG == true) { $xFRM->addLog($messages . $xCta->getMessages()); } $xFRM->addAviso($messages); $xCta->init(); $xFRM->addHElem($xCta->getFicha(true, "", true)); $xFRM->addToolbar($xBtn->getBasic("TR.Imprimir constancia_de_inversion", "jsPrintReporto()", "imprimir", "idnim", false)); } echo $xFRM->get(); $jxc->drawJavaScript(false, true); ?> </body> <script > var mjrsF = "../clsfunctions.inc.php"; var mIForm = document.frminversiones; var localDate = "<?php echo fechasys();