function jsaGetIngresosMensualesPorDependencias($fecha) { $xD = new cFecha(); $fecha = $xD->getFechaISO($fecha); $fi = $xD->getDiaInicial(); $ff = $xD->getDiaFinal(); $sql = new cSQLListas(); $xT = new cTabla($sql->getBasesPorFechasPorDependencia($fi, $ff, 2002)); $xT->setKeyField($sql->getClave()); $xT->setPrepareChart(); $xT->setFootSum(false); return $xT->Show("Reporte de Ingresos Mensuales por Empresas", true, "tingresos"); }
function getIDEPagado($socio, $fecha = false) { if ($fecha == false) { $fecha = fechasys(); } $xF = new cFecha(0, $fecha); $dia_inicial = $xF->getDiaInicial(); $dia_final = $xF->getDiaFinal(); $mvto_ide = 235; $idePagado = 0; if (!isset($this->mIDEPagado) or $this->mIDEPagado <= 0) { $sqlIDE = "SELECT\r\n\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`,\r\n\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\r\n\t\t\t\t\t\tCOUNT(`operaciones_mvtos`.`idoperaciones_mvtos`) AS 'numero',\r\n\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto',\r\n\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion`\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`tipo_operacion` = {$mvto_ide})\r\n\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` =" . $socio . ")\r\n\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` >='{$dia_inicial}')\r\n\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` <='{$dia_final}')\r\n\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`,\r\n\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`"; $MD = obten_filas($sqlIDE); $idePagado = $MD["monto"]; if (!isset($idePagado)) { $idePagado = 0; } $this->mIDEPagado = $idePagado; unset($MD); } return $this->mIDEPagado; }
$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()); } if (CREDITO_CIERRE_FORZAR_DEVENGADOS == true) { $messages .= $xCUtils->setReestructurarSDPM_Planes(true, false, false, false, $xF->getDiaInicial(), false); $messages .= $xCUtils->setReestructurarSDPM(true, false, false, false, false, $xF->getDiaInicial(), false); $messages .= $xCUtils->setRegenerarInteresDevengado(false, $xF->get(), $xF->get()); } $messages .= $xCUtils->setAcumularIntereses(); $xRec->setFinalizarRecibo(true); $xLog->setWrite($messages); $xLog->setClose(); if (ENVIAR_MAIL_LOGS == true) { $xLog->setSendToMail("TR.Eventos del Cierre del colocacion"); } if ($parser != false) { header("Location: ./cierre_de_captacion.frm.php?s=true&k=" . $key . "&f={$fechaop}");
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; }
//$xRec->setGenerarPoliza(); $xRec->setForceUpdateSaldos(); $idrecibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CUENTA_CORRIENTE, $fechaop, 1, 12, "CIERRE_DE_CAPTACION_{$fechaop}", "", TESORERIA_COBRO_NINGUNO, "", 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 CAPTACION ====================\r\n"; $messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t ====================\r\n"; $messages .= "=======================================================================================\r\n"; $xUCapt = new cUtileriasParaCaptacion(); $messages .= "=========================\t\tPurgando Dias Minimo de Inversion \t====================\r\n"; $messages .= $xUCapt->vencer_intereses_de_inversion($idrecibo, $fechaop); $messages .= $xUCapt->inversiones_automaticas($idrecibo, $fechaop); if ($xF->getDiaFinal() == $xF->get()) { $messages .= $xUCapt->setGenerarInteresSobreSDPM($idrecibo, $fechaop); if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) { $messages .= $xUCapt->getGenerarBaseGravadaMensualIDE($fechaop); $messages .= $xUCapt->setGenerarIDE_mensual($idrecibo, $fechaop); } } $xRec->setFinalizarRecibo(true); $xLog->setWrite($messages); $xLog->setClose(); if (ENVIAR_MAIL_LOGS == true) { $xLog->setSendToMail("TR.Eventos del Cierre del Captacion"); } } if ($parser == true) { header("Location: ./cierre_de_seguimiento.frm.php?s=true&k=" . $key . "&f={$fechaop}");
$tipo_cuentas = parametro("tipo", SYS_TODAS, MQL_RAW); $nivel_cuentas = parametro("nivel", SYS_TODAS, MQL_RAW); $incluir_cuentas = parametro("estado", SYS_TODAS, MQL_RAW); $ByCuentas = ""; $ByCuentasSaldos = ""; if ($cuenta_inicial > 0 and $cuenta_final > 0) { $xCtaInit = new cCuentaContableEsquema($cuenta_inicial); $cuenta_inicial = $xCtaInit->CUENTA; $ByCuentas .= " AND (`contable_catalogo`.`numero`>={$cuenta_inicial}) "; $xCtaFin = new cCuentaContableEsquema($cuenta_final); $cuenta_final = $xCtaFin->CUENTA; $ByCuentas .= " AND (`contable_catalogo`.`numero`<={$cuenta_final}) "; $ByCuentasSaldos = " AND (`contable_movimientos`.`numerocuenta` >= {$cuenta_inicial}) AND (`contable_movimientos`.`numerocuenta` <= {$cuenta_final}) "; } $FechaInicial = $xF->getDiaInicial("{$ejercicio}-{$periodo}-01"); $FechaFinal = $xF->getDiaFinal("{$ejercicio}-{$periodo}-01"); $xRPT = new cReportes($xHP->getTitle()); $xRPT->addContent($xRPT->getEncabezado($xHP->getTitle(), $FechaInicial, $FechaFinal)); $InitRecords = parametro("init", 0, MQL_INT); $xRPT->addCSSFiles("../css/flags.css"); $xRPT->setOut($out); //================================================================================================================= //$xRPT->setToPagination($InitRecords); /** * Paginacion * I.- Parte */ $rowLimit = 1500; //4Paginas aprox //marca el Final de los Registros $EndRecords = $InitRecords + $rowLimit;
function getIDExPagarByPeriodo($fecha = false, $monto = 0, $tipodepago = "efectivo") { $fecha = $fecha == false ? fechasys() : $fecha; $xF = new cFecha(0, $fecha); $mes = $xF->mes(); $anno = $xF->anno(); $dia_inicial = $xF->getDiaInicial(); $dia_final = $xF->getDiaFinal(); $monto = $tipodepago != "efectivo" ? 0 : $monto; $xT = new cTipos(); $monto = 0; if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) { $sqlGravados = "SELECT\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\n\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\n\t\t\t\t\t\t\t\t\t`idoperaciones_recibos`\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`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\tWHERE\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` = " . $this->mCodigo . " )\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago` "; $DGrav = obten_filas($sqlGravados); /** * Obtiene la formula IDE */ $base_gravada = isset($DGrav["monto"]) ? $DGrav["monto"] : 0; $base_de_calculo = $base_gravada + $monto; $base_gravada = $base_de_calculo; $this->mMessages .= "WARN\tINF_IDE\tLa Base Gravada Registrada es {$base_gravada}, y el Monto de Referencia es {$monto}\r\n"; $tasa_ide = TASA_IDE; $excencion = EXCENCION_IDE; $this->mMessages .= "WARN\tINF_IDE\tLa Tasa de IDE es {$tasa_ide}, y la Excencion es de {$excencion}\r\n"; $ide = 0; $cFormulaIDE = new cFormula("formula_ide"); $ide_pagado = $this->getIDEPagadoByPeriodo($fecha); $this->mIDEPagado = $ide_pagado; if ($base_de_calculo > EXCENCION_IDE) { eval($cFormulaIDE->getFormula()); $this->mIDECalculado = $xT->cFloat($ide, 2); $this->mBaseGravadaIDE = $xT->cFloat($base_gravada, 2); $this->mMessages .= "WARN\tINF_IDE\tA la Fecha {$fecha}, La Base de Calculo es " . $this->mBaseGravadaIDE . ", el IDE Pagado es " . $this->mIDEPagado . " y el IDE Calculado es " . $this->mIDECalculado . "\r\n"; } else { $this->mMessages .= "OK\tNO_IDE\tA la Fecha {$fecha}, no hay IDE por que el Monto Exento(" . EXCENCION_IDE . ") es Mayor a la Base de Calculo {$base_de_calculo} \r\n"; } /** * Disminuir el IDE Retenido */ $this->mIDEPendiente = $ide - $ide_pagado; $this->mMessages .= "WARN\tINF_IDE\tEl IDE es de {$ide}, IDE Pagado de {$ide_pagado}, IDE por pagar " . $this->mIDEPendiente . ", Base de Calculo {$base_de_calculo}\r\n"; $this->mIDEAsSet = true; $monto = $this->mIDEPendiente; } return $monto; }
$xIdNRec = $xNRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $diaSig, 1, 10, "MOVIMIENTOS_ESTADISTICOS_DEL_DIA", "NA", "ninguno", "NA", DEFAULT_GRUPO); //actualiza la configuracion del sistema $xCx = new cConfiguration(); $xUtil = new cUtileriasParaOperaciones(); $xCx->set("numero_de_recibo_por_defecto", $xIdNRec); $messages .= date("Y-m-d") . "\tSe Agrego el Recibo {$xIdNRec} para ESTADISTICOS del proximo dia( {$diaSig} )\n"; //================================= $messages .= $xUtil->setEliminarRecibosDuplicados(); $x20 = setFoliosAlMaximo(); $messages .= date("Y-m-d") . "\tSe llevaron Folios al Maximo, los recibos quedaron en " . $x20["recibos"] . " \n"; $messages .= date("Y-m-d") . "\tSe llevaron la Cuenta de Polizas Contables al Maximo \n"; setSociosAlMaximo(); clearCacheSessions(); $messages .= date("Y-m-d") . "\tSe limpio la Cache de sessiones\n"; $messages .= date("Y-m-d") . "\tSe llevaron los socios al Maximo \n"; if ($xF->getDiaFinal() == $xF->get()) { $messages .= CongelarSaldos($idrecibo); } else { $messages .= date("Y-m-d") . "\tNO SE CONGELAN SALDOS, NO ES FIN DE MES\r\n"; } /** * Actualiza Recibos de Operaciones **/ $sqlS = "UPDATE operaciones_recibos SET tipo_pago = \"ninguno\" WHERE tipo_pago = \"\" OR IsNULL(tipo_pago) "; my_query($sqlS); /** * Actualiza los Periodos a Formatos Validos en el Caso que el sistema les haya asigando otro valor */ $sqlPeriodosCorrectos = "UPDATE operaciones_mvtos\r\n\t\t\t\t\t\t\t\tSET periodo_mensual = DATE_FORMAT(fecha_afectacion, '%c'),\r\n\t\t\t\t\t\t\t\tperiodo_anual = DATE_FORMAT(fecha_afectacion, '%Y'),\r\n\t\t\t\t\t\t\t\tperiodo_semanal = DATE_FORMAT(fecha_afectacion, '%w')\r\n\t\t\t\t\t\t\t\t"; $x1 = my_query($sqlPeriodosCorrectos); $messages .= $x1[SYS_INFO];
function addFechaFinal($fecha = false) { $xF = new cFecha(0, $fecha); $this->mOFRM->ODate("idfechafinal", $xF->getDiaFinal(), "TR.Fecha Final"); }
$persona = parametro("socio", $persona, MQL_INT); $persona = parametro("idsocio", $persona, MQL_INT); $credito = parametro("credito", DEFAULT_CREDITO, MQL_INT); $credito = parametro("idsolicitud", $credito, MQL_INT); $credito = parametro("solicitud", $credito, MQL_INT); $cuenta = parametro("cuenta", DEFAULT_CUENTA_CORRIENTE, MQL_INT); $cuenta = parametro("idcuenta", $cuenta, MQL_INT); $jscallback = parametro("callback"); $tiny = parametro("tiny"); $form = parametro("form"); $action = parametro("action", SYS_NINGUNO); $xHP->init(); $xFRM = new cHForm("frm", "./"); $msg = ""; $FechaInit = $xF->getDiaInicial(); $FechaFin = $xF->getDiaFinal(); $otros = " AND (`operaciones_recibostipo`.`tipo_poliza_generada` != 999) AND `operaciones_recibos`.`total_operacion` > 0 "; $xTbl = new cTabla($xLi->getListadoDeRecibos("", "", "", $FechaInit, $FechaFin, $otros)); //$xTbl->addEspTool(); $xTbl->OButton("TR.Poliza", "jsBuscarPoliza(" . HP_REPLACE_ID . ")", $xTbl->ODicIcons()->CONTABLE); $xTbl->OButton("TR.Factura", "jsBuscarFactura(" . HP_REPLACE_ID . ")", $xTbl->ODicIcons()->REPORTE); $xTbl->setEventKey("jsGetPanel"); //$table_s->addEspTool("\$xS=new cSocio(_REPLACE_ID_,true);\$D=\$xS->getTotalColocacionActual();PHP::(\$D[SYS_NUMERO]>0) ? \"<div class='noticon'><i class='fa fa-credit-card fa-lg'></i><span class='noticount'>\" . \$D[SYS_NUMERO] . \"</span></div>\":\"\";"); $xFRM->addHTML($xTbl->Show()); //$xFRM->addJsBasico(); //$xFRM->addCreditBasico(); //$xFRM->addSubmit(); $xFRM->OHidden("idclaveactual", 0, ""); $xFRM->addAviso(""); echo $xFRM->get(); $jxc->drawJavaScript(false, true);
include_once "../core/core.html.inc.php"; include_once "../core/core.init.inc.php"; include_once "../core/core.db.inc.php"; $theFile = __FILE__; $permiso = getSIPAKALPermissions($theFile); if ($permiso === false) { header("location:../404.php?i=999"); } $_SESSION["current_file"] = addslashes($theFile); //===================================================================================================== $xHP = new cHPage("TR.REPORTE DE MOVIMIENTOS DE AUXILIARES", HP_REPORT); $xL = new cSQLListas(); $xF = new cFecha(); $ql = new MQL(); $fecha_inicial = parametro("on", $xF->getDiaInicial(), MQL_DATE); $fecha_final = parametro("off", $xF->getDiaFinal(), MQL_DATE); $cuenta_inicial = parametro("for", 0, MQL_INT); $cuenta_final = parametro("to", 0, MQL_INT); $out = parametro("out", SYS_DEFAULT, MQL_RAW); //---------------- Valuar Tipo de Cuenta ---------------- $tipo_cuentas = parametro("tipo", SYS_TODAS, MQL_RAW); $nivel_cuentas = parametro("nivel", SYS_TODAS, MQL_RAW); $incluir_cuentas = parametro("estado", SYS_TODAS, MQL_RAW); $netoCargoRpt = 0; $netoAbonoRpt = 0; $ByCuentas = ""; $xRPT = new cReportes($xHP->getTitle()); $xRPT->addContent($xRPT->getEncabezado($xHP->getTitle(), $fecha_inicial, $fecha_final)); $InitRecords = parametro("init", 0, MQL_INT); $xRPT->setOut($out); //=================================================================================================================
function setGenerarMvtoFinDeMes($fecha_inicial, $fecha_final, $NumeroDeCredito = false, $ForzarEnPeriodo = false) { /** * @var $ForzarPeriodo * se refiere a que debe actualizar el saldo conciliado segun los pagos acumulados a la fecha * */ $msg = "==\t\tGENERAR MOVIMIENTOS DEL FIN DE MES\t\t==\r\n"; $arrPagosF = array(); $arrPagosM = array(); $xQl = new MQL(); //$wByCredito = " AND ( (`creditos_solicitud`.`fecha_ministracion` >= '$fecha_inicial' ) AND (`creditos_solicitud`.`fecha_ministracion` <= '$fecha_final' ) ) "; $wByCredito = ""; $wByCredito = $NumeroDeCredito != false ? " AND (`creditos_solicitud`.`numero_solicitud` = {$NumeroDeCredito}) " : $wByCredito; $wByMvto = " AND fecha_operacion>='{$fecha_inicial}' AND fecha_operacion<='{$fecha_final}' "; $wByMvto = $NumeroDeCredito != false ? " AND docto_afectado = {$NumeroDeCredito} " : $wByMvto; //============================================================================== $fechaRec = fechasys(); $observaciones = "GENERADO_EN_LA_UTILERIA_888"; //============================================================================== $sqlDM = "DELETE FROM operaciones_mvtos WHERE tipo_operacion=999 {$wByMvto} "; // Agregado el 2012-01-17- Ya lo habia corregido??? my_query($sqlDM); //============================================================================== if ($ForzarEnPeriodo == true) { $sqlP = "SELECT\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado` AS `socio`,\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado` AS `documento`,\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion` AS `operacion`,\n\t\t\t\t\t\t\t\tMAX(`operaciones_mvtos`.`fecha_operacion`) AS `fecha`,\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS `monto` \n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`operaciones_mvtos`.`tipo_operacion` = 120) \n\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` <='{$fecha_final}')\n\t\t\t\t\t\t\t\t{$wByMvto}\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion` "; $rsP = $xQl->getDataRecord($sqlP); $msg .= "============ ULTIMOS MVTOS HASTA LA FECHA {$fecha_final} \r\n"; foreach ($rsP as $rwP) { $mSocio = $rwP["socio"]; $mCredito = $rwP["documento"]; $mFecha = $rwP["fecha"]; $mMonto = $rwP["monto"]; $arrPagosF[$mCredito] = $mFecha; $arrPagosM[$mCredito] = $mMonto; $msg .= "{$mSocio}\t{$mCredito}\tFecha {$mFecha}\t Monto: {$mMonto}\r\n"; } } //============================================================================== $CRecibo = new cReciboDeOperacion(10, false); $sql = "SELECT SQL_CACHE\n\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t`creditos_tipoconvenio`.*,\n\t\t\t\t\t`creditos_periocidadpagos`.*,\n\t\t\t\t\t`creditos_estatus`.*,\n\t\t\t\t\t`creditos_solicitud`.`tasa_interes` AS `tasa_ordinaria_anual`,\n\t\t\t\t\t`creditos_solicitud`.`tipo_autorizacion` AS `tipo_de_autorizacion`,\n\t\t\t\t\t`creditos_solicitud`.`tasa_ahorro` AS `tasa_de_ahorro`\n\t\t\t\tFROM\n\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\tON `creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\t\t= `creditos_solicitud`.`tipo_convenio`\n\t\t\t\t\t\t\tINNER JOIN `creditos_periocidadpagos`\n\t\t\t\t\t\t\t`creditos_periocidadpagos`\n\t\t\t\t\t\t\tON `creditos_periocidadpagos`.\n\t\t\t\t\t\t\t`idcreditos_periocidadpagos` =\n\t\t\t\t\t\t\t`creditos_solicitud`.`periocidad_de_pago`\n\t\t\t\t\t\t\t\tINNER JOIN `creditos_estatus`\n\t\t\t\t\t\t\t\t`creditos_estatus`\n\t\t\t\t\t\t\t\tON `creditos_estatus`.`idcreditos_estatus` =\n\t\t\t\t\t\t\t\t`creditos_solicitud`.`estatus_actual`\n\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`creditos_solicitud`.`estatus_actual` !=50)\n\t\t\t\t\t\t\t\t{$wByCredito}\n\t\t\t\t\t\t\t\t "; $rsMx = $xQl->getDataRecord($sql); // mysql_query($sql, cnnGeneral() ); //$msg .= $sql ."\r\n" . $sqlDM . "\r\n"; $msg .= "============ GENERANDO MOVIMIENTOS 999: Saldos al Fin del mes \r\n"; $xF = new cFecha(); $recibo = $CRecibo->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $fechaRec, 1, 10, $observaciones, DEFAULT_CHEQUE, "ninguno", DEFAULT_RECIBO_FISCAL, DEFAULT_GRUPO); $CRecibo->setNumeroDeRecibo($recibo); foreach ($rsMx as $rw) { //corregir cuando yo me acuerde //Corregi accion de forzado... que mas? $solicitud = $rw["numero_solicitud"]; $socio = $rw["numero_socio"]; $fechaMinistracion = $rw["fecha_ministracion"]; $montoMinistrado = $rw["monto_autorizado"]; //Datos a conciliar $fechaUltimoMvto = $rw["fecha_ultimo_mvto"]; $saldoActual = $rw["saldo_actual"]; $FechaInicial = $fechaMinistracion; if ($ForzarEnPeriodo == true) { $pagos = isset($arrPagosM[$solicitud]) ? $arrPagosM[$solicitud] : 0; $saldo = $montoMinistrado - $pagos; $fechaUltimoMvto = isset($arrPagosF[$solicitud]) ? $arrPagosF[$solicitud] : $fechaUltimoMvto; //notas_auditoria= '', fecha_revision='2011-10-23', //si la fecha de ministracion es mayor a la final, invalidad fecha y saldo a cero $saldo_conciliado = $fechaMinistracion > $fecha_final ? 0 : $saldo; $fecha_conciliada = $fechaMinistracion > $fecha_final ? $fechaMinistracion : $fechaUltimoMvto; $sqlUC = "UPDATE creditos_solicitud SET saldo_conciliado={$saldo_conciliado}, fecha_conciliada='{$fecha_conciliada}'\n\t\t\t\t\t\t\t\t\t \tWHERE numero_solicitud={$solicitud} "; $msg .= "{$socio}\t{$solicitud}\tActualizar Saldo a {$saldo_conciliado}, Fecha a {$fecha_conciliada}, Ministrado: {$montoMinistrado}, Monto Pagado: {$pagos}\r\n"; my_query($sqlUC); } $FechaFinal = $saldoActual <= TOLERANCIA_SALDOS ? $fechaUltimoMvto : fechasys(); $dias = $xF->setRestarFechas($FechaFinal, $FechaInicial); $monto = 1; //$saldoActual; //$msg .= "Dias $dias \r\n"; for ($i = 0; $i <= $dias; $i++) { $fecha = $xF->setSumarDias($i, $FechaInicial); $fin_de_mes = $xF->getDiaFinal($fecha); if ($fecha == $fin_de_mes) { //guardar solo los datos del fin de mes if ($fecha >= $fecha_inicial and $fecha <= $fecha_final) { $observaciones = "Cierre a {$fecha}, Fin de mes {$fin_de_mes}"; $operacion = $CRecibo->setNuevoMvto($fecha, $monto, OPERACION_CLAVE_FIN_DE_MES, 1, $observaciones, 0, TM_CARGO, $socio, $solicitud); $msg .= "{$i}\t{$socio}\t{$solicitud}\t{$fecha}\t{$fin_de_mes}\t{$saldoActual}\t{$operacion}\r\n"; } else { $msg .= "{$i}\t{$socio}\t{$solicitud}\t{$fecha}\t{$fin_de_mes}\t{$saldoActual}\tNO_REG\r\n"; } } } } $CRecibo->setFinalizarRecibo(); return $msg; }