function setCambiarFechaDeVencimiento($fecha) { $xF = new cFecha(); $xPer = new cPeriocidadDePago($this->getPeriocidadDePago()); $xPer->init(); $xPdto = $this->getOProductoDeCredito(); $dias_tolerados_del_plan = $xPer->getDiasToleradosEnVencer(); $dias_tolerados_del_pdto = $xPdto->getDiasTolerados(); $total_dias_tolerados = $dias_tolerados_del_pdto + $dias_tolerados_del_plan; $this->mMessages .= "WARN\tDias tolerados del Producto {$dias_tolerados_del_pdto}, Dias Tolerados de la periocidad {$dias_tolerados_del_plan} \r\n"; $sucess = false; if ($xF->getInt($fecha) > $xF->getInt($this->getFechaDeVencimiento())) { $nuevos_dias = $xF->setRestarFechas($fecha, $this->getFechaDeMinistracion()); $nuevos_pagos = $this->getPagosAutorizados(); ceil($nuevos_dias / $this->getPagosAutorizados()); if ($this->getPeriocidadDePago() != CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $nuevos_pagos = ceil($nuevos_dias / $this->getPagosAutorizados()); } $nuevos_pagos = $nuevos_pagos > $this->getPagosAutorizados() ? $nuevos_pagos : $this->getPagosAutorizados(); $fecha_de_vencimiento = $fecha; $fecha_de_vencimiento_dinamico = $xF->setSumarDias($total_dias_tolerados, $fecha); $fecha_de_mora = $xF->setSumarDias($dias_tolerados_del_pdto, $fecha); $this->mMessages .= "WARN\tNuevos dias {$nuevos_dias}, Nuevo pagos {$nuevos_pagos}, vencimiento {$fecha_de_vencimiento}, Venc dinamico {$fecha_de_vencimiento_dinamico}, Mora {$fecha_de_mora} \r\n"; $sucess = true; $this->setUpdate(array("dias_autorizados" => $nuevos_dias, "pagos_autorizados" => $nuevos_pagos, "fecha_revision" => fechasys(), "fecha_vencimiento" => $fecha_de_vencimiento, "fecha_mora" => $fecha_de_mora, "fecha_vencimiento_dinamico" => $fecha_de_vencimiento_dinamico)); } else { $this->mMessages .= "ERROR\tLa fecha no puede ser cambiada a uno menor ({$fecha}) \r\n"; } return $sucess; }