当前位置: 首页>>代码示例>>PHP>>正文


PHP cFecha::getDiaAbonoQuincenal方法代码示例

本文整理汇总了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);
//.........这里部分代码省略.........
开发者ID:Cywaithaka,项目名称:S.A.F.E.-Open-Source-Microfinance-Suite,代码行数:101,代码来源:core.creditos.inc.php

示例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;
}
开发者ID:Cywaithaka,项目名称:S.A.F.E.-Open-Source-Microfinance-Suite,代码行数:6,代码来源:core.fechas.inc.php


注:本文中的cFecha::getDiaAbonoQuincenal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。