feat: implement cashier dashboard, dividend dashboards, share accounts views, and checker tasks
This commit is contained in:
@@ -44,6 +44,26 @@ export class AccountingService {
|
||||
return this.http.get('/accounting/profitandloss', { params: httpParams });
|
||||
}
|
||||
|
||||
/**
|
||||
* How much profit a share dividend may actually be declared out of — net profit reduced by the
|
||||
* statutory appropriations that legally precede a dividend (Statutory Reserve Fund, education
|
||||
* fund) and by dividends already declared for other share products over an overlapping period.
|
||||
* @param {string} fromDate Period start, yyyy-MM-dd.
|
||||
* @param {string} toDate Period end, yyyy-MM-dd.
|
||||
* @param {string} excludeProductId Leave this product's own declarations out of `alreadyDeclared`
|
||||
* (its overlapping declaration is separately blocked outright, so counting it would double up).
|
||||
* @returns {Observable<any>} `{ netProfit, statutoryReserveAmount, educationFundAmount,
|
||||
* distributableProfit, alreadyDeclared, availableForDeclaration, maximumRatePercentage,
|
||||
* existingDeclarations[] }`.
|
||||
*/
|
||||
getDistributableProfit(fromDate: string, toDate: string, excludeProductId?: string): Observable<any> {
|
||||
let httpParams = new HttpParams().set('fromDate', fromDate).set('toDate', toDate);
|
||||
if (excludeProductId) {
|
||||
httpParams = httpParams.set('excludeProductId', excludeProductId);
|
||||
}
|
||||
return this.http.get('/accounting/distributable-profit', { params: httpParams });
|
||||
}
|
||||
|
||||
/**
|
||||
* Total share dividend actually paid to members in a date range — derived from the Dividend
|
||||
* Payable GL account's own ledger (no separate "Dividend Paid" account needed).
|
||||
|
||||
Reference in New Issue
Block a user