Allow saving key-value pairs against each job. Key populated in front-end can be a free text field or an enum consisting of Loan Product / Savings Product / Office. If pre-defined key is selected, populate corresponding list of existing loan product / savings product / office in value field's dropdown.
The jobs can receive this key-value pair as a function parameter by setting arguments on the jobDetailFactoryBean created in the function createJobDetail(ScheduledJobDetail) in the class JobRegisterServiceImpl.
If the following jobs has above parameters passed to it, it should add corresponding office/product filter where clause to its read query.
Add Accrual Transactions
Add Periodic Accrual Transactions
Add Accrual Transactions For Loans With Income Posted As Transactions
Generate Loan Loss Provisioning
Post Interest for Savings
Update Loan Summary
This feature can be made more useful with node-aware scheduler as different nodes can be configured to perform the job for different products/offices resulting in distribution of load.