/** * Probar : 2012-04-02 || terminar 2012-02-15 * @param integer $TipoDeConvenio * @param integer $NumeroDeSocio * @param integer $ContratoCorriente * @param float $MontoSolicitado * @param integer $PeriocidadDePago * @param integer $NumeroDePagos * @param integer $PlazoEnDias * @param integer $DestinoDeCredito * @param integer $NumeroDeCredito * @param integer $GrupoAsociado * @param string $DescripcionDelDestino * @param string $Observaciones * @param integer $OficialDeCredito * @param mixed $FechaDeSolicitud * @param integer $TipoDePago * @param integer $TipoDeCalculo * @param float $TasaDeInteres * @return boolean true/false of query result */ function add($TipoDeConvenio, $NumeroDeSocio, $ContratoCorriente, $MontoSolicitado, $PeriocidadDePago = 0, $NumeroDePagos = 0, $PlazoEnDias = 0, $DestinoDeCredito = CREDITO_DEFAULT_DESTINO, $NumeroDeCredito = false, $GrupoAsociado = DEFAULT_GRUPO, $DescripcionDelDestino = "", $Observaciones = "", $OficialDeCredito = false, $FechaDeSolicitud = false, $TipoDePago = CREDITO_TIPO_PAGO_UNICO, $TipoDeCalculo = INTERES_POR_SALDO_INSOLUTO, $TasaDeInteres = false, $FechaDeMinistracion = false, $persona_asociada = false, $TipoDeAutorizacion = false) { $xF = new cFecha(); $xT = new cTipos(); $xSoc = new cSocio($NumeroDeSocio); $xSoc->init(); $OficialDeCredito = $OficialDeCredito == false ? $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"] : $OficialDeCredito; $PlazoEnDias = $PlazoEnDias == 0 ? $PeriocidadDePago * $NumeroDePagos : $PlazoEnDias; $NumeroDePagos = $NumeroDePagos == 0 ? $PlazoEnDias / $PeriocidadDePago : $NumeroDePagos; $ContratoCorriente = $xT->cInt($ContratoCorriente) < 0 ? CTA_GLOBAL_CORRIENTE : $ContratoCorriente; $persona_asociada = $persona_asociada == false ? $xSoc->getClaveDeEmpresa() : $persona_asociada; $GrupoAsociado = setNoMenorQueCero($GrupoAsociado); $GrupoAsociado = $GrupoAsociado <= 0 ? DEFAULT_GRUPO : $GrupoAsociado; if ($NumeroDeCredito == false) { $NumeroDeCredito = $xSoc->getIDNuevoDocto(iDE_CREDITO); } $DConv = $this->getDatosDeProducto($TipoDeConvenio); $DOConv = $this->getOProductoDeCredito($TipoDeConvenio); $TasaDeInteres = $TasaDeInteres === false ? $DConv["interes_normal"] : $TasaDeInteres; $TasaMoratorio = $DConv["interes_moratorio"]; $TasaDeAhorro = $DConv["tasa_ahorro"]; $NivelDeRiesgo = $DConv["nivel_riesgo"]; $TipoDeCredito = $DConv["tipo_de_credito"]; $TipoDeAutorizacion = $TipoDeAutorizacion == false ? $DConv["tipo_autorizacion"] : $TipoDeAutorizacion; $PeriodoDeCredito = EACP_PER_SOLICITUDES; $TipoDePago = $NumeroDePagos > 1 ? CREDITO_TIPO_PAGO_PERIODICO : CREDITO_TIPO_PAGO_UNICO; $FechaDeSolicitud = $FechaDeSolicitud == false ? $xF->get() : $FechaDeSolicitud; $FechaDeMinistracion = $FechaDeMinistracion == false ? $FechaDeSolicitud : $FechaDeMinistracion; $FechaDeUltOperacion = $FechaDeSolicitud; $FechaDeRevision = $FechaDeSolicitud; $FechaConciliada = $FechaDeSolicitud; $xP = new cPeriodoDeCredito($PeriodoDeCredito); $FechaDeAutorizacion = $FechaDeMinistracion; //$xP->getFechaDeReunion(); $CausaDeMora = 99; $EstatusActual = 99; $FechaDeVencimiento = $xF->setSumarDias($PlazoEnDias, $FechaDeMinistracion); $FechaDeMora = $xF->getFechaMaximaOperativa(); $FechaDeVencimientoDinamico = $xF->getFechaMaximaOperativa(); $FechaDeCastigo = $xF->getFechaMaximaOperativa(); $PagosAutorizados = 0; $PlazoEnDiasAutorizado = 0; $MontoAutorizado = 0; $SaldoActual = 0; $SaldoVencido = 0; $SaldoConciliado = 0; $MontoParcialidad = 0; $InteresNormalDevengado = 0; $InteresNormalPagado = 0; $InteresMoratorioPagado = 0; $InteresMoratorioDevengado = 0; $InteresDiario = 0; $InteresAnticipado = 0; $OficialDeSeguimiento = $OficialDeCredito; $iduser = getUsuarioActual(); $PeriodoDeNotificacion = 0; $PeriodoAfectado = 0; $NotasDeAuditoria = ""; $CadenaH = ""; $DoctoDeAutorizacion = ""; $sucursal = getSucursal(); $eacp = EACP_CLAVE; $sqlNC = "INSERT INTO creditos_solicitud(\n\t\t\t\t\tnumero_socio, numero_solicitud, grupo_asociado, contrato_corriente_relacionado,\n\t\t\t\t\ttipo_convenio, tipo_de_pago, tipo_de_calculo_de_interes, periocidad_de_pago, tipo_credito, nivel_riesgo,\n\t\t\t\t\testatus_actual, tipo_autorizacion, causa_de_mora, periodo_solicitudes, destino_credito,\n\t\t\t\t\tfecha_solicitud, fecha_autorizacion, fecha_ministracion, fecha_ultimo_mvto, fecha_revision, fecha_conciliada, \n\t\t\t\t\tfecha_mora, fecha_vencimiento, fecha_vencimiento_dinamico, fecha_castigo,\n\t\t\t\t\tplazo_en_dias, dias_autorizados, numero_pagos, pagos_autorizados,\n\t\t\t\t\tmonto_solicitado, monto_autorizado, saldo_actual, saldo_vencido, saldo_conciliado, monto_parcialidad, \n\t\t\t\t\tinteres_normal_devengado, interes_normal_pagado, interes_moratorio_devengado, interes_moratorio_pagado, interes_diario, sdo_int_ant,\n\t\t\t\t\ttasa_interes, tasa_moratorio, tasa_ahorro,\n\t\t\t\t\tultimo_periodo_afectado, periodo_notificacion,\n\t\t\t\t\tidusuario, oficial_seguimiento, oficial_credito,\n\t\t\t\t\tdocto_autorizacion, observacion_solicitud, cadena_heredada, notas_auditoria, descripcion_aplicacion,\n\t\t\t\t\tsucursal, eacp, persona_asociada)\n\t\t\t\t\tVALUES (\n\t\t\t\t\t{$NumeroDeSocio}, {$NumeroDeCredito}, {$GrupoAsociado}, {$ContratoCorriente},\n\t\t\t\t\t{$TipoDeConvenio}, {$TipoDePago}, {$TipoDeCalculo}, {$PeriocidadDePago}, {$TipoDeCredito}, {$NivelDeRiesgo},\n\t\t\t\t\t{$EstatusActual}, {$TipoDeAutorizacion}, {$CausaDeMora}, {$PeriodoDeCredito}, {$DestinoDeCredito},\n\t\t\t\t\t'{$FechaDeSolicitud}', '{$FechaDeAutorizacion}', '{$FechaDeMinistracion}', '{$FechaDeUltOperacion}', '{$FechaDeRevision}', '{$FechaConciliada}',\n\t\t\t\t\t'{$FechaDeMora}', '{$FechaDeVencimiento}', '{$FechaDeVencimientoDinamico}', '{$FechaDeCastigo}',\n\t\t\t\t\t{$PlazoEnDias}, {$PlazoEnDiasAutorizado}, {$NumeroDePagos}, {$PagosAutorizados}, \n\t\t\t\t\t{$MontoSolicitado}, {$MontoAutorizado}, {$SaldoActual}, {$SaldoVencido}, {$SaldoConciliado}, {$MontoParcialidad},\n\t\t\t\t\t{$InteresNormalDevengado}, {$InteresNormalPagado}, {$InteresMoratorioDevengado}, {$InteresMoratorioPagado}, {$InteresDiario}, {$InteresAnticipado},\n\t\t\t\t\t{$TasaDeInteres}, {$TasaMoratorio}, {$TasaDeAhorro},\n\t\t\t\t\t{$PeriodoAfectado}, {$PeriodoDeNotificacion},\n\t\t\t\t\t{$iduser}, {$OficialDeSeguimiento}, {$OficialDeCredito},\n\t\t\t\t\t'{$DoctoDeAutorizacion}', '{$Observaciones}', '{$CadenaH}', '{$NotasDeAuditoria}', '{$DescripcionDelDestino}',\n\t\t\t\t\t'{$sucursal}', '{$eacp}', {$persona_asociada}) "; $x = my_query($sqlNC); if ($x[SYS_ESTADO] == false) { $this->mMessages .= "{$NumeroDeSocio}\t{$NumeroDeCredito}\tERROR\tError al agregar el credito {$NumeroDeCredito}\r\n"; //$this->mMessages .= $x[SYS_MSG]; } else { $this->set($NumeroDeCredito, true); //Actualizar Planeacion en Grupos if ($DOConv->getEsProductoDeGrupos() == true) { $xGrupo = new cGrupo($xSoc->getClaveDeGrupo()); $xGrupo->init(); $xGrupo->setActualizarPlaneacion($FechaDeSolicitud, $NumeroDeSocio, $NumeroDeCredito); $this->mMessages .= $xGrupo->getMessages(); } } return $x[SYS_ESTADO]; }
//Correccciones $contrato_corriente = setNoMenorQueCero($contrato_corriente) <= 0 ? DEFAULT_CUENTA_CORRIENTE : $contrato_corriente; $xSoc = new cSocio($persona); $arrDatos = array("periocidad_de_pago" => $periocidad, "tipo_de_producto" => $tipoconvenio, "numero_de_pagos" => $numeropagos, "contrato_corriente_relacionado" => $contrato_corriente, "fecha_de_ministracion" => $ministrado, "fecha_de_vencimiento" => $vencido, "monto_solicitado" => $monto_solicitado); $sucess = true; if ($xSoc->isOperable() == true) { $sucess = $xSoc->setPrevalidarCredito($arrDatos); if ($xSoc->getUUID() != $_SESSION[SYS_UUID]) { $msg .= "ERROR\tEl credito Validado no es el mismo que intenta guardar(" . $xSoc->getUUID() . "|" . $_SESSION[SYS_UUID] . ")\r\n"; $sucess = false; } } 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) {