FINERACT-1932: Add loan module (WIP)
This commit is contained in:
+3
-1
@@ -30,6 +30,7 @@ buildscript {
|
|||||||
'fineract-core',
|
'fineract-core',
|
||||||
'fineract-provider',
|
'fineract-provider',
|
||||||
'fineract-investor',
|
'fineract-investor',
|
||||||
|
'fineract-loan',
|
||||||
'integration-tests',
|
'integration-tests',
|
||||||
'twofactor-tests',
|
'twofactor-tests',
|
||||||
'oauth2-tests',
|
'oauth2-tests',
|
||||||
@@ -42,7 +43,8 @@ buildscript {
|
|||||||
'fineract-avro-schemas',
|
'fineract-avro-schemas',
|
||||||
'fineract-client',
|
'fineract-client',
|
||||||
'fineract-provider',
|
'fineract-provider',
|
||||||
'fineract-investor'
|
'fineract-investor',
|
||||||
|
'fineract-loan'
|
||||||
].contains(it.name)
|
].contains(it.name)
|
||||||
}
|
}
|
||||||
npmRepository = 'https://npm.pkg.github.com'
|
npmRepository = 'https://npm.pkg.github.com'
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(':fineract-core'))
|
implementation(project(':fineract-core'))
|
||||||
|
implementation(project(':fineract-loan'))
|
||||||
implementation(project(':fineract-provider'))
|
implementation(project(':fineract-provider'))
|
||||||
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
|
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(':fineract-core'))
|
implementation(project(':fineract-core'))
|
||||||
|
implementation(project(':fineract-loan'))
|
||||||
implementation(project(':fineract-provider'))
|
implementation(project(':fineract-provider'))
|
||||||
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
|
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(':fineract-core'))
|
implementation(project(':fineract-core'))
|
||||||
|
implementation(project(':fineract-loan'))
|
||||||
implementation(project(':fineract-provider'))
|
implementation(project(':fineract-provider'))
|
||||||
implementation('org.springframework.batch:spring-batch-integration')
|
implementation('org.springframework.batch:spring-batch-integration')
|
||||||
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
|
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
|
||||||
|
|||||||
@@ -19,5 +19,6 @@
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(':fineract-core'))
|
implementation(project(':fineract-core'))
|
||||||
|
implementation(project(':fineract-loan'))
|
||||||
implementation(project(':fineract-provider'))
|
implementation(project(':fineract-provider'))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(':fineract-core'))
|
implementation(project(':fineract-core'))
|
||||||
|
implementation(project(':fineract-loan'))
|
||||||
implementation(project(':fineract-provider'))
|
implementation(project(':fineract-provider'))
|
||||||
implementation(project(':custom:acme:loan:cob'))
|
implementation(project(':custom:acme:loan:cob'))
|
||||||
implementation(project(':custom:acme:loan:processor'))
|
implementation(project(':custom:acme:loan:processor'))
|
||||||
|
|||||||
@@ -22,6 +22,25 @@ apply plugin: 'java'
|
|||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
check.dependsOn('cucumber')
|
check.dependsOn('cucumber')
|
||||||
|
|
||||||
|
compileJava.doLast {
|
||||||
|
def mainSS = sourceSets.main
|
||||||
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
|
from file("src/main/resources/jpa/core/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
|
}
|
||||||
|
javaexec {
|
||||||
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
|
def target = source
|
||||||
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
|
args '-persistenceinfo', source, '-classpath', sourceSets.main.runtimeClasspath, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
|
}
|
||||||
|
delete {
|
||||||
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
providedRuntime // needed for Spring Boot executable WAR
|
providedRuntime // needed for Spring Boot executable WAR
|
||||||
providedCompile
|
providedCompile
|
||||||
|
|||||||
-61
@@ -20,7 +20,6 @@ package org.apache.fineract.portfolio.charge.data;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.MonthDay;
|
import java.time.MonthDay;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -28,13 +27,9 @@ import java.util.Map;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.apache.fineract.accounting.glaccount.data.GLAccountData;
|
import org.apache.fineract.accounting.glaccount.data.GLAccountData;
|
||||||
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
|
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
|
||||||
import org.apache.fineract.infrastructure.core.domain.ExternalId;
|
|
||||||
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
||||||
import org.apache.fineract.portfolio.charge.domain.ChargeTimeType;
|
import org.apache.fineract.portfolio.charge.domain.ChargeTimeType;
|
||||||
import org.apache.fineract.portfolio.loanaccount.data.LoanChargeData;
|
|
||||||
import org.apache.fineract.portfolio.paymenttype.data.PaymentTypeData;
|
import org.apache.fineract.portfolio.paymenttype.data.PaymentTypeData;
|
||||||
import org.apache.fineract.portfolio.savings.data.SavingsAccountChargeData;
|
|
||||||
import org.apache.fineract.portfolio.shareaccounts.data.ShareAccountChargeData;
|
|
||||||
import org.apache.fineract.portfolio.tax.data.TaxGroupData;
|
import org.apache.fineract.portfolio.tax.data.TaxGroupData;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -301,62 +296,6 @@ public final class ChargeData implements Comparable<ChargeData>, Serializable {
|
|||||||
return obj.id.compareTo(this.id);
|
return obj.id.compareTo(this.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LoanChargeData toLoanChargeData() {
|
|
||||||
|
|
||||||
BigDecimal percentage = null;
|
|
||||||
if (this.chargeCalculationType.getId() == 2) {
|
|
||||||
percentage = this.amount;
|
|
||||||
}
|
|
||||||
|
|
||||||
return LoanChargeData.newLoanChargeDetails(this.id, this.name, this.currency, this.amount, percentage, this.chargeTimeType,
|
|
||||||
this.chargeCalculationType, this.penalty, this.chargePaymentMode, this.minCap, this.maxCap, ExternalId.empty());
|
|
||||||
}
|
|
||||||
|
|
||||||
public SavingsAccountChargeData toSavingsAccountChargeData() {
|
|
||||||
|
|
||||||
final Long savingsChargeId = null;
|
|
||||||
final Long savingsAccountId = null;
|
|
||||||
final BigDecimal amountPaid = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountWaived = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountWrittenOff = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountOutstanding = BigDecimal.ZERO;
|
|
||||||
final BigDecimal percentage = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountPercentageAppliedTo = BigDecimal.ZERO;
|
|
||||||
final Collection<ChargeData> chargeOptions = null;
|
|
||||||
final LocalDate dueAsOfDate = null;
|
|
||||||
final Boolean isActive = null;
|
|
||||||
final Boolean isFreeWithdrawal = null;
|
|
||||||
final Integer freeWithdrawalChargeFrequency = null;
|
|
||||||
final Integer restartFrequency = null;
|
|
||||||
final Integer restartFrequencyEnum = null;
|
|
||||||
|
|
||||||
final LocalDate inactivationDate = null;
|
|
||||||
|
|
||||||
return SavingsAccountChargeData.instance(savingsChargeId, this.id, savingsAccountId, this.name, this.currency, this.amount,
|
|
||||||
amountPaid, amountWaived, amountWrittenOff, amountOutstanding, this.chargeTimeType, dueAsOfDate, this.chargeCalculationType,
|
|
||||||
percentage, amountPercentageAppliedTo, chargeOptions, this.penalty, this.feeOnMonthDay, this.feeInterval, isActive,
|
|
||||||
isFreeWithdrawal, freeWithdrawalChargeFrequency, restartFrequency, restartFrequencyEnum, inactivationDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ShareAccountChargeData toShareAccountChargeData() {
|
|
||||||
|
|
||||||
final Long shareChargeId = null;
|
|
||||||
final Long shareAccountId = null;
|
|
||||||
final BigDecimal amountPaid = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountWaived = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountWrittenOff = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountOutstanding = BigDecimal.ZERO;
|
|
||||||
final BigDecimal percentage = BigDecimal.ZERO;
|
|
||||||
final BigDecimal amountPercentageAppliedTo = BigDecimal.ZERO;
|
|
||||||
final Collection<ChargeData> chargeOptions = null;
|
|
||||||
final Boolean isActive = null;
|
|
||||||
final BigDecimal chargeAmountOrPercentage = BigDecimal.ZERO;
|
|
||||||
|
|
||||||
return new ShareAccountChargeData(shareChargeId, this.id, shareAccountId, this.name, this.currency, this.amount, amountPaid,
|
|
||||||
amountWaived, amountWrittenOff, amountOutstanding, this.chargeTimeType, this.chargeCalculationType, percentage,
|
|
||||||
amountPercentageAppliedTo, chargeOptions, isActive, chargeAmountOrPercentage);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isOverdueInstallmentCharge() {
|
public boolean isOverdueInstallmentCharge() {
|
||||||
boolean isOverdueInstallmentCharge = false;
|
boolean isOverdueInstallmentCharge = false;
|
||||||
if (this.chargeTimeType != null) {
|
if (this.chargeTimeType != null) {
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user