feat: update RBI reserve return form 1 & 9 UI and FD accounting mapping
This commit is contained in:
@@ -91,12 +91,19 @@ export class RbiReserveConfigComponent implements OnInit {
|
||||
{ value: 'TIME', label: 'Time' }
|
||||
];
|
||||
|
||||
/** How a head an administrator adds is consumed by the return. */
|
||||
/**
|
||||
* How a head an administrator adds is consumed by the return.
|
||||
*
|
||||
* MAINTAINED and SLR_ASSET are separate because the two returns admit different assets: CRR is
|
||||
* met in cash and balances with banks, SLR in cash, gold and approved securities. One option for
|
||||
* both would let a head meant for Form 1 quietly satisfy Form 9.
|
||||
*/
|
||||
readonly roleUsages = [
|
||||
{ value: 'LIABILITY', label: 'Liability — adds to the DTL base' },
|
||||
{ value: 'ASSET_NET', label: 'Asset — netted off the base (NDTL)' },
|
||||
{ value: 'MAINTAINED', label: 'Counts toward what is maintained' },
|
||||
{ value: 'MEMO', label: 'Memo — shown but totals nothing' }
|
||||
{ value: 'LIABILITY', label: 'Liability — adds to the DTL base (Form 1 & 9)' },
|
||||
{ value: 'ASSET_NET', label: 'Asset — netted off the base to give NDTL (Form 1 & 9)' },
|
||||
{ value: 'MAINTAINED', label: 'Counts toward CRR maintained (Form 1)' },
|
||||
{ value: 'SLR_ASSET', label: 'Counts toward SLR maintained (Form 9)' },
|
||||
{ value: 'MEMO', label: 'Memo — shown on the return but totals nothing' }
|
||||
];
|
||||
|
||||
/** New-head form. */
|
||||
@@ -168,10 +175,12 @@ export class RbiReserveConfigComponent implements OnInit {
|
||||
}
|
||||
byGroup.get(group)!.roles.push(role);
|
||||
}
|
||||
this.roleGroups = [...byGroup.entries()].map(([
|
||||
name,
|
||||
entry
|
||||
]) => ({ name, label: entry.label, roles: entry.roles }));
|
||||
this.roleGroups = [...byGroup.entries()].map(
|
||||
([
|
||||
name,
|
||||
entry
|
||||
]) => ({ name, label: entry.label, roles: entry.roles })
|
||||
);
|
||||
|
||||
// Keep the open tab if it still exists, so saving a role does not throw the user back to the
|
||||
// first tab with their place lost.
|
||||
@@ -237,8 +246,7 @@ export class RbiReserveConfigComponent implements OnInit {
|
||||
// a bank look compliant when it is not.
|
||||
this.selection[role.configKey] = [
|
||||
...(this.selection[role.configKey] || []),
|
||||
{ glAccountId: null as any, weightPercentage: 100, liabilityClass: role.classified ? 'TIME' : null }
|
||||
];
|
||||
{ glAccountId: null as any, weightPercentage: 100, liabilityClass: role.classified ? 'TIME' : null }];
|
||||
}
|
||||
|
||||
removeMapping(role: any, index: number): void {
|
||||
@@ -252,9 +260,7 @@ export class RbiReserveConfigComponent implements OnInit {
|
||||
*/
|
||||
availableAccounts(role: any, index: number): any[] {
|
||||
const rows = this.selection[role.configKey] || [];
|
||||
const taken = new Set(
|
||||
rows.filter((_, i) => i !== index).map((m) => `${m.glAccountId}/${m.liabilityClass ?? ''}`)
|
||||
);
|
||||
const taken = new Set(rows.filter((_, i) => i !== index).map((m) => `${m.glAccountId}/${m.liabilityClass ?? ''}`));
|
||||
const current = rows[index];
|
||||
return this.glAccountOptions.filter((o) => !taken.has(`${o.id}/${current?.liabilityClass ?? ''}`));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user