updates to MIFOSX-1700
This commit is contained in:
+13
@@ -9,7 +9,9 @@ import static org.mifosplatform.portfolio.savings.DepositsApiConstants.mandatory
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.persistence.Column;
|
||||
@@ -21,8 +23,11 @@ import javax.persistence.Table;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.mifosplatform.infrastructure.core.api.JsonCommand;
|
||||
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
|
||||
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
|
||||
import org.mifosplatform.infrastructure.core.service.DateUtils;
|
||||
import org.mifosplatform.organisation.monetary.domain.Money;
|
||||
import org.mifosplatform.portfolio.savings.DepositsApiConstants;
|
||||
import org.springframework.data.jpa.domain.AbstractPersistable;
|
||||
|
||||
@Entity
|
||||
@@ -101,6 +106,14 @@ public class DepositAccountRecurringDetail extends AbstractPersistable<Long> {
|
||||
actualChanges.put(mandatoryRecommendedDepositAmountParamName, newMandatoryRecommendedDepositAmount);
|
||||
this.mandatoryRecommendedDepositAmount = newMandatoryRecommendedDepositAmount;
|
||||
RecurringDepositAccount depositAccount = (RecurringDepositAccount) this.account;
|
||||
if (depositAccount.isNotActive()) {
|
||||
final String defaultUserMessage = "Updates to the recommended deposit amount are allowed only when the underlying account is active.";
|
||||
final ApiParameterError error = ApiParameterError.generalError("error.msg."
|
||||
+ DepositsApiConstants.RECURRING_DEPOSIT_ACCOUNT_RESOURCE_NAME + ".is.not.active", defaultUserMessage);
|
||||
final List<ApiParameterError> dataValidationErrors = new ArrayList<>();
|
||||
dataValidationErrors.add(error);
|
||||
throw new PlatformApiDataValidationException(dataValidationErrors);
|
||||
}
|
||||
depositAccount.updateScheduleInstallmentsWithNewRecommendedDepositAmount(newMandatoryRecommendedDepositAmount, effectiveDate);
|
||||
depositAccount.updateOverduePayments(DateUtils.getLocalDateOfTenant());
|
||||
MathContext mc = MathContext.DECIMAL64;
|
||||
|
||||
+2
-1
@@ -833,7 +833,8 @@ public class RecurringDepositAccount extends SavingsAccount {
|
||||
// reset all installments to process from the beginning, also update
|
||||
// deposit amount as necessary
|
||||
for (RecurringDepositScheduleInstallment currentInstallment : depositScheduleInstallments()) {
|
||||
if (currentInstallment.dueDate().isAfter(depositAmountupdatedFromDate)) {
|
||||
if (currentInstallment.dueDate().isAfter(depositAmountupdatedFromDate)
|
||||
|| currentInstallment.dueDate().isEqual(depositAmountupdatedFromDate)) {
|
||||
currentInstallment.updateDepositAmountAndResetDerivedFields(newDepositAmount);
|
||||
} else {
|
||||
currentInstallment.resetDerivedFields();
|
||||
|
||||
Reference in New Issue
Block a user