function getOOficial() { $xO = new cOficial($this->mOficialDeCredito); $xO->init(); return $xO; }
function setPolizaPorCajero($cajero, $FechaDeCorte, $NumeroDePoliza = false, $TipoDePoliza = 1, $TipoDePago = "efectivo", $generador = false) { $sucess = true; $msg = "=======\tGENERAR POLIZA POR USUARIO NUM {$cajero}\r\n"; //if (GENERAR_CONTABILIDAD == true){ //($generador == GENERAR_POLIZAS_AL_CIERRE) AND if (isset($cajero)) { $xUsr = new cOficial($cajero); $DUsr = $xUsr->getDatos(); $UsrName = $DUsr["nombres"] . " " . $DUsr["apellidopaterno"]; $tipo_de_poliza = $TipoDePoliza; $xD = new cFecha(0, $FechaDeCorte); $fecha_de_poliza = $FechaDeCorte; $ejercicio_de_poliza = $xD->anno(); $periodo_de_poliza = $xD->mes(); $numero_de_poliza = $NumeroDePoliza == false ? false : $NumeroDePoliza; $concepto_poliza = "{$UsrName}.-Movimientos del Corte de Fecha {$FechaDeCorte}"; //Obten datos de la Poliza $sqlRec = "SELECT\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`tipo_poliza_generada`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`afectacion_en_flujo_efvo`\r\n\t\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` =\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`idusuario` = {$cajero} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`fecha_operacion` = '{$FechaDeCorte}' )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibostipo`.`tipo_poliza_generada` = {$TipoDePoliza} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = '{$TipoDePago}' )\r\n\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idusuario`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idoperaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t"; //$msg .= "$sqlRec\r\n"; $rsP = getRecordset($sqlRec); //Obtener el la Ultima Poliza Registrada //------------------ Agregar Poliza $xPol = new cPoliza($tipo_de_poliza, $numero_de_poliza, $ejercicio_de_poliza, $periodo_de_poliza); if ($numero_de_poliza != false and $xPol->getCountPolizaByNumero($numero_de_poliza) > 1) { $xPol->setDeletePoliza(); } $msg .= $xPol->add($concepto_poliza, $fecha_de_poliza, $numero_de_poliza, 0, 0, $cajero); $numero_de_poliza = $xPol->get(); $msg .= "=====\tPOLIZA NUM: {$numero_de_poliza} | TIPO: {$tipo_de_poliza} | EJERCICIO: {$ejercicio_de_poliza} | PERIODO: {$periodo_de_poliza}\r\n"; $sucess = $xPol->mRaiseError == true ? false : true; //seleccionar todos los recibos while ($rwP = mysql_fetch_array($rsP)) { $dRec = $rwP; $numero_de_recibo = $dRec["idoperaciones_recibos"]; $recibo_fiscal = strlen($dRec["recibo_fiscal"]) > 2 ? ";RF:" . trim($dRec["recibo_fiscal"]) : ""; $observacion_recibo = $dRec["observacion_recibo"]; $flujo_efectivo = $dRec["afectacion_en_flujo_efvo"]; $cheque = strlen($dRec["cheque_afectador"]) > 2 ? ";Ch:" . $dRec["cheque_afectador"] : ""; $socio = $dRec["numero_socio"]; $concepto_mvto = substr("R:" . $numero_de_recibo . $recibo_fiscal . $cheque . ";" . $dRec["observacion_recibo"], 0, 80); $msg .= "{$numero_de_recibo}\tRECIBO TIPO: " . $dRec["tipo_docto"] . " SUMA: " . $dRec["total_operacion"] . " \r\n"; //regenera el perfil contable //if ( $Regenerar == true ){ $xUCont = new cUtileriasParaContabilidad(); $msg .= $xUCont->setRegenerarPrepolizaContable($dRec["fecha_operacion"], $numero_de_recibo); //} //------------------ Leer la PROFORMA $sqlMvtosToPoliza = "SELECT\r\n\t\t\t\t\t`contable_polizas_proforma`.*,\r\n\t\t\t\t\t`operaciones_tipos`.*\r\n\t\t\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t`operaciones_tipos` `operaciones_tipos`\r\n\t\t\t\t\t\tINNER JOIN `contable_polizas_proforma`\r\n\t\t\t\t\t\t`contable_polizas_proforma`\r\n\t\t\t\t\t\tON `operaciones_tipos`.`idoperaciones_tipos` =\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\r\n\t\t\t\t\t\tAND `contable_polizas_proforma`.`numero_de_recibo` = {$numero_de_recibo}\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`contable_operacion` DESC,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`socio`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`documento`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\t\t\t\r\n\t\t\t\t\t"; if ($sucess == true) { //$msg .= "$sqlMvtosToPoliza\r\n"; $rs = mysql_query($sqlMvtosToPoliza, cnnGeneral()); if (!$rs) { //error en MYSQL $sucess = false; saveError(2, $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Depurar :" . mysql_error() . "|Numero: " . mysql_errno() . "|Instruccion SQL:" . $sqlMvtosToPoliza . "|EN:" . $_SESSION["current_file"]); } while ($rw = mysql_fetch_array($rs)) { $cuenta = CUENTA_DE_CUADRE; $nombre = ""; $socio = $rw["socio"]; if (CONTABLE_CUENTAS_POR_SOCIO == true) { $xSoc = new cSocio($socio, true); $nombre = $xSoc->getNombreCompleto(); } //si la cuenta es de efectivo o similar $documento = $rw["documento"]; $monto_movimiento = $rw["monto"]; $tipoOp = $rw["tipo_de_mvto"]; $tipo_movimiento = $rw["contable_operacion"]; $cargo_movimiento = 0; $abono_movimiento = 0; if ($tipo_movimiento == TM_CARGO) { $cargo_movimiento = $monto_movimiento; $abono_movimiento = 0; } else { $cargo_movimiento = 0; $abono_movimiento = $monto_movimiento; } $formula = $rw["cuenta_contable"]; //Corregir de urgencia: OK: 06Oct2011 $sForms = new cValorarFormulas(); $cuenta = $sForms->getCuentaContable($socio, $documento, $formula, $cajero); $msg .= $sForms->getMessages(); if ($cuenta != "NO_CONTABILIZAR") { $xCuenta = new cCuentaContable($cuenta); $cuenta = $xCuenta->get(); //Carga los datos del Oficial if ($xCuenta->getEsCuentaDeCirculante() == true) { $nombre = "EFVO:{$UsrName}"; $msg .= "CUENTA_ADD\tLa Cuenta {$cuenta} de Carga por Cajero [ {$nombre} ]\r\n"; } else { $msg .= "CUENTA\tLa Cuenta de Trabajo es {$cuenta} Originado del Socio {$socio}\r\n"; } //verifica para dar de alta a la cuenta $Existentes = $xCuenta->getCountCuenta(); if ($Existentes == false) { $msg .= "{$numero_de_recibo}\tCUENTA_ADD\tLa Cuenta de Trabajo {$cuenta} NO EXISTE, Se AGREGA\r\n"; $cuenta = $xCuenta->add($nombre); if ($xCuenta->mRaiseError == true) { //$msg .= "ERROR\tLa Cuenta de Trabajo $cuenta NO EXISTE\r\n"; //$msg = $xCuenta->getMessages(); } } $xCuenta->init(); $msg .= $xCuenta->getMessages(); $msg .= $xPol->addMovimiento($cuenta, $cargo_movimiento, $abono_movimiento, "{$socio}:{$documento}:{$tipoOp}", $concepto_mvto); } else { $msg .= "{$numero_de_recibo}\tNO_CONT\tEl Movimiento de {$socio} | {$documento} | {$tipoOp} de Monto {$monto_movimiento} se OMITE\r\n"; } } //END MOVIMIENTOS } else { $msg .= "{$numero_de_recibo}\tEXISTE UN ERROR AL CARGAR EL RECIBO\r\n"; } // END SUCESS } // END RECIBOS $xPol->setReestructurarEfvo(); $msg .= $xPol->setFinalizar(); $msg .= $xPol->getMessages(); $this->mIDDePoliza = $xPol->getCodigo(); } // END VALUE.- GENERAR AL CIERRE DEL DIA //} // END VALUE.- GENERAR CONTABILIDAD return $msg; }
function getEmailsDeEnvio() { $mails = explode(",", $this->mMails); $mails[] = NOMINA_MAIL; if (setNoMenorQueCero($this->mOficial) > DEFAULT_SOCIO) { //Mail del oficial $xOf = new cOficial($this->mOficial); $xOf->init(); $mails[] = $xOf->getEmail(); } return $mails; }
function setCrearLetras($EsSucursal, $EnDetalle, $Avisar) { //Construir la Array de Letras $BySucursal = ""; $sucursal = getSucursal(); $arrLetras = array(); $arrFechas = array(); if ($EsSucursal == "si") { $BySucursal = " AND sucursal = '{$sucursal}' "; } //Eliminar las letras $sqlDSB = "DELETE FROM `sisbancs_amortizaciones` "; my_query($sqlDSB); $msg = "\t\tEliminar todas las letras\r\n"; $sqlLetras = "SELECT\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_afectacion`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio`,\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`afectacion_real` *\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`afectacion`) AS 'monto'\n\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\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(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` =2601)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`afectacion_real` >0)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`tipo_operacion` !=413)\n\n\t\t\t\t\t\tORDER 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_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio` "; $rsA = getRecordset($sqlLetras); while ($rw = mysql_fetch_array($rsA)) { $arrLetras[$rw["docto_afectado"] . "-" . $rw["periodo_socio"] . "-" . $rw["tipo_operacion"]] = $rw["monto"]; if (!isset($arrFechas[$rw["docto_afectado"] . "-" . $rw["periodo_socio"] . "-fecha"])) { $arrFechas[$rw["docto_afectado"] . "-" . $rw["periodo_socio"] . "-fecha"] = $rw["fecha_afectacion"]; } } $sqlCreds = "SELECT\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 `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(`creditos_solicitud`.`saldo_actual` >0.99)\n\t\t\t\t\tAND (`creditos_solicitud`.`estatus_actual` !=50)\n\t\t\t\t\t{$BySucursal}"; $rsC = mysql_query($sqlCreds, cnnGeneral()); $contar = 0; $NetoDisminuir = 0; $NetoCap = 0; $NetoLetra = 0; while ($rw = mysql_fetch_array($rsC)) { //Validar el Credito $socio = $rw["numero_socio"]; $credito = $rw["numero_solicitud"]; $oficial = $rw["oficial_credito"]; $numero_pagos = $rw["pagos_autorizados"]; $TasaIVA = $rw["tasa_iva"]; $saldo_actual = $rw["saldo_actual"]; $periocidad_de_pago = $rw["periocidad_de_pago"]; $fecha_de_vencimiento = $rw["fecha_vencimiento"]; $interes_pagado = $rw["interes_normal_pagado"]; $interes_devengado = $rw["interes_normal_devengado"]; $NetoCap += $saldo_actual; $TotalCap = 0; $TotalInt = 0; if ($periocidad_de_pago == 360) { $numero_pagos = 1; } $xc = new cCredito($credito, $socio); $xc->initCredito($rw); //$msg .= "$contarINICIO\t$credito\t=============\tSALDO\t$saldo_actual\r\n"; for ($i = 1; $i <= $numero_pagos; $i++) { $capital = 0; $interes = 0; $lkey = $credito . "-" . $i . "-"; $fecha = isset($arrFechas[$lkey . "fecha"]) ? $arrFechas[$lkey . "fecha"] : fechasys(); $txtLog = ""; if ($periocidad_de_pago != 360) { //Si el Capital Existe if (isset($arrLetras[$lkey . 410])) { $capital = $arrLetras[$lkey . 410]; } //Si el Interes Existe if (isset($arrLetras[$lkey . 411])) { $interes = $arrLetras[$lkey . 411]; } } else { $fecha = $fecha_de_vencimiento; $capital = $saldo_actual; $interes = setNoMenorQueCero($interes_devengado - $interes_pagado); } //recompocision a 2 digitos por letra $capital = round($capital, 2); $interes = round($interes, 2); $iva = round($interes * $TasaIVA, 2); //SUMAS $total_letra = $capital + $interes + $iva; $TotalCap += $capital; $TotalInt += $interes; //Global $NetoLetra += $capital; if ($total_letra > TOLERANCIA_SALDOS) { $sqlI = "INSERT INTO sisbancs_amortizaciones\n\t\t\t\t\t\t\t\t\t\t(socio, credito, parcialidad, fecha_de_vencimiento, saldo_vigente, saldo_vencido,\n\t\t\t\t\t\t\t\t\t\tinteres_vigente, interes_vencido,\n\t\t\t\t\t\t\t\t\t\tsaldo_interes_vencido, interes_moratorio,\n\t\t\t\t\t\t\t\t\t\testatus, iva_interes_normal, iva_interes_moratorio,\n\t\t\t\t\t\t\t\t\t\tfecha_de_abono)\n\t\t\t\t\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t\t\t\t({$socio}, {$credito}, {$i}, '{$fecha}', {$capital}, 0,\n\t\t\t\t\t\t\t\t\t\t{$interes}, 0,\n\t\t\t\t\t\t\t\t\t\t0, 0, 1, {$iva}, 0,\n\t\t\t\t\t\t\t\t\t\t'{$fecha}')"; my_query($sqlI); if ($EnDetalle == "si") { $msg .= "{$contar}\tLETRA\t{$credito}\t{$i}\tAGREGANDO PARCIALIDAD POR {$total_letra}\r\n"; } } } if ($TotalCap > $saldo_actual + TOLERANCIA_SALDOS or $TotalCap < $saldo_actual - TOLERANCIA_SALDOS) { $txtLog .= "{$contar}\tERROR\t{$credito}\tERROR EL SALDO({$saldo_actual})ES DIFERENTE A LA SUMA DE LETRAS({$TotalCap})\r\n"; if ($Avisar == "si") { $xo = new cOficial(); $xo->addNote(iDE_CREDITO, $oficial, $socio, $credito, $txtLog); } $msg .= $txtLog; } $msg .= "{$contar}\t{$credito}\t=============\tCAPITAL\t{$TotalCap}\r\n"; $msg .= "{$contar}\t{$credito}\t=============\tINTERES\t{$TotalInt}\r\n"; $msg .= "{$contar}\tFIN\t=================================================================\r\n"; $contar++; } return $msg; }
function setValidarCreditos($fecha, $AppSucursal = true, $ReportToOficial = false) { if (!isset($fecha)) { $fecha = fechasys(); } $msg = "====\t\tVALIDADOR DE CREDITOS V 1.0.01\r\n"; $cierre_sucursal = ""; if ($AppSucursal == true) { $cierre_sucursal = "AND (`creditos_solicitud`.`sucursal`='" . getSucursal() . "')"; } // /*INICIALIZA EL RECIBO*/ // $xRec = new cReciboDeOperacion(10); $tolerancia_en_pesos = TOLERANCIA_SALDOS; $sqlValidacion = "SELECT\n\t\t\t\t\t\t\t\t`creditos_solicitud`.*\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t`creditos_solicitud`\n\t\t\t\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{$cierre_sucursal}\n\t\t\t\t\t\t\t\tAND\t(`creditos_solicitud`.`saldo_actual`>{$tolerancia_en_pesos})\n\t\t\t\t\t\t\t"; $rs_PAM = mysql_query($sqlValidacion, cnnGeneral()); if (!$rs_PAM) { $msg .= "LA CONSULTA NO SE EJECUTO (CODE: " . mysql_errno() . ")"; } $i = 1; while ($rw = mysql_fetch_array($rs_PAM)) { $solicitud = $rw["numero_solicitud"]; $socio = $rw["numero_socio"]; $oficial = $rw["oficial_credito"]; $txt = ""; $msg .= "{$i}\tVERIFICANDO EL CREDITO {$solicitud} DE LA PERSONA # {$socio}\r\n"; $clsCred = new cCredito($solicitud, $socio); $clsCred->init($rw); $txt = $clsCred->setVerificarValidez($i); if ($ReportToOficial == true and trim($txt) != "") { $cOficial = new cOficial(99); $cOficial->addNote(iDE_CREDITO, $oficial, $socio, $solicitud, $txt); } $msg .= $txt; $i++; } $this->mMessages .= $msg; return $msg; }
function send($mensaje, $email = false, $telefono = false, $usuario = false, $mensaje_corto = "", $canal = false) { $msg = ""; $mensaje = $this->cleanString($mensaje); $mensaje_corto = $this->cleanString($mensaje_corto); $mensaje_corto = $mensaje_corto == "" ? substr($mensaje, 0, $this->mSMS_limit) : substr($mensaje_corto, 0, $this->mSMS_limit); if ($email == false) { } else { $msg .= $this->sendMail($this->mTitulo, $mensaje, $email); } if ($telefono == false) { } else { $telefono = "52" . $telefono; $msg .= $this->sendSMS($telefono, $mensaje_corto); } if ($usuario == false) { } else { $xOf = new cOficial($usuario); $socio = DEFAULT_SOCIO; $docto = DEFAULT_CREDITO; $msg .= $xOf->addNote(AVISOS_TIPO_RECORDATORIO, $usuario, $socio, $docto, $mensaje_corto); } if ($canal == false) { } else { $this->mCanal = $canal; $msg .= $this->sendCloudMessage($mensaje_corto); } $this->mMessages .= $msg; return $msg; }