FINERACT-1981: Rate factor using simple interest for EMI calculation

This commit is contained in:
Jose Alberto Hernandez
2024-05-28 12:16:00 +02:00
committed by Adam Saghy
parent 53f4864980
commit 885316690e
3 changed files with 168 additions and 0 deletions
@@ -24,6 +24,7 @@ import jakarta.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.Year;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
@@ -34,6 +35,7 @@ import java.util.Locale;
import org.apache.fineract.infrastructure.core.data.ApiParameterError;
import org.apache.fineract.infrastructure.core.domain.FineractPlatformTenant;
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
import org.apache.fineract.portfolio.common.domain.DaysInYearType;
public final class DateUtils {
@@ -393,4 +395,13 @@ public final class DateUtils {
}
return formatter;
}
public static Integer daysInYear(final DaysInYearType daysInYear, final LocalDate referenceDate) {
return daysInYear.isActual() ? DateUtils.getDaysInYear(referenceDate.getYear()) : daysInYear.getValue();
}
public static Integer getDaysInYear(final Integer year) {
return Year.isLeap(year) ? 366 : 365;
}
}