Loan Repayment Schedule with Export to PDF option

This commit is contained in:
Jose Alberto Hernandez
2024-07-21 17:32:40 -06:00
committed by Jose Alberto Hernandez
parent 44aa8cdc77
commit e810ce1e5e
24 changed files with 455 additions and 88 deletions
@@ -1,3 +1,4 @@
import { Currency } from 'app/shared/models/general.model';
export interface DelinquencyRange {
id: number;
@@ -49,3 +50,69 @@ export interface DelinquencyPausePeriod {
pausePeriodStart: number[];
pausePeriodEnd: number[];
}
export interface RepaymentSchedule {
currency: Currency;
loanTermInDays: number;
totalPrincipalDisbursed: number;
totalPrincipalExpected: number;
totalPrincipalPaid: number;
totalInterestCharged: number;
totalFeeChargesCharged: number;
totalPenaltyChargesCharged: number;
totalWaived: number;
totalWrittenOff: number;
totalRepaymentExpected: number;
totalRepayment: number;
totalPaidInAdvance: number;
totalPaidLate: number;
totalOutstanding: number;
totalCredits: number;
periods: RepaymentSchedulePeriod[];
}
export interface RepaymentSchedulePeriod {
dueDate: number[];
principalDisbursed?: number;
principalLoanBalanceOutstanding: number;
feeChargesDue: number;
feeChargesPaid: number;
feeChargesOutstanding: number;
totalOriginalDueForPeriod: number;
totalDueForPeriod: number;
totalPaidForPeriod: number;
totalOutstandingForPeriod: number;
totalOverdue?: number;
totalActualCostOfLoanForPeriod: number;
totalCredits: number;
period?: number;
fromDate?: number[];
complete?: boolean;
isAdditional?: boolean;
downPaymentPeriod?: boolean;
daysInPeriod?: number;
principalOriginalDue?: number;
principalDue?: number;
principalPaid?: number;
principalWrittenOff?: number;
principalOutstanding?: number;
interestOriginalDue?: number;
interestDue?: number;
interestPaid?: number;
interestWaived?: number;
interestWrittenOff?: number;
interestOutstanding?: number;
feeChargesWaived?: number;
feeChargesWrittenOff?: number;
penaltyChargesDue?: number;
penaltyChargesPaid?: number;
penaltyChargesWaived?: number;
penaltyChargesWrittenOff?: number;
penaltyChargesOutstanding?: number;
totalPaidInAdvanceForPeriod?: number;
totalPaidLateForPeriod?: number;
totalWaivedForPeriod?: number;
totalWrittenOffForPeriod?: number;
totalInstallmentAmountForPeriod?: number;
}