function jsaGetPerfilDeProducto($producto, $persona) { $OConv = new cProductoDeCredito($producto); $OConv->init(); $tab = new TinyAjaxBehavior(); $xSoc = new cSocio($persona); $pagos = $OConv->getNumeroPagosPreferente(); $periocidad = $OConv->getPeriocidadPrefente(); if ($xSoc->init() == true) { if ($xSoc->getClaveDeEmpresa() != FALLBACK_CLAVE_EMPRESA) { $xEmp = new cEmpresas($xSoc->getClaveDeEmpresa()); $xEmp->init(); $tab->add(TabSetValue::getBehavior('idproducto', $xEmp->getProductoPref())); $periocidad = $xEmp->getPeriocidadPref(); } } $tab->add(TabSetValue::getBehavior('idnumerodepagos', $pagos)); $tab->add(TabSetValue::getBehavior('idperiocidad', $periocidad)); return $tab->getString(); }
function jsaCargarDatosDeConvenio($convenio) { $OConv = new cProductoDeCredito($convenio); $OConv->init(); $tab = new TinyAjaxBehavior(); $tab->add(TabSetValue::getBehavior('idnumpagos', $OConv->getNumeroPagosPreferente())); if ($OConv->getEsProductoDeNomina() == false) { //false por que lo determina la empresa $tab->add(TabSetValue::getBehavior('idperiocidadpagos', $OConv->getPeriocidadPrefente())); } //$tab -> add(TabSetValue::getBehavior('idnumpagos', $OConv->obj()->pagos_maximo()->v())); return $tab->getString(); }
function getOProductoDeCredito($TipoDeConvenio = false) { $TipoDeConvenio = $TipoDeConvenio == false ? $this->getClaveDeProducto() : $TipoDeConvenio; $xP = new cProductoDeCredito($TipoDeConvenio); $xP->init(); return $xP; }
*/ //obtener parametros extras en una array //su valor es del producto $xCred = new cCredito($idcredito, $rw["numero_socio"]); $xCred->init($rw); if (isset($DPagos[$idcredito])) { $xCred->initPagosEfectuados($DPagos[$idcredito], $FechaFinal); ///$xLog->add("OK\t$icnt\tDatos del credito $idpersona|$idcredito SI existen \r\n", $xLog->DEVELOPER); } else { $xLog->add("WARN\t{$idpersona}-{$idcredito}\t{$sucres}\t{$icnt}\tDatos de Pago del credito {$idpersona}|{$idcredito} no existen \r\n", $xLog->DEVELOPER); } $ClaveActualOtorgante = $xCR->getClaveDeOtorgante(); // ENTIDAD_CLAVE_SIC; $NombreOtorgante = $xCR->getNombreOtorgante(); $CuentaActual = $rw["numero_solicitud"]; $xTConv = new cProductoDeCredito($rw["tipo_convenio"]); $xTConv->init(); $DTConv = $xTConv->getOtrosParametrosInArray(); $TipoDeResponsabilidad = isset($DTConv["SIC_TIPO_DE_RESPONSABILIDAD"]) ? $DTConv["SIC_TIPO_DE_RESPONSABILIDAD"] : "I"; //individual $TipoDeCuenta = isset($DTConv["SIC_TIPO_DE_CUENTA"]) ? $DTConv["SIC_TIPO_DE_CUENTA"] : "F"; //Pagos fijos $TipoDeContrato = strtoupper($xCred->getOProductoDeCredito()->getTipoDeContratoCR()); // isset($DTConv["SIC_TIPO_DE_CONTRATO"]) ? $DTConv["SIC_TIPO_DE_CONTRATO"] : "DESCONOCIDO"; $ClaveUnidadMonetaria = "MX"; $ValorActivoValuacion = 0; $NumeroDePagos = $xCred->getPagosAutorizados(); $FrecuenciaDePagos = $xCR->getEPeriocidad($xCred->getPeriocidadDePago()); $MontoPagar = $xCR->getMonto($xCred->getSaldoActual($FechaFinal)); //Acabar, valor de la letra actual o saldo? $FechaAperturaCuenta = $xCR->getDate($xCred->getFechaDeMinistracion());
} } else { $sucess = false; } if ($sucess == true) { $grupo_asociado = $xSoc->getClaveDeGrupo(); if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $dias_solicitados = $xFecha->setRestarFechas($fecha_vencimiento, $fecha_ministracion); } elseif ($periocidad == CREDITO_TIPO_PERIOCIDAD_DIARIO) { $dias_solicitados = $xFecha->setRestarFechas($fecha_vencimiento, $fecha_ministracion); $numeropagos = $dias_solicitados - $xFecha->getDiasHabilesEnRango($fecha_vencimiento, $fecha_ministracion); } else { $dias_solicitados = $numeropagos * $periocidad; $fecha_vencimiento = $xFecha->setSumarDias($dias_solicitados, $fecha_ministracion); } $xConv = new cProductoDeCredito($tipoconvenio); $xConv->init(); if (USE_OFICIAL_BY_PRODUCTO == true) { $oficial_de_seguimiento = $xConv->getOficialDeSeguimiento(); } if ($esrenovado == true) { $TipoDeAutorizacion = CREDITO_AUTORIZACION_RENOVADO; $msg .= "WARN\tCredito marcado como Renovado \r\n"; } $xCred = new cCredito(); $result = $xCred->add($tipoconvenio, $persona, $contrato_corriente, $monto_solicitado, $periocidad, $numeropagos, $dias_solicitados, $rubro_destino, false, $grupo_asociado, $amp_destino, $observaciones, $oficial_de_credito, $fecha_solicitud, $tipo_de_pago, INTERES_POR_SALDO_INSOLUTO, false, $fecha_ministracion, $xSoc->getClaveDeEmpresa(), $TipoDeAutorizacion); if ($result == false) { $xFRM->addToolbar($xBtn->getRegresar("solicitud_de_credito.frm.php", true)); $xFRM->addAviso($xHP->lang(MSG_ERROR_SAVE)); $xFL = new cFileLog(); $xFL->setWrite($xCred->getMessages(OUT_TXT));
$Creds = new cCreditos_solicitud(); $rs = $Creds->query()->select()->exec("numero_socio={$socio}"); foreach ($rs as $data) { /*$Creds->setData($data); $solicitud = $Creds->numero_solicitud()->v(); $socio = $Creds->numero_socio()->v(); $xCred = new cCredito($solicitud, $socio); $msg .= $xCred->setDelete();*/ } if ($socio == 0) { $msg .= "{$iReg}\t\tERROR\tLa Linea({$iReg}) no se leyo({$bufer})\r\n"; } else { $sqls = "UPDATE socios_general SET dependencia=" . DEFAULT_EMPRESA . " WHERE codigo={$socio}"; my_query($sqls); $xCred = new cCredito(); $xConv = new cProductoDeCredito($producto); $xConv->init(); //Crear Contrato corriente si el producto tiene ahorro $DConv = $xCred->getDatosDeProducto($producto); $tasaAhorro = $xConv->getTasaDeAhorro(); // $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 $msg .= "{$iReg}\t{$socio}\t{$credito}\t-----------------------------------------\r\n"; $ok = $xCred->add($producto, $socio, $ContratoCorriente, $monto, $periocidad, $pagos, $dias, $aplicacion, $credito, DEFAULT_GRUPO, $descDestino, "CREDITO IMPORTADO #{$iReg}", DEFAULT_USER, $fechaSolicitado, CREDITO_TIPO_PAGO_PERIODICO, INTERES_POR_SALDO_INSOLUTO, $tasa); if ($ok == true) { ///Inicializar
function setPrevalidarCredito($arrDatos, $retornarMonto = false) { //$periocidad, $convenio, $contrato $xF = new cFecha(0); $sucess = true; $xT = new cTipos(); $socio = $this->mCodigo; //Datos a Manejar $monto_maximo = 0; $solicitud = isset($arrDatos["numero_de_solicitud"]) ? $arrDatos["numero_de_solicitud"] : false; $periocidad = isset($arrDatos["periocidad_de_pago"]) ? $arrDatos["periocidad_de_pago"] : 1; $convenio = isset($arrDatos["tipo_de_producto"]) ? $arrDatos["tipo_de_producto"] : false; $pagos = isset($arrDatos["numero_de_pagos"]) ? $arrDatos["numero_de_pagos"] : 0; $fecha_de_venc = isset($arrDatos["fecha_de_vencimiento"]) ? $arrDatos["fecha_de_vencimiento"] : $xF->get(); $fecha_de_min = isset($arrDatos["fecha_de_ministracion"]) ? $arrDatos["fecha_de_ministracion"] : $xF->get(); $contrato_corr = isset($arrDatos["contrato_corriente_relacionado"]) ? $arrDatos["contrato_corriente_relacionado"] : DEFAULT_CUENTA_CORRIENTE; $monto = isset($arrDatos["monto_solicitado"]) ? $arrDatos["monto_solicitado"] : 0; // $dias = ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO or $periocidad == CREDITO_TIPO_PERIOCIDAD_DIARIO) ? $xF->setRestarFechas($fecha_de_venc, $fecha_de_min) : $periocidad * $pagos; //enviar false if ($convenio == false) { $sucess = false; $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tEl tipo de Convenio no es Valido\r\n"; } else { $xConv = new cProductoDeCredito($convenio); //si es nomina y no tiene empresa. mostrar false if ($xConv->getEsProductoDeNomina() == true) { $this->mMessages .= "WARN\t{$socio}\t{$solicitud}\tEl Producto e de Nomina\r\n"; if ($this->getClaveDeEmpresa() == FALLBACK_CLAVE_EMPRESA) { $sucess = false; $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tEl Producto es de Nomina y No hay EMPRESA\r\n"; } } $DConv = $xConv->getDatosInArray(); $dias_maximo = $DConv["dias_maximo"]; $tasa_ahorro = $DConv["tasa_ahorro"]; $pagos_maximo = $DConv["pagos_maximo"]; $validacion_php = $DConv["php_monto_maximo"]; //cargar datos economicos del socio $ingreso_mensual = $this->getIngresosMensuales(); $DTotCreds = $this->getTotalColocacionActual(); $DTotCredsByConvenio = $this->getTotalColocacionActual($convenio); $DTotCapt = $this->getTotalCaptacionActual(); //Datos de los Creditos segun referencias $monto_de_aportaciones = $this->getFondoPatrimonial(); $saldos_de_creditos = $xT->cFloat($DTotCreds["saldo"]); $saldo_por_producto = $xT->cFloat($DTotCredsByConvenio["saldo"]); $monto_de_planeacion = get_monto_planeacion_credito($socio); //TODO: modificar $monto_linea_credito = $this->getMontoLineaDeCredito(); $saldo_de_captacion = $xT->cFloat($DTotCapt["saldo"]); //Datos de los Creditos segun Productos $producto_monto_maximo = $DConv["maximo_otorgable"]; //Valorar Dias Maximo del Credito if ($dias > $dias_maximo) { $sucess = false; $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tLos Dias del Credito[{$dias}] se exceden a lo permitido[{$dias_maximo}]\r\n"; } else { if ($dias < EACP_DIAS_MINIMO_CREDITO) { $sucess = false; $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tLos Dias del Credito[{$dias}] son Menores al Minimo Permitido [" . EACP_DIAS_MINIMO_CREDITO . "] por la Institucion\r\n"; } else { $this->mMessages .= "OK\t{$socio}\t{$solicitud}\tDias de Pago dentro del Rango Permitido:[{$dias}]\r\n"; } } //Valorar Pagos Maximo del Credito if ($pagos > $pagos_maximo) { $sucess = false; $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tLos Numero de Pagos[{$pagos}] Execeden a lo Permitido[{$pagos_maximo}]\r\n"; } else { $this->mMessages .= "OK\t{$socio}\t{$solicitud}\tNumero de Pagos dentro del Rango Permitido[{$pagos}]\r\n"; } //tasa de ahorro if ($tasa_ahorro > 0) { $this->mMessages .= "WARN\t{$socio}\t{$solicitud}\tEl Ahorro para este Convenio es Obligatorio\r\n"; //Valorar Contrato de Captacion if ($contrato_corr == DEFAULT_CUENTA_CORRIENTE or strlen($contrato_corr) < DIGITOS_DE_CLAVE_DE_SOCIO) { $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tDebe Capturar un Numero de Contrato de Cuenta Corriente\tpara que los Pagos de Credito se Acumulen\r\n"; $sucess = false; } else { $xCta = new cCuentaDeCaptacion($contrato_corr); $existe = $this->existeCuenta($contrato_corr, CAPTACION_TIPO_VISTA); if ($existe == false) { // $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tLa Cuenta {$contrato_corr} No existe, o no es del Tipo requerido\r\n"; $sucess = false; } else { // $this->mMessages .= "OK\t{$socio}\t{$solicitud}\tLa Cuenta {$contrato_corr} es valida para Utilizar\r\n"; } } //end: contrato } // end: tasa ahorro // eval($validacion_php); if ($monto > $monto_maximo) { $this->mMessages .= "ERROR\t{$socio}\t{$solicitud}\tEl Monto Solicitado {$monto} es mayor al Maximo Permitido {$monto_maximo}\r\n"; $sucess = false; } } $this->mUUID = md5($socio . $convenio . $monto . $pagos . ROTTER_KEY . date("Ymd")); return $retornarMonto == false ? $sucess : $monto_maximo; //obtener mensajes }
function jsaSetClonarProducto($idclonado, $nuevoid, $nombre) { $xProducto = new cProductoDeCredito($idclonado); $xProducto->add($nuevoid, $nombre, $idclonado); return $xProducto->getMessages(OUT_HTML); }
} //Si es a Final de Plazo if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $dias_solicitados = restarfechas($fecha_vencimiento, $fecha_ministracion); } elseif ($periocidad == CREDITO_TIPO_PERIOCIDAD_DIARIO) { $dias_solicitados = restarfechas($fecha_vencimiento, $fecha_ministracion); $numeropagos = $dias_solicitados - $xFecha->getDiasHabilesEnRango($fecha_vencimiento, $fecha_ministracion); } else { $dias_solicitados = $numeropagos * $periocidad; $fecha_vencimiento = sumardias($fecha_ministracion, $dias_solicitados); } $dias_autorizados = 0; $monto_autorizado = 0; $pagos_autorizados = 0; $saldo_actual = 0; $xConv = new cProductoDeCredito($tipoconvenio); $dconv = $xConv->getDatosInArray(); //Datos de los Creditos segun Productos $producto_monto_maximo = $dconv["maximo_otorgable"]; $tipo_autorizacion = $dconv["tipo_autorizacion"]; $docto_autorizacion = $dconv["leyenda_docto_autorizacion"]; $interes_normal = $xConv->getTasaDeInteres(); $interes_moratorio = $dconv["interes_moratorio"]; $tipo_credito = $dconv["tipo_de_credito"]; $estatus_pred = $dconv["estatus_predeterminado"]; $nivel_riesgo = $dconv["nivel_riesgo"]; $tasa_ahorro = $dconv["tasa_ahorro"]; $tipo_de_calculo_interes = $dconv["base_de_calculo_de_interes"]; //Si es Automatizado if ($tipo_autorizacion == CREDITO_TIPO_AUTORIZACION_AUTOMATICA) { $monto_autorizado = $monto_solicitado;