savings product account detail API clean up
This commit is contained in:
+115
-134
@@ -13520,8 +13520,8 @@ Request Body:
|
||||
<code class="method-response">
|
||||
{
|
||||
"id": 1,
|
||||
"name": "First Product",
|
||||
"description": "A cool saving product",
|
||||
"name": "savings product",
|
||||
"description": "gtasga",
|
||||
"currency": {
|
||||
"code": "USD",
|
||||
"name": "US Dollar",
|
||||
@@ -13530,15 +13530,15 @@ Request Body:
|
||||
"nameCode": "currency.USD",
|
||||
"displayLabel": "US Dollar ($)"
|
||||
},
|
||||
"nominalAnnualInterestRate": 50.000000,
|
||||
"nominalAnnualInterestRate": 5.000000,
|
||||
"interestCompoundingPeriodType": {
|
||||
"id": 4,
|
||||
"code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly",
|
||||
"value": "Monthly"
|
||||
"id": 1,
|
||||
"code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily",
|
||||
"value": "Daily"
|
||||
},
|
||||
"interestPostingPeriodType": {
|
||||
"id": 4,
|
||||
"code": "savings.interest.posting.period.savingsInterestPostingPeriodType.monthly",
|
||||
"code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly",
|
||||
"value": "Monthly"
|
||||
},
|
||||
"interestCalculationType": {
|
||||
@@ -13551,117 +13551,88 @@ Request Body:
|
||||
"code": "savingsInterestCalculationDaysInYearType.days365",
|
||||
"value": "365 Days"
|
||||
},
|
||||
"minRequiredOpeningBalance": 20.000000,
|
||||
"lockinPeriodFrequency": 1,
|
||||
"lockinPeriodFrequencyType": {
|
||||
"id": 1,
|
||||
"code": "savings.lockin.savingsPeriodFrequencyType.weeks",
|
||||
"value": "Weeks"
|
||||
},
|
||||
"withdrawalFeeForTransfers":true,
|
||||
"withdrawalFeeForTransfers": false,
|
||||
"accountingRule": {
|
||||
"id": 2,
|
||||
"code": "accountingRuleType.cash",
|
||||
"value": "CASH BASED"
|
||||
},
|
||||
"accountingMappings":{
|
||||
"savingsReferenceAccountId":1,
|
||||
"incomeFromFeeAccountId":5,
|
||||
"interestOnSavingsAccountId":4,
|
||||
"savingsControlAccountId":2,
|
||||
"transfersInSuspenseAccountId":3,
|
||||
"incomeFromPenaltyAccountId":15
|
||||
},
|
||||
"feeToIncomeAccountMappings":[
|
||||
{
|
||||
"chargeId":6,
|
||||
"incomeAccountId":16
|
||||
}
|
||||
],
|
||||
"penaltyToIncomeAccountMappings":[
|
||||
{
|
||||
"chargeId":4,
|
||||
"incomeAccountId":15
|
||||
}
|
||||
],
|
||||
"accountingMappings": {
|
||||
"savingsReferenceAccount": {
|
||||
"id": 12,
|
||||
"name": "savings ref",
|
||||
"glCode": "20"
|
||||
},
|
||||
"incomeFromFeeAccount": {
|
||||
"id": 16,
|
||||
"name": "income from savings fee",
|
||||
"glCode": "24"
|
||||
},
|
||||
"incomeFromPenaltyAccount": {
|
||||
"id": 17,
|
||||
"name": "income from sav penalites",
|
||||
"glCode": "25"
|
||||
},
|
||||
"interestOnSavingsAccount": {
|
||||
"id": 15,
|
||||
"name": "interest on savings",
|
||||
"glCode": "23"
|
||||
},
|
||||
"savingsControlAccount": {
|
||||
"id": 13,
|
||||
"name": "savings ref tool kit",
|
||||
"glCode": "21"
|
||||
},
|
||||
"transfersInSuspenseAccount": {
|
||||
"id": 14,
|
||||
"name": "saving transfers",
|
||||
"glCode": "22"
|
||||
}
|
||||
},
|
||||
"paymentChannelToFundSourceMappings": [
|
||||
{
|
||||
"paymentTypeId": 14,
|
||||
"fundSourceAccountId": 2
|
||||
"paymentType": {
|
||||
"id": 10,
|
||||
"name": "check"
|
||||
},
|
||||
"fundSourceAccount": {
|
||||
"id": 12,
|
||||
"name": "savings ref",
|
||||
"glCode": "20"
|
||||
}
|
||||
}
|
||||
],
|
||||
"charges": [
|
||||
"feeToIncomeAccountMappings": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Annual fee",
|
||||
"active": true,
|
||||
"penalty": false,
|
||||
"currency": {
|
||||
"code": "USD",
|
||||
"name": "US Dollar",
|
||||
"decimalPlaces": 2,
|
||||
"displaySymbol": "$",
|
||||
"nameCode": "currency.USD",
|
||||
"displayLabel": "US Dollar ($)"
|
||||
"charge": {
|
||||
"id": 11,
|
||||
"name": "sav charge",
|
||||
"active": false,
|
||||
"penalty": false
|
||||
},
|
||||
"amount": 50,
|
||||
"chargeTimeType": {
|
||||
"id": 6,
|
||||
"code": "chargeTimeType.annualFee",
|
||||
"value": "Annual Fee"
|
||||
},
|
||||
"chargeAppliesTo": {
|
||||
"id": 2,
|
||||
"code": "chargeAppliesTo.savings",
|
||||
"value": "Savings"
|
||||
},
|
||||
"chargeCalculationType": {
|
||||
"id": 1,
|
||||
"code": "chargeCalculationType.flat",
|
||||
"value": "Flat"
|
||||
},
|
||||
"chargePaymentMode": {
|
||||
"id": 0,
|
||||
"code": "chargepaymentmode.regular",
|
||||
"value": "Regular"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Withdrawal fee percentage",
|
||||
"active": true,
|
||||
"penalty": false,
|
||||
"currency": {
|
||||
"code": "USD",
|
||||
"name": "US Dollar",
|
||||
"decimalPlaces": 2,
|
||||
"displaySymbol": "$",
|
||||
"nameCode": "currency.USD",
|
||||
"displayLabel": "US Dollar ($)"
|
||||
},
|
||||
"amount": 0.25,
|
||||
"chargeTimeType": {
|
||||
"id": 5,
|
||||
"code": "chargeTimeType.withdrawalFee",
|
||||
"value": "Withdrawal Fee"
|
||||
},
|
||||
"chargeAppliesTo": {
|
||||
"id": 2,
|
||||
"code": "chargeAppliesTo.savings",
|
||||
"value": "Savings"
|
||||
},
|
||||
"chargeCalculationType": {
|
||||
"id": 2,
|
||||
"code": "chargeCalculationType.percent.of.amount",
|
||||
"value": "% Amount"
|
||||
},
|
||||
"chargePaymentMode": {
|
||||
"id": 0,
|
||||
"code": "chargepaymentmode.regular",
|
||||
"value": "Regular"
|
||||
"incomeAccount": {
|
||||
"id": 16,
|
||||
"name": "income from savings fee",
|
||||
"glCode": "24"
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"penaltyToIncomeAccountMappings": [
|
||||
{
|
||||
"charge": {
|
||||
"id": 12,
|
||||
"name": "sav 2",
|
||||
"active": false,
|
||||
"penalty": true
|
||||
},
|
||||
"incomeAccount": {
|
||||
"id": 17,
|
||||
"name": "income from sav penalites",
|
||||
"glCode": "25"
|
||||
}
|
||||
}
|
||||
],
|
||||
"charges": []
|
||||
}
|
||||
</code>
|
||||
</div>
|
||||
@@ -13730,37 +13701,47 @@ Content-Type: application/json
|
||||
<code class="method-declaration">GET https://Domain Name/api/v1/savingsproducts</code>
|
||||
<code class="method-response">
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Passbook Savings",
|
||||
"description": "Daily compounding using Daily Balance, 5% per year, 365 days in year",
|
||||
"currency": {
|
||||
"code": "USD",
|
||||
"name": "US Dollar",
|
||||
"decimalPlaces": 2,
|
||||
"displaySymbol": "$",
|
||||
"nameCode": "currency.USD",
|
||||
"displayLabel": "US Dollar ($)"
|
||||
},
|
||||
"nominalAnnualInterestRate": 5,
|
||||
"interestCompoundingPeriodType": {
|
||||
{
|
||||
"id": 1,
|
||||
"code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily",
|
||||
"value": "Daily"
|
||||
},
|
||||
"interestCalculationType": {
|
||||
"id": 1,
|
||||
"code": "savingsInterestCalculationType.dailybalance",
|
||||
"value": "Daily Balance"
|
||||
},
|
||||
"interestCalculationDaysInYearType": {
|
||||
"id": 365,
|
||||
"code": "savingsInterestCalculationDaysInYearType.days365",
|
||||
"value": "365 Days"
|
||||
"name": "Savings product",
|
||||
"description": "gtasga",
|
||||
"currency": {
|
||||
"code": "USD",
|
||||
"name": "US Dollar",
|
||||
"decimalPlaces": 2,
|
||||
"displaySymbol": "$",
|
||||
"nameCode": "currency.USD",
|
||||
"displayLabel": "US Dollar ($)"
|
||||
},
|
||||
"nominalAnnualInterestRate": 5.000000,
|
||||
"interestCompoundingPeriodType": {
|
||||
"id": 1,
|
||||
"code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily",
|
||||
"value": "Daily"
|
||||
},
|
||||
"interestPostingPeriodType": {
|
||||
"id": 4,
|
||||
"code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly",
|
||||
"value": "Monthly"
|
||||
},
|
||||
"interestCalculationType": {
|
||||
"id": 1,
|
||||
"code": "savingsInterestCalculationType.dailybalance",
|
||||
"value": "Daily Balance"
|
||||
},
|
||||
"interestCalculationDaysInYearType": {
|
||||
"id": 365,
|
||||
"code": "savingsInterestCalculationDaysInYearType.days365",
|
||||
"value": "365 Days"
|
||||
},
|
||||
"withdrawalFeeForTransfers": false,
|
||||
"accountingRule": {
|
||||
"id": 2,
|
||||
"code": "accountingRuleType.cash",
|
||||
"value": "CASH BASED"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
</code>
|
||||
] </code>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end of saving products api docs -->
|
||||
|
||||
+24
@@ -190,6 +190,30 @@ public class AccountingConstants {
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
|
||||
public static enum SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS {
|
||||
SAVINGS_REFERENCE("savingsReferenceAccount"), SAVINGS_CONTROL("savingsControlAccount"), INCOME_FROM_FEES(
|
||||
"incomeFromFeeAccount"), INCOME_FROM_PENALTIES("incomeFromPenaltyAccount"), INTEREST_ON_SAVINGS(
|
||||
"interestOnSavingsAccount"), PAYMENT_TYPE("paymentType"), FUND_SOURCE("fundSourceAccount"),
|
||||
TRANSFERS_SUSPENSE("transfersInSuspenseAccount"), PENALTY_INCOME_ACCOUNT_MAPPING("penaltyToIncomeAccountMappings"), CHARGE_ID("charge"), INCOME_ACCOUNT_ID(
|
||||
"incomeAccount");
|
||||
|
||||
private final String value;
|
||||
|
||||
private SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS(final String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name().toString().replaceAll("_", " ");
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static final String ASSESTS_TAG_OPTION_CODE_NAME = "AssetAccountTags";
|
||||
public static final String LIABILITIES_TAG_OPTION_CODE_NAME = "LiabilityAccountTags";
|
||||
|
||||
+7
-7
@@ -16,7 +16,7 @@ import org.mifosplatform.accounting.common.AccountingConstants.ACCRUAL_ACCOUNTS_
|
||||
import org.mifosplatform.accounting.common.AccountingConstants.CASH_ACCOUNTS_FOR_LOAN;
|
||||
import org.mifosplatform.accounting.common.AccountingConstants.CASH_ACCOUNTS_FOR_SAVINGS;
|
||||
import org.mifosplatform.accounting.common.AccountingConstants.LOAN_PRODUCT_ACCOUNTING_DATA_PARAMS;
|
||||
import org.mifosplatform.accounting.common.AccountingConstants.SAVINGS_PRODUCT_ACCOUNTING_PARAMS;
|
||||
import org.mifosplatform.accounting.common.AccountingConstants.SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS;
|
||||
import org.mifosplatform.accounting.common.AccountingRuleType;
|
||||
import org.mifosplatform.accounting.glaccount.data.GLAccountData;
|
||||
import org.mifosplatform.accounting.producttoaccountmapping.data.ChargeToGLAccountMapper;
|
||||
@@ -193,17 +193,17 @@ public class ProductToGLAccountMappingReadPlatformServiceImpl implements Product
|
||||
|
||||
|
||||
if (glAccountForSavings.equals(CASH_ACCOUNTS_FOR_SAVINGS.SAVINGS_REFERENCE)) {
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_PARAMS.SAVINGS_REFERENCE.getValue(), gLAccountData);
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS.SAVINGS_REFERENCE.getValue(), gLAccountData);
|
||||
} else if (glAccountForSavings.equals(CASH_ACCOUNTS_FOR_SAVINGS.SAVINGS_CONTROL)) {
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_PARAMS.SAVINGS_CONTROL.getValue(), gLAccountData);
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS.SAVINGS_CONTROL.getValue(), gLAccountData);
|
||||
} else if (glAccountForSavings.equals(CASH_ACCOUNTS_FOR_SAVINGS.INCOME_FROM_FEES)) {
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_FEES.getValue(), gLAccountData);
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS.INCOME_FROM_FEES.getValue(), gLAccountData);
|
||||
} else if (glAccountForSavings.equals(CASH_ACCOUNTS_FOR_SAVINGS.INCOME_FROM_PENALTIES)) {
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_PARAMS.INCOME_FROM_PENALTIES.getValue(), gLAccountData);
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS.INCOME_FROM_PENALTIES.getValue(), gLAccountData);
|
||||
} else if (glAccountForSavings.equals(CASH_ACCOUNTS_FOR_SAVINGS.TRANSFERS_SUSPENSE)) {
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_PARAMS.TRANSFERS_SUSPENSE.getValue(), gLAccountData);
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS.TRANSFERS_SUSPENSE.getValue(), gLAccountData);
|
||||
} else if (glAccountForSavings.equals(CASH_ACCOUNTS_FOR_SAVINGS.INTEREST_ON_SAVINGS)) {
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_PARAMS.INTEREST_ON_SAVINGS.getValue(), gLAccountData);
|
||||
accountMappingDetails.put(SAVINGS_PRODUCT_ACCOUNTING_DATA_PARAMS.INTEREST_ON_SAVINGS.getValue(), gLAccountData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user