gemcap-be-common 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -22,7 +22,7 @@ export interface IInvestorSummaryDataRow {
|
|
|
22
22
|
}
|
|
23
23
|
export declare class InvestorSummaryService {
|
|
24
24
|
private readonly loanChargesService;
|
|
25
|
-
private readonly
|
|
26
|
-
constructor(loanChargesService: LoanChargesService,
|
|
25
|
+
private readonly getReportsService;
|
|
26
|
+
constructor(loanChargesService: LoanChargesService, getReportsService: () => ReportsService);
|
|
27
27
|
getInvestorSummaryData(borrowerIds: string[], start: Date, end: Date): Promise<IInvestorSummaryDataRow[]>;
|
|
28
28
|
}
|
|
@@ -64,14 +64,15 @@ const emptySummary = {
|
|
|
64
64
|
};
|
|
65
65
|
class InvestorSummaryService {
|
|
66
66
|
loanChargesService;
|
|
67
|
-
|
|
68
|
-
constructor(loanChargesService,
|
|
67
|
+
getReportsService;
|
|
68
|
+
constructor(loanChargesService, getReportsService) {
|
|
69
69
|
this.loanChargesService = loanChargesService;
|
|
70
|
-
this.
|
|
70
|
+
this.getReportsService = getReportsService;
|
|
71
71
|
}
|
|
72
72
|
async getInvestorSummaryData(borrowerIds, start, end) {
|
|
73
73
|
const data = [];
|
|
74
|
-
const
|
|
74
|
+
const reportsService = this.getReportsService();
|
|
75
|
+
const borrowerSummaries = await reportsService.generateBankPortfolioSummary(borrowerIds, end);
|
|
75
76
|
await Promise.all(borrowerIds.map(async (borrowerId) => {
|
|
76
77
|
const borrower = await Borrower_model_1.BorrowerModel.findById(borrowerId).lean();
|
|
77
78
|
const borrowerProducts = await this.loanChargesService.getLoanProducts(borrowerId);
|
|
@@ -93,7 +94,7 @@ class InvestorSummaryService {
|
|
|
93
94
|
const inventoryNet = productSummary.inventoryNet;
|
|
94
95
|
const otherCollateral = new decimal_js_1.default(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).add(productSummary.realEstate).add(productSummary.bootCollateral).toNumber();
|
|
95
96
|
const otherReserves = isRevolver ? productSummary.otherReserves : 0;
|
|
96
|
-
const collateralAdjustments = isRevolver ? await
|
|
97
|
+
const collateralAdjustments = isRevolver ? await reportsService.getCollateralAdjustmentsForLastSignedBBC(borrowerId, end) : 0;
|
|
97
98
|
const otherReservesAndAdjustments = new decimal_js_1.default(otherReserves).add(collateralAdjustments).toNumber();
|
|
98
99
|
const totalRevolver = new decimal_js_1.default(productSummary.totalCollateral).add(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).toNumber();
|
|
99
100
|
const netAvailable = new decimal_js_1.default(inventoryNet).add(ARNet).add(otherCollateral).add(otherReservesAndAdjustments).minus(balanceEnd).toNumber();
|
|
@@ -89,13 +89,14 @@ export class InvestorSummaryService {
|
|
|
89
89
|
|
|
90
90
|
constructor(
|
|
91
91
|
private readonly loanChargesService: LoanChargesService,
|
|
92
|
-
private readonly
|
|
92
|
+
private readonly getReportsService: () => ReportsService,
|
|
93
93
|
) {
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
async getInvestorSummaryData(borrowerIds: string[], start: Date, end: Date) {
|
|
97
97
|
const data: IInvestorSummaryDataRow[] = [];
|
|
98
|
-
const
|
|
98
|
+
const reportsService = this.getReportsService();
|
|
99
|
+
const borrowerSummaries = await reportsService.generateBankPortfolioSummary(borrowerIds, end);
|
|
99
100
|
await Promise.all(borrowerIds.map(async (borrowerId) => {
|
|
100
101
|
const borrower = await BorrowerModel.findById(borrowerId).lean();
|
|
101
102
|
const borrowerProducts = await this.loanChargesService.getLoanProducts(borrowerId);
|
|
@@ -118,7 +119,7 @@ export class InvestorSummaryService {
|
|
|
118
119
|
const inventoryNet = productSummary.inventoryNet;
|
|
119
120
|
const otherCollateral = new Decimal(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).add(productSummary.realEstate).add(productSummary.bootCollateral).toNumber();
|
|
120
121
|
const otherReserves = isRevolver ? productSummary.otherReserves : 0;
|
|
121
|
-
const collateralAdjustments = isRevolver ? await
|
|
122
|
+
const collateralAdjustments = isRevolver ? await reportsService.getCollateralAdjustmentsForLastSignedBBC(borrowerId, end) : 0;
|
|
122
123
|
const otherReservesAndAdjustments = new Decimal(otherReserves).add(collateralAdjustments).toNumber();
|
|
123
124
|
const totalRevolver = new Decimal(productSummary.totalCollateral).add(productSummary.equipmentCollateral).add(productSummary.intellectualProperty).toNumber();
|
|
124
125
|
const netAvailable = new Decimal(inventoryNet).add(ARNet).add(otherCollateral).add(otherReservesAndAdjustments).minus(balanceEnd).toNumber();
|