Author | Andrei Makaranka | ||||||||
---|---|---|---|---|---|---|---|---|---|
JIRA task |
| ||||||||
Business Requirements | |||||||||
Architects Review |
| ||||||||
PO review |
|
...
- Ledger Fiscal Year Rollover already implemented.
- It is likely that we will be creating upwards of 75000 - 100000 encumbrances during this process. (statistics from Library).
- Prepare report with Unpaid invoices is UI responsibility.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Contains a list of budgets generated during the rollover. Also budgets include all calculated mounts", "type": "object", "properties": { "budgets": { "description": "The list of fiscal year rollover errors", "type": "array", "items": { "$ref": "ledger_fiscal_year_rollover_budget.json" } }, "totalRecords": { "description": "The number of records contained in this collection", "type": "integer", "minimum": 0 } }, "additionalProperties": false, "required": [ "budgets", "totalRecords" ] } |
Create new DB Table "ledger_fiscal_year_rollover_
...
budget" → schema.json
In the database will be stored records with type of "ledger_fiscal_year_rollover_budget"
Create ledger fiscal year rollover Logs schemas
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "tableName": "ledger_fiscal_year_rollover_ |
...
ledgerRolloverId
UUID
...
Y
...
Schema name : ledger_fiscal_year_rollover_log_collection
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Contains a list of rollover runs", "type": "object", "properties": { "logs": { "description": "The list of rollover runs",budget", "fromModuleVersion": "mod-finance-storage-8.1.7", "withMetadata": true, "index": [ { "fieldName": "ledgerRolloverId", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "fundId", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "fiscalYearId" } ], "foreignKeys": [ { "typefieldName": "arrayledgerRolloverId", "items": { "$reftargetTable": "ledger_fiscal_year_rollover_log.json", } }"tableAlias": "ledgerFYROBudget", "totalRecords": { "descriptiontargetTableAlias": "The number of records contained in this collection", ledgerFYRO", "typetOps": "integerADD", "minimum":} 0 } ] }, "additionalProperties": false, "required": [ "budgets", "totalRecords" ] } |
APIs
Ledger Rollover generated Budgets Business API
...
Method
...
Path
...
Request
...
Response
...
Description
...
Interface
...
Notes
...
ledger_fiscal_year_rollover_budget
...
} |
Create ledger fiscal year rollover Logs schemas
Schema name : ledger_fiscal_year_rollover_log
Property | Type | Read Only | Default | Required | Notes |
---|---|---|---|---|---|
ledgerRolloverId | UUID | true | NA | Y | |
startDate | date-time | true | NA | Y | This is "creratedDate" from rollover metadata. |
endDate | date-time | true | NA | This is "updatedDate" from rollover metadata. Should be provided only when "status" is "Success" or "Error". | |
status | ramls/acq-models/mod-finance/schemas/rollover_status.json | true | NA | Y | |
errorsLink | String or pattern | true | NA | N | If possible Link should included environment URL : https://okapi-bugfest-lotus.int.aws.folio.org/finance/ledger-rollovers-errors?query=ledgerRolloverId=={id}fff-e-errors |
budgetsLink | String or pattern | true | NA | N | If possible Link should included environment URL : https://okapi-bugfest-lotus.int.aws.folio.org/finance/ledger-rollovers-budgets?query=ledgerRolloverId=={id}fff- |
ledgerRolloverType | enum ["Preview", "Commit", "Rollback"] | true | NA | Y |
Schema name : ledger_fiscal_year_rollover_log_collection
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Contains a list of rollover runs",
"type": "object",
"properties": {
"logs": {
"description": "The list of rollover runs",
"type": "array",
"items": {
"$ref": "ledger_fiscal_year_rollover_log.json"
}
},
"totalRecords": {
"description": "The number of records contained in this collection",
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"required": [
"budgets",
"totalRecords"
]
} |
APIs
Ledger Rollover generated Budgets Business API
Method | Path | Request | Response | Description | Interface | Notes |
---|---|---|---|---|---|---|
GET | /finance/ledger-rollovers-budgets/{id} | NA | ledger_fiscal_year_rollover_budget | GET budgets of the ledger fiscal year rollover by id | finance.ledger-rollovers-budgets.item.get | Status : 200 |
GET | /finance/ledger-rollovers-budgets | NA | ledger_fiscal_year_rollover_budget_collection | GET budgets of the ledger fiscal year rollovers | finance.ledger-rollovers-budgets.collection.get | Status : 200 |
Ledger Rollover
...
generated Budgets Storage API
Method | Path | Request | Response | Description | Interface | Notes |
---|---|---|---|---|---|---|
GET | /finance/ledger-rollovers- |
budgets/{id} | NA | ledger_fiscal_year_rollover_ |
budget | GET |
budgets of the ledger fiscal year rollover by id | finance.ledger-rollovers- |
budgets.item.get | Status : 200 |
GET | /finance/ledger-rollovers- |
budgets | NA | ledger_fiscal_year_rollover_ |
budget_collection | GET |
budgets of the ledger fiscal year rollovers | finance.ledger-rollovers- |
budgets.collection.get | Status : 200 |
...
Ledger Rollover
...
Logs Business API
Method | Path | Request | Response | Description | Interface | Notes |
---|---|---|---|---|---|---|
GET | /finance-storage/ledger-rollovers-logs/{id} | NA | ledger_fiscal_year_rollover_log | GET logs of the ledger fiscal year rollover by id | finance-storage.ledger-rollovers-logs.item.get | Status : 200 |
GET | /finance-storage/ledger-rollovers-logs | NA | ledger_fiscal_year_rollover_log_collection | GET logs of the ledger fiscal year rollovers | finance-storage.ledger-rollovers-logs.collection.get | Status : 200 |
...
Work | Comments | Story | ~ Estimate | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
2.1. Create ledger fiscal year rollover Budget schemas | acq-models, mod-finance-storage, mod-finance |
| 1 | ||||||||
2 |
| mod-finance-storage |
| 1 | ||||||||
3 |
| mod-finance |
| 1 | ||||||||
4 |
| mod-finance-storage All all open technical questions should be resolved |
| 5 | ||||||||
5 |
| mod-finance-storage |
| |||||||||
6 | Implement Preview rollover flow and update budgets with all calculated amounts
1.1 Rollover script run (field LedgerFiscalYearRollover."action" = "Preview") | mod-finance-storage |
| |||||||||
7 |
| mod-finance |
| |||||||||
8 |
| mod-finance |
|
...