FINERACT-1943 Fix submitted on date references

This commit is contained in:
Mkkor
2023-08-07 13:42:54 +02:00
committed by Adam Saghy
parent 5b3d088f7b
commit a04c8da659
7 changed files with 297 additions and 116 deletions
@@ -149,6 +149,25 @@ public final class SavingsAccountTransaction extends AbstractPersistableCustom {
this.createdDate = null;
}
private SavingsAccountTransaction(final SavingsAccount savingsAccount, final Office office, final PaymentDetail paymentDetail,
final Integer typeOf, final LocalDate transactionLocalDate, final LocalDateTime createdDate, final BigDecimal amount,
final boolean isReversed, final AppUser appUser, final boolean isManualTransaction, final Boolean lienTransaction,
final String refNo) {
this.savingsAccount = savingsAccount;
this.office = office;
this.typeOf = typeOf;
this.dateOf = transactionLocalDate;
this.amount = amount;
this.reversed = isReversed;
this.paymentDetail = paymentDetail;
this.createdDate = createdDate;
this.submittedOnDate = DateUtils.getBusinessLocalDate();
this.appUser = appUser;
this.isManualTransaction = isManualTransaction;
this.lienTransaction = lienTransaction;
this.refNo = refNo;
}
public static SavingsAccountTransaction deposit(final SavingsAccount savingsAccount, final Office office,
final PaymentDetail paymentDetail, final LocalDate date, final Money amount, LocalDateTime createdDate, final AppUser appUser,
final String refNo) {
@@ -226,14 +245,6 @@ public final class SavingsAccountTransaction extends AbstractPersistableCustom {
isReversed, appUser, isManualTransaction, lienTransaction, refNo);
}
public static SavingsAccountTransaction from(final Integer transactionTypeEnum, final LocalDate transactionDate,
final BigDecimal amount, final boolean isReversed, final BigDecimal runningBalance, final BigDecimal cumulativeBalance,
final LocalDate balanceEndDate, final Integer balanceNumberOfDays, final BigDecimal overdraftAmount,
final LocalDateTime createdDate, final boolean isManualTransaction, final Long releaseIdOfHoldAmountTransaction) {
return new SavingsAccountTransaction(transactionTypeEnum, transactionDate, amount, isReversed, runningBalance, cumulativeBalance,
balanceEndDate, balanceNumberOfDays, overdraftAmount, createdDate, isManualTransaction, releaseIdOfHoldAmountTransaction);
}
public static SavingsAccountTransaction waiver(final SavingsAccount savingsAccount, final Office office, final LocalDate date,
final Money amount, final AppUser appUser) {
final boolean isReversed = false;
@@ -336,44 +347,6 @@ public final class SavingsAccountTransaction extends AbstractPersistableCustom {
isManualTransaction, lienTransaction, refNo);
}
private SavingsAccountTransaction(final SavingsAccount savingsAccount, final Office office, final PaymentDetail paymentDetail,
final Integer typeOf, final LocalDate transactionLocalDate, final LocalDateTime createdDate, final BigDecimal amount,
final boolean isReversed, final AppUser appUser, final boolean isManualTransaction, final Boolean lienTransaction,
final String refNo) {
this.savingsAccount = savingsAccount;
this.office = office;
this.typeOf = typeOf;
this.dateOf = transactionLocalDate;
this.amount = amount;
this.reversed = isReversed;
this.paymentDetail = paymentDetail;
this.createdDate = createdDate;
this.submittedOnDate = DateUtils.getBusinessLocalDate();
this.appUser = appUser;
this.isManualTransaction = isManualTransaction;
this.lienTransaction = lienTransaction;
this.refNo = refNo;
}
private SavingsAccountTransaction(final Integer transactionTypeEnum, final LocalDate transactionDate, final BigDecimal amount,
final boolean isReversed, final BigDecimal runningBalance, final BigDecimal cumulativeBalance, final LocalDate balanceEndDate,
final Integer balanceNumberOfDays, final BigDecimal overdraftAmount, final LocalDateTime createdDate,
final boolean isManualTransaction, final Long releaseIdOfHoldAmountTransaction) {
this.typeOf = transactionTypeEnum;
this.dateOf = transactionDate;
this.amount = amount;
this.reversed = isReversed;
this.runningBalance = runningBalance;
this.cumulativeBalance = cumulativeBalance;
this.balanceEndDate = balanceEndDate;
this.balanceNumberOfDays = balanceNumberOfDays;
this.overdraftAmount = overdraftAmount;
this.createdDate = createdDate;
this.submittedOnDate = DateUtils.getBusinessLocalDate();
this.isManualTransaction = isManualTransaction;
this.releaseIdOfHoldAmountTransaction = releaseIdOfHoldAmountTransaction;
}
public static SavingsAccountTransaction holdAmount(final SavingsAccount savingsAccount, final Office office,
final PaymentDetail paymentDetail, final LocalDate date, final Money amount, LocalDateTime createdDate, final AppUser appUser,
final Boolean lienTransaction) {
@@ -921,6 +894,10 @@ public final class SavingsAccountTransaction extends AbstractPersistableCustom {
return this.createdDate;
}
public LocalDate getSubmittedOnDate() {
return submittedOnDate;
}
public boolean getIsManualTransaction() {
return this.isManualTransaction;
}
@@ -1131,6 +1131,7 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
public static final String TO_TRANSFER_REVERSED = "toTransferReversed";
public static final String TO_TRANSFER_DESCRIPTION = "toTransferDescription";
public static final String SUBMITTED_BY_USERNAME = "submittedByUsername";
public static final String SUBMITTED_ON_DATE = "submittedOnDate";
private final String schemaSql;
SavingsAccountTransactionsMapper() {
@@ -1139,6 +1140,7 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
sqlBuilder.append("tr.id as transactionId, tr.transaction_type_enum as transactionType, ");
sqlBuilder.append("tr.transaction_date as transactionDate, tr.amount as transactionAmount,");
sqlBuilder.append("tr.running_balance_derived as runningBalance, tr.is_reversed as reversed,");
sqlBuilder.append("tr.submitted_on_date as submittedOnDate,");
sqlBuilder.append("fromtran.id as fromTransferId, fromtran.is_reversed as fromTransferReversed,");
sqlBuilder.append("fromtran.transaction_date as fromTransferDate, fromtran.amount as fromTransferAmount,");
sqlBuilder.append("fromtran.description as fromTransferDescription,");
@@ -1176,6 +1178,7 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
final SavingsAccountTransactionEnumData transactionType = SavingsEnumerations.transactionType(transactionTypeInt);
final LocalDate date = JdbcSupport.getLocalDate(rs, TRANSACTION_DATE);
final LocalDate submittedOnDate = JdbcSupport.getLocalDate(rs, SUBMITTED_ON_DATE);
final BigDecimal amount = JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, TRANSACTION_AMOUNT);
final BigDecimal outstandingChargeAmount = null;
final BigDecimal runningBalance = JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, RUNNING_BALANCE);
@@ -1233,7 +1236,8 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
final String submittedByUsername = rs.getString(SUBMITTED_BY_USERNAME);
final String note = null;
return SavingsAccountTransactionData.create(id, transactionType, paymentDetailData, savingsId, accountNo, date, currency,
amount, outstandingChargeAmount, runningBalance, reversed, transfer, postInterestAsOn, submittedByUsername, note);
amount, outstandingChargeAmount, runningBalance, reversed, transfer, postInterestAsOn, submittedByUsername, note,
submittedOnDate);
}
}
@@ -1662,9 +1666,10 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
final boolean postInterestAsOn = false;
final String submittedByUsername = null;
final String note = null;
final LocalDate submittedOnDate = DateUtils.getBusinessLocalDate();
return SavingsAccountTransactionData.create(savingsId, transactionType, paymentDetailData, savingsId, accountNo, duedate,
currency, dueamount, outstandingChargeAmount, runningBalance, false, transfer, postInterestAsOn, submittedByUsername,
note);
note, submittedOnDate);
}
}
@@ -351,7 +351,7 @@ public class SavingsAccountReadPlatformServiceImpl implements SavingsAccountRead
sqlBuilder.append("sp.accounting_type as accountingType, ");
sqlBuilder.append("tr.id as transactionId, tr.transaction_type_enum as transactionType, ");
sqlBuilder.append("tr.transaction_date as transactionDate, tr.amount as transactionAmount,");
sqlBuilder.append("tr.created_date as createdDate,tr.cumulative_balance_derived as cumulativeBalance,");
sqlBuilder.append("tr.submitted_on_date as transSubmittedOnDate,tr.cumulative_balance_derived as cumulativeBalance,");
sqlBuilder.append("tr.running_balance_derived as runningBalance, tr.is_reversed as reversed,");
sqlBuilder.append("tr.balance_end_date_derived as balanceEndDate, tr.overdraft_amount_derived as overdraftAmount,");
sqlBuilder.append("tr.is_manual as manualTransaction,tr.office_id as officeId, ");
@@ -600,7 +600,7 @@ public class SavingsAccountReadPlatformServiceImpl implements SavingsAccountRead
final LocalDate date = JdbcSupport.getLocalDate(rs, "transactionDate");
final LocalDate balanceEndDate = JdbcSupport.getLocalDate(rs, "balanceEndDate");
final LocalDate transSubmittedOnDate = JdbcSupport.getLocalDate(rs, "createdDate");
final LocalDate transSubmittedOnDate = JdbcSupport.getLocalDate(rs, "transSubmittedOnDate");
final BigDecimal amount = JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "transactionAmount");
final BigDecimal overdraftAmount = JdbcSupport.getBigDecimalDefaultToZeroIfNull(rs, "overdraftAmount");
final BigDecimal outstandingChargeAmount = null;
@@ -1324,7 +1324,7 @@ public class SavingsAccountReadPlatformServiceImpl implements SavingsAccountRead
sqlBuilder.append("tr.transaction_date as transactionDate, tr.amount as transactionAmount,");
sqlBuilder.append(" tr.release_id_of_hold_amount as releaseTransactionId,");
sqlBuilder.append(" tr.reason_for_block as reasonForBlock,");
sqlBuilder.append("tr.created_date as submittedOnDate,");
sqlBuilder.append(" tr.submitted_on_date as submittedOnDate,");
sqlBuilder.append(" au.username as submittedByUsername, ");
sqlBuilder.append(" nt.note as transactionNote, ");
sqlBuilder.append("tr.running_balance_derived as runningBalance, tr.is_reversed as reversed,");