mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-14 20:00:33 +00:00
176 lines
3.8 KiB
TypeScript
176 lines
3.8 KiB
TypeScript
import { Knex } from 'knex';
|
|
import {
|
|
CommonMailOptions,
|
|
CommonMailOptionsDTO,
|
|
ISystemUser,
|
|
} from '@/interfaces';
|
|
import { ILedgerEntry } from './Ledger';
|
|
import { ISaleInvoice } from './SaleInvoice';
|
|
|
|
export interface IPaymentReceive {
|
|
id?: number;
|
|
customerId: number;
|
|
paymentDate: Date;
|
|
amount: number;
|
|
currencyCode: string;
|
|
exchangeRate: number;
|
|
referenceNo: string;
|
|
depositAccountId: number;
|
|
paymentReceiveNo: string;
|
|
statement: string;
|
|
entries: IPaymentReceiveEntry[];
|
|
userId: number;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
localAmount?: number;
|
|
branchId?: number;
|
|
}
|
|
export interface IPaymentReceiveCreateDTO {
|
|
customerId: number;
|
|
paymentDate: Date;
|
|
amount: number;
|
|
exchangeRate: number;
|
|
referenceNo: string;
|
|
depositAccountId: number;
|
|
paymentReceiveNo?: string;
|
|
statement: string;
|
|
entries: IPaymentReceiveEntryDTO[];
|
|
|
|
branchId?: number;
|
|
}
|
|
|
|
export interface IPaymentReceiveEditDTO {
|
|
customerId: number;
|
|
paymentDate: Date;
|
|
amount: number;
|
|
exchangeRate: number;
|
|
referenceNo: string;
|
|
depositAccountId: number;
|
|
paymentReceiveNo?: string;
|
|
statement: string;
|
|
entries: IPaymentReceiveEntryDTO[];
|
|
branchId?: number;
|
|
}
|
|
|
|
export interface IPaymentReceiveEntry {
|
|
id?: number;
|
|
paymentReceiveId: number;
|
|
invoiceId: number;
|
|
paymentAmount: number;
|
|
|
|
invoice?: ISaleInvoice;
|
|
}
|
|
|
|
export interface IPaymentReceiveEntryDTO {
|
|
id?: number;
|
|
index: number;
|
|
paymentReceiveId: number;
|
|
invoiceId: number;
|
|
paymentAmount: number;
|
|
}
|
|
|
|
export interface IPaymentReceivesFilter extends IDynamicListFilterDTO {
|
|
stringifiedFilterRoles?: string;
|
|
}
|
|
|
|
export interface IPaymentReceivePageEntry {
|
|
invoiceId: number;
|
|
entryType: string;
|
|
invoiceNo: string;
|
|
dueAmount: number;
|
|
amount: number;
|
|
totalPaymentAmount: number;
|
|
paymentAmount: number;
|
|
currencyCode: string;
|
|
date: Date | string;
|
|
}
|
|
|
|
export interface IPaymentReceiveEditPage {
|
|
paymentReceive: IPaymentReceive;
|
|
entries: IPaymentReceivePageEntry[];
|
|
}
|
|
|
|
export interface IPaymentsReceiveService {
|
|
validateCustomerHasNoPayments(
|
|
tenantId: number,
|
|
customerId: number
|
|
): Promise<void>;
|
|
}
|
|
|
|
export interface IPaymentReceiveSmsDetails {
|
|
customerName: string;
|
|
customerPhoneNumber: string;
|
|
smsMessage: string;
|
|
}
|
|
|
|
export interface IPaymentReceiveCreatingPayload {
|
|
tenantId: number;
|
|
paymentReceiveDTO: IPaymentReceiveCreateDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IPaymentReceiveCreatedPayload {
|
|
tenantId: number;
|
|
paymentReceive: IPaymentReceive;
|
|
paymentReceiveId: number;
|
|
authorizedUser: ISystemUser;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IPaymentReceiveEditedPayload {
|
|
tenantId: number;
|
|
paymentReceiveId: number;
|
|
paymentReceive: IPaymentReceive;
|
|
oldPaymentReceive: IPaymentReceive;
|
|
authorizedUser: ISystemUser;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IPaymentReceiveEditingPayload {
|
|
tenantId: number;
|
|
oldPaymentReceive: IPaymentReceive;
|
|
paymentReceiveDTO: IPaymentReceiveEditDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IPaymentReceiveDeletingPayload {
|
|
tenantId: number;
|
|
oldPaymentReceive: IPaymentReceive;
|
|
trx: Knex.Transaction;
|
|
}
|
|
export interface IPaymentReceiveDeletedPayload {
|
|
tenantId: number;
|
|
paymentReceiveId: number;
|
|
oldPaymentReceive: IPaymentReceive;
|
|
authorizedUser: ISystemUser;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export enum PaymentReceiveAction {
|
|
Create = 'Create',
|
|
Edit = 'Edit',
|
|
Delete = 'Delete',
|
|
View = 'View',
|
|
NotifyBySms = 'NotifyBySms',
|
|
}
|
|
|
|
export type IPaymentReceiveGLCommonEntry = Pick<
|
|
ILedgerEntry,
|
|
| 'debit'
|
|
| 'credit'
|
|
| 'currencyCode'
|
|
| 'exchangeRate'
|
|
| 'transactionId'
|
|
| 'transactionType'
|
|
| 'transactionNumber'
|
|
| 'referenceNumber'
|
|
| 'date'
|
|
| 'userId'
|
|
| 'createdAt'
|
|
| 'branchId'
|
|
>;
|
|
|
|
export interface PaymentReceiveMailOpts extends CommonMailOptions {}
|
|
|
|
export interface PaymentReceiveMailOptsDTO extends CommonMailOptionsDTO {}
|