| Work | Comments | Story | ~ Estimate |
---|
1 | - Update schema "ledger_fiscal_year_rollover" with new "action" field
- Define schema and table for preview rollover results → Define new schemas and table
2.1. Create ledger fiscal year rollover Budget schemas 2.2. Create ledger fiscal year rollover Log schemas 2.3. Define new table for storing generated budgets in scope of Rollover | acq-models, mod-finance-storage, mod-finance | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFISTO-319 |
---|
|
| 1 |
2 | - Define Storage API : Preview Ledger Rollover → Storage API : Ledger Rollover Budgets
- Implement API → Should be without any logic.
| mod-finance-storage | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFISTO-320 |
---|
|
| 1 |
3 | - Define and Implement Budgets API → Budgets Ledger Rollover Business API
- Define and Implement Logs API → Logs view should be built accordingly with ledger_fiscal_year_rollover_log Ledger Rollover Logs Business API
| mod-finance | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFIN-256 |
---|
|
| 1 |
4 | - Spike : Implement POC with storing preview result in the temporary tables and after that upload results in the preview rollover table
| mod-finance-storage All all open technical questions should be resolved | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFISTO-322 |
---|
|
| 5 |
5 | - Update ledger rollover SQL script with preview rollover logic and store results in the preview rollover table
| mod-finance-storage | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFISTO-323 |
---|
|
|
|
6 | Implement Preview rollover flow and update budgets with all calculated amounts - Steps should be run in scope of one DB transaction :
1.1 Rollover script run (field LedgerFiscalYearRollover."action" = "Preview") 1.2 Retrieve result of preview from table "ledger_fiscal_year_rollover_budget", where budgets amounts will be partially filled (MODFISTO-323) 1.3. Go through all budgets and calculate remaining amounts → org.folio.utils.CalculationUtils#calculateBudgetSummaryFields 1.4. Storing updated budgets in the rollover preview table → ledger_fiscal_year_rollover_budget 2. Update delete rollover logic : org.folio.service.rollover.LedgerRolloverService#deleteRollover. Rollover record deletion should happened together with rollover budgets in scope of one DB transaction | mod-finance-storage | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFISTO-318 |
---|
|
|
|
7 | Replace unique index in the table "ledger_fiscal_year_rollover" with uniqueness logic in the code - Remove index "ledgerId_fromFiscalYearId" from table "ledger_fiscal_year_rollover"
- Implement validation logic in the separate validation service:
2.1 If incoming rollover is real with action "Commit", then rollover record should be unique for pair "ledgerId, fromFiscalYearId" (the same as in the index) 2.2 If incoming rollover is real with action "Preview", then rollover record should not be unique for pair "ledgerId, fromFiscalYearId" and it possible to have many previews for one ledger and same fiscal year. | mod-finance-storage | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFISTO-327 |
---|
|
|
|
8 | - Spike : To gain knowledge about mod-email and implement example with usage email sending
| mod-finance | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFIN-258 |
---|
|
|
|
9 | - Implement sending email and include it in the preview ledger rollover flow
| mod-finance | Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODFIN-257 |
---|
|
|
|