Revert "FINERACT-1932: Fineract modularization - fineract-savings"
This reverts commit b9314d0b1e.
This commit is contained in:
+1
-3
@@ -31,7 +31,6 @@ buildscript {
|
|||||||
'fineract-provider',
|
'fineract-provider',
|
||||||
'fineract-investor',
|
'fineract-investor',
|
||||||
'fineract-loan',
|
'fineract-loan',
|
||||||
'fineract-savings',
|
|
||||||
'integration-tests',
|
'integration-tests',
|
||||||
'twofactor-tests',
|
'twofactor-tests',
|
||||||
'oauth2-tests',
|
'oauth2-tests',
|
||||||
@@ -47,8 +46,7 @@ buildscript {
|
|||||||
'fineract-core',
|
'fineract-core',
|
||||||
'fineract-provider',
|
'fineract-provider',
|
||||||
'fineract-investor',
|
'fineract-investor',
|
||||||
'fineract-loan',
|
'fineract-loan'
|
||||||
'fineract-savings'
|
|
||||||
].contains(it.name)
|
].contains(it.name)
|
||||||
}
|
}
|
||||||
npmRepository = 'https://npm.pkg.github.com'
|
npmRepository = 'https://npm.pkg.github.com'
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ dependencies {
|
|||||||
implementation(project(path: ':fineract-core'))
|
implementation(project(path: ':fineract-core'))
|
||||||
implementation(project(path: ':fineract-investor'))
|
implementation(project(path: ':fineract-investor'))
|
||||||
implementation(project(path: ':fineract-loan'))
|
implementation(project(path: ':fineract-loan'))
|
||||||
implementation(project(path: ':fineract-savings'))
|
|
||||||
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
|
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
|
||||||
|
|
||||||
// Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
|
// Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
|
||||||
|
|||||||
+51
-9
@@ -21,18 +21,41 @@ package org.apache.fineract.interoperation.data;
|
|||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import lombok.Getter;
|
|
||||||
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
|
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
|
||||||
import org.apache.fineract.infrastructure.core.service.MathUtil;
|
import org.apache.fineract.infrastructure.core.service.MathUtil;
|
||||||
|
import org.apache.fineract.portfolio.note.domain.Note;
|
||||||
import org.apache.fineract.portfolio.savings.SavingsAccountTransactionType;
|
import org.apache.fineract.portfolio.savings.SavingsAccountTransactionType;
|
||||||
import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
|
import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
|
||||||
import org.apache.fineract.portfolio.savings.domain.SavingsAccountChargePaidBy;
|
import org.apache.fineract.portfolio.savings.domain.SavingsAccountChargePaidBy;
|
||||||
import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
|
import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
|
||||||
import org.apache.fineract.portfolio.savings.service.SavingsEnumerations;
|
import org.apache.fineract.portfolio.savings.service.SavingsEnumerations;
|
||||||
|
|
||||||
@Getter
|
|
||||||
public class InteropTransactionData extends CommandProcessingResult {
|
public class InteropTransactionData extends CommandProcessingResult {
|
||||||
|
|
||||||
|
// private final SavingsAccountTransactionEnumData transactionType;
|
||||||
|
// private final PaymentDetailData paymentDetailData;
|
||||||
|
// private final BigDecimal outstandingChargeAmount;
|
||||||
|
// private final boolean reversed;
|
||||||
|
// private final AccountTransferData transfer;
|
||||||
|
// private final LocalDate submittedOnDate;
|
||||||
|
// private final boolean interestedPostedAsOn;
|
||||||
|
// private final String submittedByUsername;
|
||||||
|
// // templates
|
||||||
|
// final Collection<PaymentTypeData> paymentTypeOptions;
|
||||||
|
// //import fields
|
||||||
|
// private Long paymentTypeId;
|
||||||
|
// private String checkNumber;
|
||||||
|
// private String routingCode;
|
||||||
|
// private String receiptNumber;
|
||||||
|
// private String bankNumber;
|
||||||
|
|
||||||
|
// private String transactionReference;
|
||||||
|
// private String statementReference;
|
||||||
|
// private CreditDebitType creditDebit;
|
||||||
|
// private TransactionStatus status;
|
||||||
|
// private String transactionInformation;
|
||||||
|
// private String addressLine;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final String accountId;
|
private final String accountId;
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -52,7 +75,7 @@ public class InteropTransactionData extends CommandProcessingResult {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private final LocalDate valueDateTime;
|
private final LocalDate valueDateTime;
|
||||||
|
|
||||||
private String note;
|
private final String note;
|
||||||
|
|
||||||
public InteropTransactionData(Long entityId, String accountId, String transactionId, SavingsAccountTransactionType transactionType,
|
public InteropTransactionData(Long entityId, String accountId, String transactionId, SavingsAccountTransactionType transactionType,
|
||||||
BigDecimal amount, BigDecimal chargeAmount, String currency, BigDecimal accountBalance, LocalDate bookingDateTime,
|
BigDecimal amount, BigDecimal chargeAmount, String currency, BigDecimal accountBalance, LocalDate bookingDateTime,
|
||||||
@@ -94,14 +117,33 @@ public class InteropTransactionData extends CommandProcessingResult {
|
|||||||
LocalDate valueDateTime = endOfBalanceLocalDate == null ? bookingDateTime : endOfBalanceLocalDate;
|
LocalDate valueDateTime = endOfBalanceLocalDate == null ? bookingDateTime : endOfBalanceLocalDate;
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append(SavingsEnumerations.transactionType(transactionType).getValue());
|
int currLength = 0;
|
||||||
|
for (Note note : transaction.getNotes()) {
|
||||||
|
String s = note.getNote();
|
||||||
|
if (s == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
int availableLength = 500 - currLength;
|
||||||
|
if (availableLength <= 1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currLength > 0) {
|
||||||
|
sb.append(' ');
|
||||||
|
availableLength--;
|
||||||
|
}
|
||||||
|
if (s.length() > availableLength) {
|
||||||
|
s = s.substring(availableLength);
|
||||||
|
}
|
||||||
|
sb.append(s);
|
||||||
|
currLength = sb.length();
|
||||||
|
}
|
||||||
|
if (currLength == 0) {
|
||||||
|
sb.append(SavingsEnumerations.transactionType(transactionType).getValue());
|
||||||
|
}
|
||||||
|
|
||||||
return new InteropTransactionData(savingsAccount.getId(), savingsAccount.getExternalId().getValue(), transactionId, transactionType,
|
return new InteropTransactionData(savingsAccount.getId(), savingsAccount.getExternalId().getValue(), transactionId, transactionType,
|
||||||
amount, chargeAmount, currency, runningBalance, bookingDateTime, valueDateTime, sb.toString());
|
amount, chargeAmount, currency, runningBalance, bookingDateTime, valueDateTime, sb.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateNote(String note) {
|
|
||||||
this.note = note;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
-4
@@ -22,15 +22,11 @@ import jakarta.validation.constraints.NotNull;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
|
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
|
||||||
import org.apache.fineract.infrastructure.core.service.DateUtils;
|
import org.apache.fineract.infrastructure.core.service.DateUtils;
|
||||||
import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
|
import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
|
||||||
import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
|
import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public class InteropTransactionsData extends CommandProcessingResult {
|
public class InteropTransactionsData extends CommandProcessingResult {
|
||||||
|
|
||||||
List<InteropTransactionData> transactions;
|
List<InteropTransactionData> transactions;
|
||||||
|
|||||||
+1
-22
@@ -64,7 +64,6 @@ import org.apache.fineract.interoperation.data.InteropKycResponseData;
|
|||||||
import org.apache.fineract.interoperation.data.InteropQuoteRequestData;
|
import org.apache.fineract.interoperation.data.InteropQuoteRequestData;
|
||||||
import org.apache.fineract.interoperation.data.InteropQuoteResponseData;
|
import org.apache.fineract.interoperation.data.InteropQuoteResponseData;
|
||||||
import org.apache.fineract.interoperation.data.InteropRequestData;
|
import org.apache.fineract.interoperation.data.InteropRequestData;
|
||||||
import org.apache.fineract.interoperation.data.InteropTransactionData;
|
|
||||||
import org.apache.fineract.interoperation.data.InteropTransactionRequestData;
|
import org.apache.fineract.interoperation.data.InteropTransactionRequestData;
|
||||||
import org.apache.fineract.interoperation.data.InteropTransactionRequestResponseData;
|
import org.apache.fineract.interoperation.data.InteropTransactionRequestResponseData;
|
||||||
import org.apache.fineract.interoperation.data.InteropTransactionsData;
|
import org.apache.fineract.interoperation.data.InteropTransactionsData;
|
||||||
@@ -219,27 +218,7 @@ public class InteropServiceImpl implements InteropService {
|
|||||||
return (transactionsTo == null || transactionsTo.compareTo(transactionDate) > 0) && (transactionsFrom == null
|
return (transactionsTo == null || transactionsTo.compareTo(transactionDate) > 0) && (transactionsFrom == null
|
||||||
|| transactionsFrom.compareTo(transactionDate.withHour(23).withMinute(59).withSecond(59)) <= 0);
|
|| transactionsFrom.compareTo(transactionDate.withHour(23).withMinute(59).withSecond(59)) <= 0);
|
||||||
};
|
};
|
||||||
InteropTransactionsData interopTransactionsData = InteropTransactionsData.build(savingsAccount, transFilter);
|
return InteropTransactionsData.build(savingsAccount, transFilter);
|
||||||
for (InteropTransactionData interopTransactionData : interopTransactionsData.getTransactions()) {
|
|
||||||
final List<Note> transactionNotes = noteRepository
|
|
||||||
.findBySavingsTransactionId(Long.valueOf(interopTransactionData.getTransactionId()));
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
for (final Note note : transactionNotes) {
|
|
||||||
String s = note.getNote();
|
|
||||||
if (s == null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
sb.append(s + " ");
|
|
||||||
}
|
|
||||||
if (sb.toString().length() > 0) {
|
|
||||||
String text = interopTransactionData.getNote() + " " + sb.toString();
|
|
||||||
if (text.length() > 500) {
|
|
||||||
text = text.substring(0, 500);
|
|
||||||
}
|
|
||||||
interopTransactionData.updateNote(text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return interopTransactionsData;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
+1
-1
@@ -39,7 +39,6 @@ import org.apache.fineract.infrastructure.core.service.ExternalIdFactory;
|
|||||||
import org.apache.fineract.organisation.holiday.domain.Holiday;
|
import org.apache.fineract.organisation.holiday.domain.Holiday;
|
||||||
import org.apache.fineract.organisation.holiday.domain.HolidayRepository;
|
import org.apache.fineract.organisation.holiday.domain.HolidayRepository;
|
||||||
import org.apache.fineract.organisation.holiday.domain.HolidayStatusType;
|
import org.apache.fineract.organisation.holiday.domain.HolidayStatusType;
|
||||||
import org.apache.fineract.organisation.monetary.exception.InvalidCurrencyException;
|
|
||||||
import org.apache.fineract.organisation.staff.domain.Staff;
|
import org.apache.fineract.organisation.staff.domain.Staff;
|
||||||
import org.apache.fineract.organisation.staff.domain.StaffRepository;
|
import org.apache.fineract.organisation.staff.domain.StaffRepository;
|
||||||
import org.apache.fineract.organisation.staff.exception.StaffNotFoundException;
|
import org.apache.fineract.organisation.staff.exception.StaffNotFoundException;
|
||||||
@@ -82,6 +81,7 @@ import org.apache.fineract.portfolio.loanaccount.loanschedule.service.LoanSchedu
|
|||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRelatedDetail;
|
||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRepository;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRepository;
|
||||||
|
import org.apache.fineract.portfolio.loanproduct.exception.InvalidCurrencyException;
|
||||||
import org.apache.fineract.portfolio.loanproduct.exception.LinkedAccountRequiredException;
|
import org.apache.fineract.portfolio.loanproduct.exception.LinkedAccountRequiredException;
|
||||||
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductNotFoundException;
|
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductNotFoundException;
|
||||||
import org.apache.fineract.portfolio.rate.domain.Rate;
|
import org.apache.fineract.portfolio.rate.domain.Rate;
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,6 @@ import org.apache.fineract.infrastructure.event.business.domain.loan.transaction
|
|||||||
import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService;
|
import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService;
|
||||||
import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency;
|
import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency;
|
||||||
import org.apache.fineract.organisation.monetary.domain.Money;
|
import org.apache.fineract.organisation.monetary.domain.Money;
|
||||||
import org.apache.fineract.organisation.monetary.exception.InvalidCurrencyException;
|
|
||||||
import org.apache.fineract.portfolio.account.PortfolioAccountType;
|
import org.apache.fineract.portfolio.account.PortfolioAccountType;
|
||||||
import org.apache.fineract.portfolio.account.data.AccountTransferDTO;
|
import org.apache.fineract.portfolio.account.data.AccountTransferDTO;
|
||||||
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
|
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
|
||||||
@@ -126,6 +125,7 @@ import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.DefaultSche
|
|||||||
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.ScheduledDateGenerator;
|
import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.ScheduledDateGenerator;
|
||||||
import org.apache.fineract.portfolio.loanaccount.serialization.LoanChargeApiJsonValidator;
|
import org.apache.fineract.portfolio.loanaccount.serialization.LoanChargeApiJsonValidator;
|
||||||
import org.apache.fineract.portfolio.loanproduct.data.LoanOverdueDTO;
|
import org.apache.fineract.portfolio.loanproduct.data.LoanOverdueDTO;
|
||||||
|
import org.apache.fineract.portfolio.loanproduct.exception.InvalidCurrencyException;
|
||||||
import org.apache.fineract.portfolio.loanproduct.exception.LinkedAccountRequiredException;
|
import org.apache.fineract.portfolio.loanproduct.exception.LinkedAccountRequiredException;
|
||||||
import org.apache.fineract.portfolio.note.domain.Note;
|
import org.apache.fineract.portfolio.note.domain.Note;
|
||||||
import org.apache.fineract.portfolio.note.domain.NoteRepository;
|
import org.apache.fineract.portfolio.note.domain.NoteRepository;
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package org.apache.fineract.organisation.monetary.exception;
|
package org.apache.fineract.portfolio.loanproduct.exception;
|
||||||
|
|
||||||
import org.apache.fineract.infrastructure.core.exception.AbstractPlatformDomainRuleException;
|
import org.apache.fineract.infrastructure.core.exception.AbstractPlatformDomainRuleException;
|
||||||
|
|
||||||
+1
-1
@@ -40,7 +40,6 @@ import org.apache.fineract.infrastructure.entityaccess.service.FineractEntityAcc
|
|||||||
import org.apache.fineract.infrastructure.event.business.domain.loan.product.LoanProductCreateBusinessEvent;
|
import org.apache.fineract.infrastructure.event.business.domain.loan.product.LoanProductCreateBusinessEvent;
|
||||||
import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService;
|
import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService;
|
||||||
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
||||||
import org.apache.fineract.organisation.monetary.exception.InvalidCurrencyException;
|
|
||||||
import org.apache.fineract.portfolio.charge.domain.Charge;
|
import org.apache.fineract.portfolio.charge.domain.Charge;
|
||||||
import org.apache.fineract.portfolio.charge.domain.ChargeRepositoryWrapper;
|
import org.apache.fineract.portfolio.charge.domain.ChargeRepositoryWrapper;
|
||||||
import org.apache.fineract.portfolio.delinquency.domain.DelinquencyBucket;
|
import org.apache.fineract.portfolio.delinquency.domain.DelinquencyBucket;
|
||||||
@@ -58,6 +57,7 @@ import org.apache.fineract.portfolio.loanproduct.domain.AdvancedPaymentAllocatio
|
|||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct;
|
||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductPaymentAllocationRule;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductPaymentAllocationRule;
|
||||||
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRepository;
|
import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRepository;
|
||||||
|
import org.apache.fineract.portfolio.loanproduct.exception.InvalidCurrencyException;
|
||||||
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductCannotBeModifiedDueToNonClosedLoansException;
|
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductCannotBeModifiedDueToNonClosedLoansException;
|
||||||
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductDateException;
|
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductDateException;
|
||||||
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductNotFoundException;
|
import org.apache.fineract.portfolio.loanproduct.exception.LoanProductNotFoundException;
|
||||||
|
|||||||
-6
@@ -26,8 +26,6 @@ import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction;
|
|||||||
import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
|
import org.apache.fineract.portfolio.savings.domain.SavingsAccount;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
|
||||||
import org.springframework.data.repository.query.Param;
|
|
||||||
|
|
||||||
public interface NoteRepository extends JpaRepository<Note, Long>, JpaSpecificationExecutor<Note> {
|
public interface NoteRepository extends JpaRepository<Note, Long>, JpaSpecificationExecutor<Note> {
|
||||||
|
|
||||||
@@ -48,8 +46,4 @@ public interface NoteRepository extends JpaRepository<Note, Long>, JpaSpecificat
|
|||||||
List<Note> findBySavingsAccount(SavingsAccount savingAccount);
|
List<Note> findBySavingsAccount(SavingsAccount savingAccount);
|
||||||
|
|
||||||
Note findBySavingsAccountAndId(SavingsAccount savingAccount, Long id);
|
Note findBySavingsAccountAndId(SavingsAccount savingAccount, Long id);
|
||||||
|
|
||||||
@Query("select note from Note note where note.savingsTransaction.id = :savingsTransactionId")
|
|
||||||
List<Note> findBySavingsTransactionId(@Param("savingsTransactionId") Long savingsTransactionId);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user