feat(investment): interest voucher posting UI, home pending alert and day-end reminder
This commit is contained in:
@@ -175,6 +175,19 @@ export class InvestmentService {
|
||||
}
|
||||
|
||||
/** Coupon and 31 Mar / 30 Sep provision lines of a holding up to maturity (calculated, not posted). */
|
||||
/** Interest lines of all holdings that are due now or within the next few days. */
|
||||
getDueInterest(): Observable<InvestmentInterestDueDto[]> {
|
||||
return this.http.get<InvestmentInterestDueDto[]>('/investment/interest-postings/due');
|
||||
}
|
||||
|
||||
/** Posts one interest line (coupon / provision) with its JV voucher; the voucher number comes back as resourceIdentifier. */
|
||||
postInterest(purchaseId: number, body: object): Observable<{ resourceIdentifier?: string; transactionId?: string }> {
|
||||
return this.http.post<{ resourceIdentifier?: string; transactionId?: string }>(
|
||||
`/investment/purchases/${purchaseId}/interest-postings`,
|
||||
body
|
||||
);
|
||||
}
|
||||
|
||||
getInterestSchedule(purchaseId: number, asOnDate?: string): Observable<InvestmentInterestScheduleDto> {
|
||||
const params = asOnDate ? `?asOnDate=${encodeURIComponent(asOnDate)}` : '';
|
||||
return this.http.get<InvestmentInterestScheduleDto>(
|
||||
@@ -347,6 +360,30 @@ export interface InvestmentInterestRowDto {
|
||||
alreadyBooked: number;
|
||||
amount: number;
|
||||
due: boolean;
|
||||
/** Posted to GL: its JV voucher and GL transaction. */
|
||||
posted: boolean;
|
||||
voucherNo?: string;
|
||||
glTransactionId?: string;
|
||||
postedOnDate?: string;
|
||||
/** The next line to post and its date has come. */
|
||||
postable: boolean;
|
||||
/** Unposted and due within the reminder window (or past). */
|
||||
dueSoon: boolean;
|
||||
}
|
||||
|
||||
/** A holding's next interest line that is due (or due within the reminder window) — a task to post. */
|
||||
export interface InvestmentInterestDueDto {
|
||||
purchaseId: number;
|
||||
dealNo: string;
|
||||
certNo: string;
|
||||
scriptCode: string;
|
||||
scriptDesc: string;
|
||||
lineType: 'COUPON' | 'PROVISION';
|
||||
intDate: string;
|
||||
grossInterest: number;
|
||||
amount: number;
|
||||
postable: boolean;
|
||||
overdue: boolean;
|
||||
}
|
||||
|
||||
export interface InvestmentInterestScheduleDto {
|
||||
@@ -369,6 +406,10 @@ export interface InvestmentInterestScheduleDto {
|
||||
asOnDate: string;
|
||||
interestGlCode: string;
|
||||
interestGlName: string;
|
||||
bankGlAccountId: number;
|
||||
bankGlCode: string;
|
||||
bankGlName: string;
|
||||
status: string;
|
||||
rows: InvestmentInterestRowDto[];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user