feat: KYC document update, FIU & AML recurring alerts integration, Sponsor DD revoke workflow, and TDS reports
This commit is contained in:
@@ -35,7 +35,7 @@ import {
|
||||
tdsDeducteeOf,
|
||||
tdsModeFor
|
||||
} from '../letter-mgmt/certificates/form-15gh/tds-15gh.compute';
|
||||
import { TdsChallan, TdsDeductee, tdsChallans, tdsDeductees } from './tds-reports-data';
|
||||
import { TdsChallan, TdsDeductee, tdsChallans, tdsDeductees, tdsDeducteesVersion } from './tds-reports-data';
|
||||
|
||||
// ─────────────────────────────── Filtering ───────────────────────────────
|
||||
|
||||
@@ -116,7 +116,10 @@ let rowCacheKey = '';
|
||||
let rowCache: TdsInterestRow[] = [];
|
||||
|
||||
export function tdsInterestRowsForFy(fy: string): TdsInterestRow[] {
|
||||
if (rowCacheKey === fy) {
|
||||
// Keyed on the data set as well as the year: the rows are memoised, and a fresh load would
|
||||
// otherwise keep serving the previous customer's figures under the same financial year.
|
||||
const key = fy + '|' + tdsDeducteesVersion;
|
||||
if (rowCacheKey === key) {
|
||||
return rowCache;
|
||||
}
|
||||
|
||||
@@ -190,7 +193,7 @@ export function tdsInterestRowsForFy(fy: string): TdsInterestRow[] {
|
||||
}
|
||||
|
||||
rows.sort((a, b) => b.tdsApplicableInterest - a.tdsApplicableInterest);
|
||||
rowCacheKey = fy;
|
||||
rowCacheKey = key;
|
||||
rowCache = rows;
|
||||
return rows;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user