Contract
Detailed description of configuring the contract service
Overview
The contract service captures work orders or purchase orders. It validates the work order against the estimate(s). Line items from one estimate can be put in a contract. Line items from multiple estimates can be aggregated into one work order as well. The contract service validates the line items from each estimate as part of Create and Update.
Pre-requisites
A running DIGIT platform is needed to deploy the contract service. Specifically, the following dependencies are needed:
Estimate
Organisation
User
Workflow
IDGen
HRMS
Notification
Persister
Indexer
Key Functionalities
This service provides APIs to create, update and search for contracts.
Models a real-world work order/contract
All line items of a single estimate can be put in a contract.
Line items from multiple estimates can also be grouped into a contract.
The service validates the estimate line items and ensures no duplication happens in including estimate line items in a contract.
Terms and conditions, milestones and payment calendar are WIP
Deployment
Add configurations for db-host, db-name, db-url, domain, and core platform services (Idgen, workflow, user, etc.) in the YAML file.
Search for "contract-service" in the environment YAML file. Add the contract-service environment variables similar to how it’s done in other entries.
Restart egov-mdms-service, egov-persister, egov-indexer, inbox, egov-workflow-v2, egov-accesscontrol and zuul after the above changes are performed.
Configuration
MDMS Configuration
WORK_ORDER_CREATOR
/contract/v1/_create
/contract/v1/_update
/contract/v1/_search
/wms/contract/_search
WORK_ORDER_VERIFIER
/contract/v1/_update
/contract/v1/_search
/wms/contract/_search
WORK_ORDER_APPROVER
/contract/v1/_update
/contract/v1/_search
WORK_ORDER_VIEWER
/contract/v1/_search
/wms/contract/_search
EMPLOYEE_COMMON
/inbox/v2/_search
These have to be translated into JSON in the role-action mapping module in MDMS.
Other masters to be added:
Add the following masters as per the links below:
Idgen Configuration
{
"format": "WO/[fy:yyyy-yy]/[SEQ_CONTRACT_NUM]",
"idname": "contract.number"
} {
"format": "RW/[fy:yyyy-yy]/[SEQ_CONT_SUPPLEMENT_NUM]",
"idname": "contract.supplement.number"
}
Workflow Configuration
Contract Workflow
The following workflow JSON needs to be put in the request body of the /egov-workflow-v2/egov-wf/businessservice/_create
API.
"BusinessServices": [
{
"tenantId": "pg",
"businessService": "contract-approval-mukta",
"business": "contract-service",
"businessServiceSla": 604800000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": null,
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "CREATE",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_CREATOR"
]
}
]
},
{
"sla": 172800000,
"state": "PENDING_FOR_VERIFICATION",
"applicationStatus": "SUBMITTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "VERIFY_AND_FORWARD",
"nextState": "PENDING_FOR_APPROVAL",
"roles": [
"WORK_ORDER_VERIFIER"
]
},
{
"action": "SEND_BACK",
"nextState": "PENDING_FOR_CORRECTION",
"roles": [
"WORK_ORDER_VERIFIER"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"WORK_ORDER_VERIFIER"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_APPROVAL",
"applicationStatus": "VERIFIED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "APPROVE",
"nextState": "APPROVED",
"roles": [
"WORK_ORDER_APPROVER"
]
},
{
"action": "SEND_BACK",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_APPROVER"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"WORK_ORDER_APPROVER"
]
},
{
"action": "SEND_BACK_TO_ORIGINATOR",
"nextState": "PENDING_FOR_CORRECTION",
"roles": [
"WORK_ORDER_APPROVER"
]
}
]
},
{
"sla": 604800000,
"state": "APPROVED",
"applicationStatus": "APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "ACCEPT",
"nextState": "ACCEPTED",
"roles": [
"ORG_ADMIN"
]
},
{
"action": "DECLINE",
"nextState": "PENDING_FOR_REASSIGNMENT",
"roles": [
"ORG_ADMIN"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"ORG_ADMIN"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_CORRECTION",
"applicationStatus": "SENT_BACK",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "EDIT",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_CREATOR"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"WORK_ORDER_CREATOR"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_REASSIGNMENT",
"applicationStatus": "DECLINED",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "EDIT",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_CREATOR"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"WORK_ORDER_CREATOR"
]
}
]
},
{
"sla": null,
"state": "ACCEPTED",
"applicationStatus": "ACCEPTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": [
]
},
{
"sla": null,
"state": "REJECTED",
"applicationStatus": "REJECTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": [
]
}
]
}
]
Sample CURL is also included below.
Note that authToken and other requestInfo parameters should be updated as per your environment.
curl --location 'http://localhost:8020/egov-workflow-v2/egov-wf/businessservice/_update' \
--header 'Content-Type: application/json' \
--data '{
"RequestInfo": {
"apiId": "estimate",
"action": "",
"did": 1,
"key": "",
"msgId": "20170310130900|en_IN",
"requesterId": "",
"ts": 1513579888683,
"ver": "1.0.0",
"authToken": "{{REPLACE THIS}}",
"userInfo": {
"uuid": "{{REPLACE WITH VALID USER ID}}"
}
},
"BusinessServices": [
{
"tenantId": "pg",
"uuid": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"businessService": "mukta-estimate",
"business": "estimate-service",
"businessServiceSla": 432000000,
"states": [
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "35fd0feb-319f-4af2-bfa1-faa770ec05cb",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": null,
"state": null,
"applicationStatus": null,
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "a5689bee-5d02-4311-9ad4-62959bb50e8c",
"tenantId": "pg",
"currentState": "35fd0feb-319f-4af2-bfa1-faa770ec05cb",
"action": "SUBMIT",
"nextState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"roles": [
"ESTIMATE_CREATOR"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": 172800000,
"state": "PENDINGFORVERIFICATION",
"applicationStatus": "SUBMITTED",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "381cfe14-296f-4e03-8475-31495341a788",
"tenantId": "pg",
"currentState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"action": "VERIFYANDFORWARD",
"nextState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"roles": [
"ESTIMATE_VERIFIER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "ca298290-42db-47c0-ae1d-f2e1249cc582",
"tenantId": "pg",
"currentState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"action": "SENDBACK",
"nextState": "06da8fe1-1d68-4ea8-9409-217182b58846",
"roles": [
"ESTIMATE_VERIFIER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "8dcacc97-36a4-42f1-8fab-8393cb3171c8",
"tenantId": "pg",
"currentState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"action": "REJECT",
"nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
"roles": [
"ESTIMATE_VERIFIER"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": 86400000,
"state": "PENDINGFORTECHNICALSANCTION",
"applicationStatus": "VERIFIED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "bf5e5d56-9662-4077-b08b-fd3a678942d2",
"tenantId": "pg",
"currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"action": "TECHNICALSANCTION",
"nextState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
"roles": [
"TECHNICAL_SANCTIONER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "bb623a34-015b-4ce2-8167-d5333b5ffbce",
"tenantId": "pg",
"currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"action": "SENDBACK",
"nextState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"roles": [
"TECHNICAL_SANCTIONER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "b08b8f1d-6fc6-49ab-98c2-887b90ff5d90",
"tenantId": "pg",
"currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"action": "SENDBACKTOORIGINATOR",
"nextState": "06da8fe1-1d68-4ea8-9409-217182b58846",
"roles": [
"TECHNICAL_SANCTIONER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "0dacba16-22bf-44e3-bdc9-8dc54c215cbf",
"tenantId": "pg",
"currentState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"action": "REJECT",
"nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
"roles": [
"TECHNICAL_SANCTIONER"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": 86400000,
"state": "PENDINGFORAPPROVAL",
"applicationStatus": "TECHNICALLY SANCTIONED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "bbb05598-8a74-42c4-8e04-b9499c571fda",
"tenantId": "pg",
"currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
"action": "SENDBACK",
"nextState": "98a0383d-5367-4f1e-a4f2-82a0b7ad6b9f",
"roles": [
"ESTIMATE_APPROVER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "94d39cba-3271-4dae-b014-8eae07657bcc",
"tenantId": "pg",
"currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
"action": "SENDBACKTOORIGINATOR",
"nextState": "06da8fe1-1d68-4ea8-9409-217182b58846",
"roles": [
"ESTIMATE_APPROVER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "97e550ff-20eb-4fd5-85ae-e395ba9dd358",
"tenantId": "pg",
"currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
"action": "APPROVE",
"nextState": "fcd34bba-9f52-4de6-9a16-2a50315cfb91",
"roles": [
"ESTIMATE_APPROVER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "eaca07c5-d361-41a2-8d77-0063a075d2f3",
"tenantId": "pg",
"currentState": "c3249e25-9d3b-4b6f-9029-8a69b0b60415",
"action": "REJECT",
"nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
"roles": [
"ESTIMATE_APPROVER"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "06da8fe1-1d68-4ea8-9409-217182b58846",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": 86400000,
"state": "PENDINGFORCORRECTION",
"applicationStatus": "SENT BACK",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "6228efd7-30c5-4bef-ae67-0c6517707b37",
"tenantId": "pg",
"currentState": "06da8fe1-1d68-4ea8-9409-217182b58846",
"action": "RE-SUBMITTED",
"nextState": "6cc0eebd-e9f5-485b-94cd-cd28e7733974",
"roles": [
"ESTIMATE_CREATOR"
],
"active": true
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "fc711556-4849-4ca1-a47b-54f3facaac79",
"tenantId": "pg",
"currentState": "06da8fe1-1d68-4ea8-9409-217182b58846",
"action": "REJECT",
"nextState": "37615e97-0eba-4022-be8b-3feaf0bf4441",
"roles": [
"ESTIMATE_CREATOR"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "fcd34bba-9f52-4de6-9a16-2a50315cfb91",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": null,
"state": "APPROVED",
"applicationStatus": "APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
},
"uuid": "37615e97-0eba-4022-be8b-3feaf0bf4441",
"tenantId": "pg",
"businessServiceId": "c798a157-b494-4b61-acb9-6c5923f2fc10",
"sla": null,
"state": "REJECTED",
"applicationStatus": "REJECTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
],
"auditDetails": {
"createdBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"lastModifiedBy": "7e46e32c-187c-4fb4-9d6b-1ac70fa8f011",
"createdTime": 1678950370209,
"lastModifiedTime": 1678950370209
}
}
]
}'l
Revised Contract Workflow
"BusinessServices": [
{
"tenantId": "pg",
"businessService": "CONTRACT-REVISION",
"business": "contract-service",
"businessServiceSla": 604800000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": null,
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "CREATE",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_CREATOR", "ORG_ADMIN"
]
}
]
},
{
"sla": 172800000,
"state": "PENDING_FOR_VERIFICATION",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "VERIFY_AND_FORWARD",
"nextState": "PENDING_FOR_APPROVAL",
"roles": [
"WORK_ORDER_VERIFIER"
]
},
{
"action": "SEND_BACK",
"nextState": "PENDING_FOR_CORRECTION",
"roles": [
"WORK_ORDER_VERIFIER"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_APPROVAL",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "APPROVE",
"nextState": "APPROVED",
"roles": [
"WORK_ORDER_APPROVER"
]
},
{
"action": "SEND_BACK",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_APPROVER"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"WORK_ORDER_APPROVER"
]
},
{
"action": "SEND_BACK_TO_ORIGINATOR",
"nextState": "PENDING_FOR_CORRECTION",
"roles": [
"WORK_ORDER_APPROVER"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_CORRECTION",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "EDIT",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"WORK_ORDER_CREATOR","ORG_ADMIN"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"WORK_ORDER_CREATOR","ORG_ADMIN"
]
}
]
},
{
"sla": null,
"state": "APPROVED",
"applicationStatus": "ACTIVE",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": [
]
},
{
"sla": null,
"state": "REJECTED",
"applicationStatus": "INACTIVE",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": [
]
}
]
}
]
Sample CURL is also included below.
Note that authToken and other requestInfo parameters should be updated as per your environment.
curl --location 'http://localhost:8020/egov-workflow-v2/egov-wf/businessservice/_update' \
--header 'Content-Type: application/json' \
--data '{
"RequestInfo": {
"apiId": "estimate",
"action": "",
"did": 1,
"key": "",
"msgId": "20170310130900|en_IN",
"requesterId": "",
"ts": 1513579888683,
"ver": "1.0.0",
"authToken": "{{REPLACE THIS}}",
"userInfo": {
"uuid": "{{REPLACE WITH VALID USER ID}}"
}
},
"BusinessServices": [
{
"tenantId": "pg",
"uuid": "96d0ce24-dab0-4533-a3aa-748156327b52",
"businessService": "CONTRACT-REVISION",
"business": "contract-service",
"businessServiceSla": 604800000,
"states": [
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "9c3aa3c0-05bf-4c1e-b0bb-0aec4f4a1f14",
"tenantId": "pg",
"businessServiceId": "96d0ce24-dab0-4533-a3aa-748156327b52",
"sla": null,
"state": null,
"applicationStatus": null,
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "7bc558f7-ad3f-4d74-bbce-2b5b0123d9ee",
"tenantId": "pg",
"currentState": "9c3aa3c0-05bf-4c1e-b0bb-0aec4f4a1f14",
"action": "CREATE",
"nextState": "4858468d-b1a2-4c65-9db5-f6339da527e5",
"roles": [
"WORK_ORDER_CREATOR",
"ORG_ADMIN"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "4858468d-b1a2-4c65-9db5-f6339da527e5",
"tenantId": "pg",
"businessServiceId": "96d0ce24-dab0-4533-a3aa-748156327b52",
"sla": 172800000,
"state": "PENDING_FOR_VERIFICATION",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "3edf6eb5-3639-4e08-9fdb-db759006dc80",
"tenantId": "pg",
"currentState": "4858468d-b1a2-4c65-9db5-f6339da527e5",
"action": "SEND_BACK",
"nextState": "4965e223-036d-4aa0-9f6b-461004fcae58",
"roles": [
"WORK_ORDER_VERIFIER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "a8ff8adf-d10e-46ba-ba44-5b8251e30f88",
"tenantId": "pg",
"currentState": "4858468d-b1a2-4c65-9db5-f6339da527e5",
"action": "VERIFY_AND_FORWARD",
"nextState": "a2240a1f-6c7c-4945-bdbc-a47fc1bd00ae",
"roles": [
"WORK_ORDER_VERIFIER"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "a2240a1f-6c7c-4945-bdbc-a47fc1bd00ae",
"tenantId": "pg",
"businessServiceId": "96d0ce24-dab0-4533-a3aa-748156327b52",
"sla": 86400000,
"state": "PENDING_FOR_APPROVAL",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "82dfa853-d704-41e5-9b9c-b739fb198342",
"tenantId": "pg",
"currentState": "a2240a1f-6c7c-4945-bdbc-a47fc1bd00ae",
"action": "SEND_BACK_TO_ORIGINATOR",
"nextState": "4965e223-036d-4aa0-9f6b-461004fcae58",
"roles": [
"WORK_ORDER_APPROVER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "db24f24f-daa1-45d6-954b-5ad7cc463c2b",
"tenantId": "pg",
"currentState": "a2240a1f-6c7c-4945-bdbc-a47fc1bd00ae",
"action": "REJECT",
"nextState": "6c7d6892-ea91-4a0d-bfe1-fdb769de02fd",
"roles": [
"WORK_ORDER_APPROVER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "f80931ac-b9ef-40e0-b6bf-f73513546586",
"tenantId": "pg",
"currentState": "a2240a1f-6c7c-4945-bdbc-a47fc1bd00ae",
"action": "APPROVE",
"nextState": "14decd06-4369-4c3f-ae3f-28b633aec9e8",
"roles": [
"WORK_ORDER_APPROVER"
],
"active": true
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "44b62d0d-78cb-4c5f-9fc0-3e7f3d7ad7f1",
"tenantId": "pg",
"currentState": "a2240a1f-6c7c-4945-bdbc-a47fc1bd00ae",
"action": "SEND_BACK",
"nextState": "4858468d-b1a2-4c65-9db5-f6339da527e5",
"roles": [
"WORK_ORDER_APPROVER"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "4965e223-036d-4aa0-9f6b-461004fcae58",
"tenantId": "pg",
"businessServiceId": "96d0ce24-dab0-4533-a3aa-748156327b52",
"sla": 86400000,
"state": "PENDING_FOR_CORRECTION",
"applicationStatus": "INWORKFLOW",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "35c4c66d-4792-4899-8644-f58beb31ada0",
"tenantId": "pg",
"currentState": "4965e223-036d-4aa0-9f6b-461004fcae58",
"action": "EDIT",
"nextState": "4858468d-b1a2-4c65-9db5-f6339da527e5",
"roles": [
"WORK_ORDER_CREATOR",
"ORG_ADMIN"
],
"active": true
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "f1d4e7f5-4639-4c57-b2c9-fff028698702",
"tenantId": "pg",
"currentState": "4965e223-036d-4aa0-9f6b-461004fcae58",
"action": "REJECT",
"nextState": "6c7d6892-ea91-4a0d-bfe1-fdb769de02fd",
"roles": [
"WORK_ORDER_CREATOR",
"ORG_ADMIN"
],
"active": true
}
]
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "14decd06-4369-4c3f-ae3f-28b633aec9e8",
"tenantId": "pg",
"businessServiceId": "96d0ce24-dab0-4533-a3aa-748156327b52",
"sla": null,
"state": "APPROVED",
"applicationStatus": "ACTIVE",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
},
"uuid": "6c7d6892-ea91-4a0d-bfe1-fdb769de02fd",
"tenantId": "pg",
"businessServiceId": "96d0ce24-dab0-4533-a3aa-748156327b52",
"sla": null,
"state": "REJECTED",
"applicationStatus": "INACTIVE",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
],
"auditDetails": {
"createdBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"lastModifiedBy": "d39db015-746a-40b7-95ab-6e8b36de40ff",
"createdTime": 1691483807145,
"lastModifiedTime": 1691483807145
}
}
]
}'
Persister Configuration
In case it is not available, add the persister YML file.
Make sure to restart MDMS and the persister service after adding the file at the above location.
Indexer Configuration
Inbox Configuration
{
"module": "contract-service",
"index": "contract-inbox",
"allowedSearchCriteria": [
{
"name": "tenantId",
"path": "Data.tenantId.keyword",
"isMandatory": true,
"operator": "EQUAL"
},
{
"name": "workOrderNumber",
"path": "Data.contractNumber.keyword",
"isMandatory": true,
"operator": "EQUAL"
},
{
"name": "status",
"path": "Data.currentProcessInstance.state.uuid.keyword",
"isMandatory": false
},
{
"name": "projectId",
"path": "Data.additionalDetails.projectId.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "projectType",
"path": "Data.additionalDetails.projectType.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "ward",
"path": "Data.additionalDetails.ward.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "locality",
"path": "Data.additionalDetails.locality.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "wfStatus",
"path": "Data.contractStatus.keyword",
"isMandatory": false
},
{
"name": "assignee",
"path": "Data.currentProcessInstance.assignes.uuid.keyword",
"isMandatory": false
}
],
"sortBy": {
"path": "Data.auditDetails.createdTime",
"defaultOrder": "DESC"
},
"sourceFilterPathList": [
"Data.contractNumber",
"Data.additionalDetails.projectName",
"Data.additionalDetails.projectId",
"Data.additionalDetails.orgName",
"Data.currentProcessInstance",
"Data.totalContractedAmount",
"Data.auditDetails"
]
}
Restart the Inbox service after updating the above configuration
Integration
Was this helpful?