@tomei/finance
Version:
NestJS package for finance module
50 lines • 2.5 kB
TypeScript
import { IAddress, IRepositoryBase, IPerson, LoginUserBase } from '@tomei/general';
import FinanceCustomerModel from '../models/customer.entity';
import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
import { FinanceCustomerRepository } from './finance-customer.repository';
import Account from '../account/account';
export default abstract class FinanceCustomerBase extends AccountSystemEntity implements IPerson {
CustomerId: string;
CustSystemCode: string;
CustSystemRefId: string;
AccSystemRefId: string;
PostedToAccSystemYN: string;
PostedById: string;
protected abstract ParentARAccountNo: string;
protected abstract ParentAPAccountNo: string;
protected abstract ARAccountNo: string;
protected abstract APAccountNo: string;
protected abstract _ObjectType: string;
abstract FullName: string;
abstract IDNo: string;
abstract IDType: string;
abstract ContactNo: string;
abstract Email: string;
abstract DefaultAddress: IAddress;
private _AccountReceivable;
private _AccountPayable;
protected _DbTransaction: any;
private static _AccountRepository;
private static _LedgerTransactionRepository;
getDetails(): Promise<{
FullName: string;
IDNo: string;
IDType: string;
Email: string;
ContactNo: string;
}>;
protected static _FinanceCustomerRepository: FinanceCustomerRepository;
RepositoryBase: IRepositoryBase<any>;
constructor(custSystemRefId?: string, custSystemCode?: string, sFinanceCompanyId?: string);
TaxIdentificationNo: string;
static initCustomer<C extends FinanceCustomerBase>(this: new () => C, custSystemRefId: string, custSystemCode: string, sFinanceCompanyId: string, dbTransaction?: any): Promise<C>;
getAccountReceivable(dbTransaction?: any): Promise<Account>;
getAccountPayable(dbTransaction?: any): Promise<Account>;
abstract getBillingAddress(params: any): Promise<IAddress>;
init(person: LoginUserBase): void;
save(accSystemRefId: string, custSystemCode: string, custSystemRefId: string, dbTransaction?: any): Promise<FinanceCustomerModel>;
update(accSystemRefId?: string, dbTransaction?: any): Promise<this>;
static isFinanceCustomerExist(custSystemRefId: string, custSystemCode: string, sFinanceCompanyId: string, dbTransaction?: any): Promise<boolean>;
getOutstandingBalance(dbTransaction: any): Promise<number>;
}
//# sourceMappingURL=customer.d.ts.map