WIP: customer/vendor balance summary.

This commit is contained in:
a.bouhuolia
2021-05-05 21:41:10 +02:00
parent 8ca3509f03
commit 97d12d4294
18 changed files with 674 additions and 176 deletions

View File

@@ -0,0 +1,49 @@
import { INumberFormatQuery } from './FinancialStatements';
export interface IContactBalanceSummaryQuery {
asDate: Date;
numberFormat: INumberFormatQuery;
comparison: {
percentageOfColumn: boolean;
};
noneTransactions: boolean;
noneZero: boolean;
}
export interface IContactBalanceSummaryAmount {
amount: number;
formattedAmount: string;
currencyCode: string;
}
export interface IContactBalanceSummaryPercentage {
amount: number;
formattedAmount: string;
}
export interface IContactBalanceSummaryContact {
total: IContactBalanceSummaryAmount;
percentageOfColumn?: IContactBalanceSummaryPercentage;
}
export interface IContactBalanceSummaryTotal {
total: IContactBalanceSummaryAmount;
percentageOfColumn?: IContactBalanceSummaryPercentage;
}
export interface ICustomerBalanceSummaryData {
customers: IContactBalanceSummaryContact[];
total: IContactBalanceSummaryTotal;
}
export interface ICustomerBalanceSummaryStatement {
data: ICustomerBalanceSummaryData;
columns: {};
query: IContactBalanceSummaryQuery;
}
export interface ICustomerBalanceSummaryService {
customerBalanceSummary(
tenantId: number,
query: IContactBalanceSummaryQuery,
): Promise<ICustomerBalanceSummaryStatement>;
}

View File

@@ -1,24 +1,20 @@
import { INumberFormatQuery } from './FinancialStatements';
export interface ICustomerBalanceSummaryQuery {
asDate: Date;
numberFormat: INumberFormatQuery;
comparison: {
percentageOfColumn: boolean;
};
noneTransactions: boolean;
noneZero: boolean;
}
import {
IContactBalanceSummaryQuery,
IContactBalanceSummaryAmount,
IContactBalanceSummaryPercentage,
IContactBalanceSummaryTotal
} from './ContactBalanceSummary';
export interface ICustomerBalanceSummaryAmount {
amount: number;
formattedAmount: string;
currencyCode: string;
}
export interface ICustomerBalanceSummaryPercentage {
amount: number;
formattedAmount: string;
}
export interface ICustomerBalanceSummaryQuery
extends IContactBalanceSummaryQuery {}
export interface ICustomerBalanceSummaryAmount
extends IContactBalanceSummaryAmount {}
export interface ICustomerBalanceSummaryPercentage
extends IContactBalanceSummaryPercentage {}
export interface ICustomerBalanceSummaryCustomer {
customerName: string;
@@ -26,7 +22,7 @@ export interface ICustomerBalanceSummaryCustomer {
percentageOfColumn?: ICustomerBalanceSummaryPercentage;
}
export interface ICustomerBalanceSummaryTotal {
export interface ICustomerBalanceSummaryTotal extends IContactBalanceSummaryTotal {
total: ICustomerBalanceSummaryAmount;
percentageOfColumn?: ICustomerBalanceSummaryPercentage;
}
@@ -45,6 +41,6 @@ export interface ICustomerBalanceSummaryStatement {
export interface ICustomerBalanceSummaryService {
customerBalanceSummary(
tenantId: number,
query: ICustomerBalanceSummaryQuery,
query: ICustomerBalanceSummaryQuery
): Promise<ICustomerBalanceSummaryStatement>;
}

View File

@@ -0,0 +1,15 @@
export interface IColumnMapperMeta {
key: string;
accessor?: string;
value?: string;
}
export interface ITableCell {
value: string;
key: string;
}
export type ITableRow = {
rows: ITableCell[];
};

View File

@@ -0,0 +1,50 @@
import { INumberFormatQuery } from './FinancialStatements';
export interface IVendorBalanceSummaryQuery {
asDate: Date;
numberFormat: INumberFormatQuery;
comparison: {
percentageOfColumn: boolean;
};
noneTransactions: boolean;
noneZero: boolean;
}
export interface IVendorBalanceSummaryAmount {
amount: number;
formattedAmount: string;
currencyCode: string;
}
export interface IVendorBalanceSummaryPercentage {
amount: number;
formattedAmount: string;
}
export interface IVendorBalanceSummaryVendor {
vendorName: string;
total: IVendorBalanceSummaryAmount;
percentageOfColumn?: IVendorBalanceSummaryPercentage;
}
export interface IVendorBalanceSummaryTotal {
total: IVendorBalanceSummaryAmount;
percentageOfColumn?: IVendorBalanceSummaryPercentage;
}
export interface IVendorBalanceSummaryData {
vendors: IVendorBalanceSummaryVendor[];
total: IVendorBalanceSummaryTotal;
}
export interface IVendorBalanceSummaryStatement {
data: IVendorBalanceSummaryData;
columns: {};
query: IVendorBalanceSummaryQuery;
}
export interface IVendorBalanceSummaryService {
vendorBalanceSummary(
tenantId: number,
query: IVendorBalanceSummaryQuery,
): Promise<IVendorBalanceSummaryStatement>;
}

View File

@@ -44,4 +44,7 @@ export * from './Setup'
export * from './IInventoryValuationSheet';
export * from './SalesByItemsSheet';
export * from './CustomerBalanceSummary';
export * from './TransactionsByCustomers';
export * from './VendorBalanceSummary';
export * from './ContactBalanceSummary';
export * from './TransactionsByCustomers';
export * from './Table';