The measurement book service integrates estimate line item validation and workflow along with the measurement book registry.
A running DIGIT platform is needed to deploy the measurement service. Specifically, the following dependencies are needed:
The below variables should be configured for the measurement registry in the Helm environment file prior to deployment. The Helm environment file will be located under:
Configure actions, roles and role-action mappings from the table below. Follow the steps here.
These must be translated into JSON in the role-action mapping module in MDMS.
Copy "BusinessServices": [
{
"tenantId": "pg",
"businessService": "MB",
"business": "measurement-book-service",
"businessServiceSla": 432000000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": null,
"docUploadRequired": true,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"action": "SAVE_AS_DRAFT",
"nextState": "DRAFTED",
"roles": [
"MB_CREATOR"
]
}
]
},
{
"sla": null,
"state": "DRAFTED",
"applicationStatus": "DRAFTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"action": "SUBMIT",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"MB_CREATOR"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"MB_CREATOR"
]
}
]
},
{
"sla": 172800000,
"state": "PENDING_FOR_VERIFICATION",
"applicationStatus": "SUBMITTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"action": "VERIFY_AND_FORWARD",
"nextState": "PENDING_FOR_APPROVAL",
"roles": [
"MB_VERIFIER"
]
},
{
"action": "SENT_BACK",
"nextState": "PENDING_FOR_CORRECTION",
"roles": [
"MB_VERIFIER"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"MB_VERIFIER"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_APPROVAL",
"applicationStatus": "VERIFIED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"action": "SENT_BACK",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"MB_APPROVER"
]
},
{
"action": "APPROVE",
"nextState": "APPROVED",
"roles": [
"MB_APPROVER"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"MB_APPROVER"
]
},
{
"action": "SEND_BACK_TO_ORIGINATOR",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"MB_APPROVER"
]
}
]
},
{
"sla": 86400000,
"state": "PENDING_FOR_CORRECTION",
"applicationStatus": "SENT_BACK",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"action": "EDIT/RE-SUBMIT",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"MB_CREATOR"
]
},
{
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"MB_CREATOR"
]
},
{
"action": "SEND_BACK_TO_ORIGINATOR",
"nextState": "PENDING_FOR_VERIFICATION",
"roles": [
"MB_CREATOR"
]
}
]
},
{
"sla": null,
"state": "REJECTED",
"applicationStatus": "REJECTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "APPROVED",
"applicationStatus": "APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
]
Copy {
"module": "measurement-service",
"index": "measurement-service-index",
"allowedSearchCriteria": [
{
"name": "tenantId",
"path": "Data.tenantId.keyword",
"isMandatory": true,
"operator": "EQUAL"
},
{
"name": "status",
"path": "Data.currentProcessInstance.state.uuid.keyword",
"isMandatory": false
},
{
"name": "measurementNumber",
"path": "Data.measurementNumber.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "projectId",
"path": "Data.contract.additionalDetails.projectId.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "ward",
"path": "Data.contract.additionalDetails.ward.keyword",
"isMandatory": false,
"operator": "EQUAL"
},
{
"name": "assignee",
"path": "Data.currentProcessInstance.assignes.uuid.keyword",
"isMandatory": false
},
{
"name": "projectType",
"path": "Data.contract.additionalDetails.projectType.keyword",
"isMandatory": false,
"operator": "EQUAL"
}
],
"sortBy": {
"path": "Data.auditDetails.createdTime",
"defaultOrder": "DESC"
},
"sourceFilterPathList": [
"Data.referenceId",
"Data.id",
"Data.measurementNumber",
"Data.measures",
"Data.auditDetails",
"Data.history",
"Data.currentProcessInstance",
"Data.additionalDetails",
"Data.workflow",
"Data.wfStatus",
"Data.contract.additionalDetails",
"Data.contract.id",
"Data.contract.contractNumber",
"Data.contract.additionalDetails"
]
}