本文整理汇总了PHP中cFecha::getDiaAbonoQuincenal方法的典型用法代码示例。如果您正苦于以下问题:PHP cFecha::getDiaAbonoQuincenal方法的具体用法?PHP cFecha::getDiaAbonoQuincenal怎么用?PHP cFecha::getDiaAbonoQuincenal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cFecha
的用法示例。
在下文中一共展示了cFecha::getDiaAbonoQuincenal方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFechaDePago
function getFechaDePago($fecha_de_referencia, $numeral)
{
$periocidad_pago = $this->mPeriocidadDePago;
$tipo_de_plan = $this->mTipoDePlanDePago;
$dia_1_ab = $this->mDiaDeAbono1;
$dia_2_ab = $this->mDiaDeAbono2;
$dia_3_ab = $this->mDiaDeAbono3;
$xF = new cFecha(0, $fecha_de_referencia);
$xF1 = new cFecha(1);
if ($tipo_de_plan == CREDITO_TIPO_DIAS_DE_PAGO_NATURAL) {
$fecha_de_pago = $numeral == 1 ? $fecha_de_referencia : $xF->setSumarDias($periocidad_pago, $fecha_de_referencia);
} else {
//$fecha_de_referencia = $xF->get();
if ($periocidad_pago == CREDITO_TIPO_PERIOCIDAD_DIARIO) {
//obtener si no es festivo
//if(!isset($fecha_de_pago)){$fecha_de_pago = $fecha_de_referencia;}
$fecha_de_pago = $numeral == 1 ? $fecha_de_referencia : $xF->setSumarDias(1, $fecha_de_referencia);
$fecha_de_pago = $xF->getDiaHabil($fecha_de_pago);
} elseif ($periocidad_pago == CREDITO_TIPO_PERIOCIDAD_SEMANAL) {
//Obtiene el Dia de Ref + dias del periodo
if ($numeral == 1) {
//Si es primer pago, es el dia de abono
$fecha_de_pago = $fecha_de_referencia;
} else {
$fecha_de_pago = $xF->setSumarDias($periocidad_pago);
if ($this->mDiaDeAbono1 != false) {
$fecha_de_pago = $xF->getDiaAbonoSemanal($this->mDiaDeAbono1, $fecha_de_pago);
}
}
} elseif ($periocidad_pago == CREDITO_TIPO_PERIOCIDAD_DECENAL) {
$desviacion = intval($periocidad_pago * 0.4);
if ($numeral == 1) {
//Si es primer pago, es el dia de abono
$fecha_de_pago = $fecha_de_referencia;
} else {
$fecha_de_pago = $xF->setSumarDias($periocidad_pago);
$fecha_calculada = $xF->getDiaAbonoDecenal($this->mDiaDeAbono1, $this->mDiaDeAbono2, $this->mDiaDeAbono3, $fecha_de_pago);
$fecha_de_pago = $tipo_de_plan != FALLBACK_CREDITOS_DIAS_DE_PAGO ? $fecha_calculada : $fecha_de_pago;
}
} elseif ($periocidad_pago == CREDITO_TIPO_PERIOCIDAD_CATORCENAL) {
//Obtiene el Dia de Ref + dias del periodo
if ($numeral == 1) {
//Si es primer pago, es el dia de abono
$fecha_de_pago = $fecha_de_referencia;
} else {
$fecha_de_pago = $xF->setSumarDias($periocidad_pago);
}
} elseif ($periocidad_pago >= CREDITO_TIPO_PERIOCIDAD_QUINCENAL && $periocidad_pago < CREDITO_TIPO_PERIOCIDAD_MENSUAL) {
//Obtiene el Dia de Ref + dias del periodo
if ($numeral == 1) {
//Si es primer pago, es el dia de abono
$fecha_de_pago = $fecha_de_referencia;
} else {
$fecha_de_pago = $xF->setSumarDias($periocidad_pago);
if ($tipo_de_plan != FALLBACK_CREDITOS_DIAS_DE_PAGO) {
$fecha_de_pago = $xF->getDiaAbonoQuincenal($dia_1_ab, $dia_2_ab, $fecha_de_pago);
}
}
// Tratamiento Mensual o mas, si es menor a la 1era Quincena, baja al dia dos, si no sube un mes al dia dos...
} elseif ($periocidad_pago >= CREDITO_TIPO_PERIOCIDAD_MENSUAL && $periocidad_pago < CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
//Obtiene el Dia de Ref + dias del periodo
$fecha_de_pago = $numeral == 1 ? $fecha_de_referencia : $xF->setSumarDias($periocidad_pago);
if ($tipo_de_plan != FALLBACK_CREDITOS_DIAS_DE_PAGO) {
$fecha_de_pago = $xF->getDiaDeAbonoMensual($dia_1_ab, $fecha_de_pago);
}
} else {
// Tratamiento 360 o Semanal
$fecha_de_pago = $xF->setSumarDias($periocidad_pago);
}
}
if ($this->mTipoCreditoSis != CREDITO_PRODUCTO_NOMINA) {
$fecha_de_pago = $xF->getDiaHabil($fecha_de_pago);
$fecha_de_pago = $xF->getDiaHabil($fecha_de_pago);
$fecha_de_pago = $xF->getDiaHabil($fecha_de_pago);
$fecha_de_pago = $xF->getDiaHabil($fecha_de_pago);
}
//if(MODO_DEBUG == true){ $this->mMessages .= $xF->getMessages(); }
return $fecha_de_pago;
}
开发者ID:Cywaithaka,项目名称:S.A.F.E.-Open-Source-Microfinance-Suite,代码行数:79,代码来源:core.creditos.pagos.inc.php
示例2: calcular
function calcular($fecha_inicial = false, $PrimerPago = false, $SegundoPago = false, $TercerPago = false)
{
$xCred = new cCredito($this->mClaveDeCredito);
$xCred->init();
$xF = new cFecha();
$msg = "";
$FORMA_DE_PAGO = $xCred->getFormaDePago();
$PAGOS_AUTORIZADOS = $xCred->getPagosAutorizados();
$PERIOCIDAD_DE_PAGO = $xCred->getPeriocidadDePago();
$MONTO_AUTORIZADO = $xCred->getMontoAutorizado();
$SALDO_ACTUAL = $xCred->getSaldoActual();
$INTERES_PAGADO = $xCred->getInteresNormalPagado();
$MORA_PAGADO = $xCred->getInteresMoratorioPagado();
$xCred->initPagosEfectuados();
$CAPITAL_PAGADO = setNoMenorQueCero($MONTO_AUTORIZADO - $SALDO_ACTUAL);
$SALDO_DE_PLAN = $xCred->getMontoAutorizado();
$TASA_NORMAL = $xCred->getTasaDeInteres();
$TASA_MORA = $xCred->getTasaDeMora();
$TASA_IVA = $xCred->getTasaIVA();
$DIVISOR_DE_INTS = EACP_DIAS_INTERES;
$FECHA_DE_PAGO = $xCred->getFechaPrimeraParc();
$FECHA_INICIAL = $xCred->getFechaDeMinistracion();
$opciondia_1 = $PrimerPago;
$opciondia_2 = $SegundoPago;
$opciondia_3 = $TercerPago;
//sanitiza la fecha de pago
if ($FECHA_DE_PAGO == false) {
$FECHA_DE_PAGO = $xF->setSumarDias($PERIOCIDAD_DE_PAGO, $FECHA_INICIAL);
}
if (($PERIOCIDAD_DE_PAGO > CREDITO_TIPO_PERIOCIDAD_CATORCENAL or $PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_CATORCENAL) and ($opciondia_1 == false or $opciondia_2 == false or $opciondia_3 == false)) {
if ($PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_QUINCENAL) {
$opciondia_1 = $opciondia_1 == false ? PQ_DIA_PRIMERA_QUINCENA : $opciondia_1;
$opciondia_2 = $opciondia_2 == false ? PQ_DIA_SEGUNDA_QUINCENA : $opciondia_2;
} elseif ($PERIOCIDAD_DE_PAGO == CREDITO_TIPO_PERIOCIDAD_DECENAL) {
$opciondia_1 = $opciondia_1 == false ? 10 : $opciondia_1;
$opciondia_2 = $opciondia_2 == false ? 20 : $opciondia_2;
$opciondia_3 = $opciondia_3 == false ? 30 : $opciondia_3;
} else {
$opciondia_1 = $opciondia_1 == false ? PM_DIA_DE_PAGO : $opciondia_1;
}
}
//pagos decenales entre el mes
$arrPagos = array();
//obtener los dias de pago en el mes por tipo de pago
$dia_de_pago = $xCred->getFechaDeMinistracion();
for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
$letra = $i;
switch ($PERIOCIDAD_DE_PAGO) {
case CREDITO_TIPO_PERIOCIDAD_DIARIO:
$dia_de_pago = $xF->getDiaHabil($xF->setSumarDias(1, $dia_de_pago));
$arrPagos[$letra][SYS_FECHA] = $dia_de_pago;
$msg .= "OK\t{$letra}\tDIARIO\tFecha de pago a {$dia_de_pago}\r\n";
break;
case CREDITO_TIPO_PERIOCIDAD_SEMANAL:
break;
case CREDITO_TIPO_PERIOCIDAD_DECENAL:
break;
case CREDITO_TIPO_PERIOCIDAD_CATORCENAL:
//dias naturales, cada dos semanas?
break;
case CREDITO_TIPO_PERIOCIDAD_QUINCENAL:
$dia_de_pago = $xF->setSumarDias(CREDITO_TIPO_PERIOCIDAD_QUINCENAL, $dia_de_pago);
$dia_de_pago = $xF->getDiaAbonoQuincenal($opciondia_1, $opciondia_2, $dia_de_pago);
$arrPagos[$letra][SYS_FECHA] = $dia_de_pago;
$msg .= "OK\t{$letra}\tQUINCENAL\tFecha de pago a {$dia_de_pago}, opcion {$opciondia_1}, {$opciondia_2}\r\n";
break;
case CREDITO_TIPO_PERIOCIDAD_MENSUAL:
$dia_de_pago = date("Y-m-", $xF->getInt($dia_de_pago)) . $opciondia_1;
$dia_de_pago = $xF->setSumarMeses(1, $dia_de_pago);
$dia_de_pago = $xF->getDiaHabil($dia_de_pago);
$arrPagos[$letra][SYS_FECHA] = $dia_de_pago;
$msg .= "OK\t{$letra}\tMENSUAL\tFecha de pago a {$dia_de_pago}, opcion {$opciondia_1}\r\n";
break;
case CREDITO_TIPO_PERIOCIDAD_BIMESTRAL:
break;
case CREDITO_TIPO_PERIOCIDAD_TRIMESTRAL:
break;
}
}
//$FORMULA_INT = new cFormula("interes_normal");
//dias de pago
//si es empresa, tomar la fecha de la empresa semanal, quincenal, mensual, decenal
//Iniciar los Pagos Actuales
//$this->initParcsPendientes();
$DatosDePagados = $xCred->getListadoDePagos();
/* interes capital impuestos */
switch ($FORMA_DE_PAGO) {
case CREDITO_TIPO_PAGO_PERIODICO:
//parcialidad interes + capital
break;
case CREDITO_TIPO_PAGO_FLAT_PARCIAL:
for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
$letra = $i;
$letraAnterior = setNoMenorQueCero($letra - 1);
$PagoAnterior = isset($DatosDePagados[$letra]) ? $DatosDePagados[$letra] : array();
$capital_pagado = isset($DPago[SYS_CAPITAL]) ? $DPago[SYS_CAPITAL] : 0;
$SALDO_DE_PLAN = $SALDO_DE_PLAN - $capital_pagado;
$interes_normal = $MONTO_AUTORIZADO * $PERIOCIDAD_DE_PAGO * $TASA_NORMAL / $DIVISOR_DE_INTS;
$capital = $MONTO_AUTORIZADO / $PAGOS_AUTORIZADOS;
$capital = setNoMenorQueCero($capital - $capital_pagado);
//.........这里部分代码省略.........
示例3: set_dia_abono_quincenal
function set_dia_abono_quincenal($date, $dia_primer_periodo, $dia_segundo_periodo)
{
$xF = new cFecha(0, $date);
$fecha_de_pago = $xF->getDiaAbonoQuincenal($dia_primer_periodo, $dia_segundo_periodo, $date);
return $fecha_de_pago;
}