IFIX Master Data Service
Overview
Master data service maintains information of Government, Chart of Account, Department, Expenditure and Project. We can create these details and search the same details based on the given parameters/request data.
Version History
Current version : 1.0.0
Prerequisites
Before we proceed with the configuration, make sure the following pre-requisites are met
Java 8
MongoDB instance
Required service dependency - Department entity service
Features
It creates secure endpoints for the master data service. The access token is required to create any master data.
The subsequent sections on this page discuss the service details maintained by the master data service.
Government
This maintains the Government details and supports create and search Government details. While creating the Government, we need a unique Id for the Government and a name for the same. Optionally, we can pass some additional details as part of the attribute. In the case of search, passing the unique ID(s) as search parameters can give you all the details of the Government.
API List
Title | Link |
---|---|
/government/v1/_create | |
/government/v1/_search |
Chart Of Account
This maintains the Chart of Account(COA) details and supports create and search of COA. The following information is passed while creating the Chart of Accounts - Government Id, majorHead, subMajorHead, minorHead, subHead, groupHead, objectHead and corresponding head names & types. A unique code named COACode is generated by combining (concatenating) majorHead, subMajorHead, minorHead, subHead, groupHead, objectHead with a hyphen ("-") and store with the given request.
Searching the details for COA is done based on the provided search parameters like the Chart of Account IDs, COACode, Government ID, majorHead, subMajorHead, minorHead, subHead, groupHead, objectHead.
API List
Title | Link |
---|---|
/chartOfAccount/v1/_create | |
/chartOfAccount/v1/_search |
Department
Maintains the create and search department details. The following information is passed while creating the department - the Government ID, department code, department name, parent department if any. Searching the department details is on given parameters like IDs, Government ID, department code, department name.
API List
Title | Link |
---|---|
/department/v1/_create | |
/department/v1/_search |
Expenditure
Maintains the expenditure details And provide create and search functionality. For creating the expenditure, the following details are required - the Government ID, the department ID, code, name, type (can be "SCHEME", "NON_SCHEME") details. While searching the expenditure details, pass the given parameters like IDs, Government IDs, name, code.
API List
Title | Link |
---|---|
/expenditure/v1/_create | |
/expenditure/v1/_search |
Project
Maintains the project details and provide create and search functionality. The following details are required to create the project - Government, name, code, expenditure ID, the department entity ID, location IDs. While searching, pass the IDs, Government ID, name, code, expenditure ID, location ID.
The Project contains department entity information along with its hierarchy detail and also attaches master department information (department id - UUID). All child information lists for every department node (department record) is maintained here. Leaf level department will not have any child info.
Child list contains department entity ID list, which makes current department entity parent of all child list (department id list). This is how the department entity level details and information is maintained.
API List
Title | Link |
---|---|
/project/v1/_create | |
/project/v1/_search |
Interaction Diagram
Environment
There will not be any environment variables required specific to the environment (migration).
Configurations and Setup
Update all the DB and URI configuration in the dev.yaml, qa.yaml, prod.yaml file.
Make sure the keycloak server is up and running and has been configured with the required client ID.
References and Notes
Title | Link |
---|---|
Swagger Yaml | |
Postman collection |
Master Project API With Example
Project Create API creates the project when all the Master data details (COA, Government, Expenditure, Department) and Department Entity have been created.
Project Create API takes below attributes in request :
tenantId : This is the Id that will be defined while creating the Ifix Master Government Service.
expenditureId : This is the Id that will be generated while creating the Ifix Master Expenditure Service.
code : This is the project code that needs to be created.
name : This is the project name that needs to be created.
departmentEntityId : This is the Department Entity Id. If we have to create a project at hierarchy level 1 then we need to pass the Department Entity Id of that corresponding level. It depends on the Department hierarchy level on which the project has to be created and hence the same level Department Entity Id.
For reference, Below is the Dummy project create example :
Request :
{
"requestHeader": {
"ts": 1627193067,
"version": "V1",
"msgId": "Unknown",
"signature": "NON",
"userInfo": {
"uuid": "e4fd96e8-3b6b-4e36-9503-0f14a01af39d"
}
},
"project": {
"tenantId": "pb",
"code": "Dummy-001",
"name": "Dummy-Project",
"expenditureId": "910f4d23-fc63-48fb-a8fb-f0ad567b788a",
"departmentEntitytId": "7bdf9514-e2e5-4563-bfea-f5aaa41b2137"
}
}
Response :
{
"responseHeader": {
"ts": 1627193067,
"correlationId": "7ad35d85-3815-49d9-978a-e7c1f65491c6",
"msgId": "Unknown",
"status": "successful",
"signature": "NON",
"version": "V1"
},
"project": [
{
"id": "fa7eedda-c2f0-49f7-9d21-46d361f05dea",
"tenantId": "pb",
"code": "Dummy-001",
"name": "Dummy-Project",
"expenditureId": "910f4d23-fc63-48fb-a8fb-f0ad567b788a",
"departmentEntitytId": "7bdf9514-e2e5-4563-bfea-f5aaa41b2137",
"departmentEntity": {
"id": "7bdf9514-e2e5-4563-bfea-f5aaa41b2137",
"code": "7278",
"name": "BARUWAL",
"departmentId": "b32f0cc1-f4b1-4503-95d6-fdf04d0ea2d4",
"hierarchyLevel": 6,
"ancestry": [
{
"id": "7bdf9514-e2e5-4563-bfea-f5aaa41b2137",
"code": "7278",
"name": "BARUWAL",
"hierarchyLevel": 6
}
]
},
"locationIds": null,
"auditDetails": {
"createdBy": "ba28ebe8-ed9c-4cdb-9328-b8e227eb0342",
"lastModifiedBy": "ba28ebe8-ed9c-4cdb-9328-b8e227eb0342",
"createdTime": 1639028363464,
"lastModifiedTime": 1639028363464
}
}
]
}
Note : Below are the observations from the above example:
Project has been created at hierarchical level 6 (at “BARUWAL”). Since, At the time of project created based on request, Department Entity Id is of “BARUWAL”.
Government , Expenditure, Chart Of Account (COA) and Department have to be created well before creating any project.
Make sure Department Hierarchy and Department Entity have been created well before creating any project.