FINERACT-2354: [BE] re-aging preview page outcomes with incorrect calculation for diff scenarios with interest bearing loans
This commit is contained in:
+4
@@ -78,4 +78,8 @@ public class ReAgePreviewRequest implements Serializable {
|
|||||||
@Locale
|
@Locale
|
||||||
private String locale;
|
private String locale;
|
||||||
|
|
||||||
|
@QueryParam("reAgeInterestHandling")
|
||||||
|
@Parameter(description = "The interest handling type. Applied only for progressive interest-bearing loans. DEFAULT if not provided.")
|
||||||
|
private String reAgeInterestHandling;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -28,6 +28,7 @@ import java.util.LinkedHashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.fineract.infrastructure.codes.domain.CodeValue;
|
import org.apache.fineract.infrastructure.codes.domain.CodeValue;
|
||||||
@@ -307,14 +308,14 @@ public class LoanReAgingService {
|
|||||||
private LoanReAgeParameter createReAgeParameterFromPreviewRequest(final LoanTransaction reAgeTransaction,
|
private LoanReAgeParameter createReAgeParameterFromPreviewRequest(final LoanTransaction reAgeTransaction,
|
||||||
final ReAgePreviewRequest reAgePreviewRequest) {
|
final ReAgePreviewRequest reAgePreviewRequest) {
|
||||||
final PeriodFrequencyType periodFrequencyType = PeriodFrequencyType.valueOf(reAgePreviewRequest.getFrequencyType());
|
final PeriodFrequencyType periodFrequencyType = PeriodFrequencyType.valueOf(reAgePreviewRequest.getFrequencyType());
|
||||||
final Locale locale = reAgePreviewRequest.getLocale() != null ? Locale.forLanguageTag(reAgePreviewRequest.getLocale())
|
final Locale locale = Optional.ofNullable(reAgePreviewRequest.getLocale()).map(Locale::forLanguageTag).orElse(Locale.getDefault());
|
||||||
: Locale.getDefault();
|
|
||||||
final LocalDate startDate = JsonParserHelper.convertFrom(reAgePreviewRequest.getStartDate(), LoanReAgingApiConstants.startDate,
|
final LocalDate startDate = JsonParserHelper.convertFrom(reAgePreviewRequest.getStartDate(), LoanReAgingApiConstants.startDate,
|
||||||
reAgePreviewRequest.getDateFormat(), locale);
|
reAgePreviewRequest.getDateFormat(), locale);
|
||||||
final Integer numberOfInstallments = reAgePreviewRequest.getNumberOfInstallments();
|
final Integer numberOfInstallments = reAgePreviewRequest.getNumberOfInstallments();
|
||||||
final Integer periodFrequencyNumber = reAgePreviewRequest.getFrequencyNumber();
|
final Integer periodFrequencyNumber = reAgePreviewRequest.getFrequencyNumber();
|
||||||
|
|
||||||
final LoanReAgeInterestHandlingType reAgeInterestHandlingType = LoanReAgeInterestHandlingType.DEFAULT;
|
final LoanReAgeInterestHandlingType reAgeInterestHandlingType = Optional.ofNullable(reAgePreviewRequest.getReAgeInterestHandling())
|
||||||
|
.map(LoanReAgeInterestHandlingType::valueOf).orElse(LoanReAgeInterestHandlingType.DEFAULT);
|
||||||
|
|
||||||
return new LoanReAgeParameter(reAgeTransaction, periodFrequencyType, periodFrequencyNumber, startDate, numberOfInstallments,
|
return new LoanReAgeParameter(reAgeTransaction, periodFrequencyType, periodFrequencyNumber, startDate, numberOfInstallments,
|
||||||
reAgeInterestHandlingType, null);
|
reAgeInterestHandlingType, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user