mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
feat(server): financial reports meta
This commit is contained in:
@@ -72,5 +72,6 @@ export class VendorBalanceSummaryApplication {
|
||||
*/
|
||||
public pdf(tenantId: number, query: IVendorBalanceSummaryQuery) {
|
||||
return this.vendorBalanceSummaryPdf.pdf(tenantId, query);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
import moment from 'moment';
|
||||
import { Inject, Service } from 'typedi';
|
||||
import { FinancialSheetMeta } from '../FinancialSheetMeta';
|
||||
import {
|
||||
IVendorBalanceSummaryMeta,
|
||||
IVendorBalanceSummaryQuery,
|
||||
} from '@/interfaces';
|
||||
|
||||
@Service()
|
||||
export class VendorBalanceSummaryMeta {
|
||||
@Inject()
|
||||
private financialSheetMeta: FinancialSheetMeta;
|
||||
|
||||
/**
|
||||
* Retrieves the vendor balance summary meta.
|
||||
* @param {number} tenantId -
|
||||
* @returns {IBalanceSheetMeta}
|
||||
*/
|
||||
public async meta(
|
||||
tenantId: number,
|
||||
query: IVendorBalanceSummaryQuery
|
||||
): Promise<IVendorBalanceSummaryMeta> {
|
||||
const commonMeta = await this.financialSheetMeta.meta(tenantId);
|
||||
const formattedAsDate = moment(query.asDate).format('YYYY/MM/DD');
|
||||
|
||||
return {
|
||||
...commonMeta,
|
||||
sheetName: 'Vendor Balance Summary',
|
||||
formattedAsDate,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -22,13 +22,13 @@ export class VendorBalanceSummaryPdf {
|
||||
query: IVendorBalanceSummaryQuery
|
||||
): Promise<Buffer> {
|
||||
const table = await this.vendorBalanceSummaryTable.table(tenantId, query);
|
||||
const sheetName = 'Sales By Items';
|
||||
|
||||
|
||||
return this.tableSheetPdf.convertToPdf(
|
||||
tenantId,
|
||||
table.table,
|
||||
sheetName,
|
||||
table.meta.baseCurrency
|
||||
table.meta.sheetName,
|
||||
table.meta.formattedAsDate
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,15 +12,21 @@ import { VendorBalanceSummaryReport } from './VendorBalanceSummary';
|
||||
import Ledger from '@/services/Accounting/Ledger';
|
||||
import VendorBalanceSummaryRepository from './VendorBalanceSummaryRepository';
|
||||
import { Tenant } from '@/system/models';
|
||||
import { JournalSheetMeta } from '../JournalSheet/JournalSheetMeta';
|
||||
|
||||
import { VendorBalanceSummaryMeta } from './VendorBalanceSummaryMeta';
|
||||
|
||||
export class VendorBalanceSummaryService
|
||||
implements IVendorBalanceSummaryService
|
||||
{
|
||||
@Inject()
|
||||
tenancy: TenancyService;
|
||||
private tenancy: TenancyService;
|
||||
|
||||
@Inject()
|
||||
reportRepo: VendorBalanceSummaryRepository;
|
||||
private reportRepo: VendorBalanceSummaryRepository;
|
||||
|
||||
@Inject()
|
||||
private vendorBalanceSummaryMeta: VendorBalanceSummaryMeta;
|
||||
|
||||
/**
|
||||
* Defaults balance sheet filter query.
|
||||
@@ -43,6 +49,7 @@ export class VendorBalanceSummaryService
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Retrieve the vendors ledger entrjes.
|
||||
* @param {number} tenantId -
|
||||
* @param {Date|string} date -
|
||||
@@ -97,11 +104,13 @@ export class VendorBalanceSummaryService
|
||||
filter,
|
||||
tenant.metadata.baseCurrency
|
||||
);
|
||||
// Retrieve the vendor balance summary meta.
|
||||
const meta = await this.vendorBalanceSummaryMeta.meta(tenantId, filter);
|
||||
|
||||
return {
|
||||
data: reportInstance.reportData(),
|
||||
query: filter,
|
||||
meta: {}
|
||||
meta
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ export class VendorBalanceSummaryTableInjectable {
|
||||
|
||||
const { data, meta } =
|
||||
await this.vendorBalanceSummarySheet.vendorBalanceSummary(
|
||||
|
||||
tenantId,
|
||||
query
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user