NOC Promotion Document
NOC Service Deployment/Promotion Document
Description:
For every service applied there is a need to get the No objection certificate from concerned departments. Based on the configuration we have for the NOCs , for every application there will be a set of NOCs required. There should be a provision to allow the NOC department user to login to our system and upload the required NOC. We are providing a user to one NOC department. Based on the workflow mode(online/offline) of each noc type, the NOC department user can perform action.
Online mode – NOC department user can login to system and approve/reject the application.
Offline mode – NOC application will be auto approved.
Actors:
CITIZEN, ARCHITECT, FIRE_NOC_APPROVER, AIRPORT_AUTHORITY_APPROVER,
BPA_NOC_VERIFIER, "BPA_VERIFIER", "BPA_FIELD_INSPECTOR".
NOTE:
Search Noc api considers only active status records.
Promotion Steps:
Update Role Actions to NOC Users for Workflow and Locality Search
https://github.com/egovernments/egov-mdms-data/pull/1187
Update Role Actions for NOC Users
https://github.com/egovernments/egov-mdms-data/pull/1188
Updated Navigation Url Change for NOC
https://github.com/egovernments/egov-mdms-data/pull/1194
29/07/2020
Changeed NOC path
https://github.com/egovernments/egov-mdms-data/pull/1176
27/07/2020
Updated locality searcher for NOC services
https://github.com/egovernments/configs/pull/402/files
23/07/2020
Updated NOC workflow codes
https://github.com/egovernments/egov-mdms-data/pull/1163/files
20/07/2020
Created NocTypeMapping.json
https://github.com/egovernments/egov-mdms-data/pull/1151/files
Added quick action and locality searcher
https://github.com/egovernments/egov-mdms-data/pull/1152/files
Update roleactions.json for fire and Airport roles
https://github.com/egovernments/egov-mdms-data/pull/1153/files
Promote the following MDMS folders (all files within the folder)
https://github.com/egovernments/egov-mdms-data/tree/master/data/pb/NOC
{
"id": 2000,
"name": "NOC Create",
"url": "/noc-services/v1/noc/_create",
"displayName": "Create",
"orderNumber": 0,
"enabled": false,
"serviceCode": "NOC",
"code": "null",
"path": ""
},
{
"id": 2001,
"name": "NOC Search",
"url": "/noc-services/v1/noc/_search",
"displayName": "Search",
"orderNumber": 0,
"enabled": false,
"serviceCode": "NOC",
"code": "null",
"path": ""
},
{
"id": 2002,
"name": "NOC Update",
"url": "/noc-services/v1/noc/_update",
"displayName": "Update",
"orderNumber": 0,
"enabled": false,
"serviceCode": "NOC",
"code": "null",
"path": ""
},{
"id": 2004,
"name": "search NOC application",
"url": "quickAction",
"displayName": "Search NOC Application",
"orderNumber": 1,
"queryParams": "",
"parentModule": "",
"enabled": true,
"serviceCode": "",
"tenantId": "pb",
"createdDate": null,
"createdBy": null,
"lastModifiedDate": null,
"lastModifiedBy": null,
"path": "Noc.Search NOC Application",
"navigationURL": "egov-bpa/noc-search",
"quickAction": true,
"leftIcon": "communication:business",
"rightIcon": ""
},
{
"id": 2005,
"name": "Locality searcher endpoint for Noc Servcies",
"url": "/egov-searcher/locality/noc-services/_get",
"displayName": "Noc locality searcher",
"orderNumber": 0,
"enabled": false,
"serviceCode": "egov-searcher",
"code": "null",
"path": ""
}
{
"rolecode": "BPA_ARCHITECT",
"actionid": 2000,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "CITIZEN",
"actionid": 2000,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "EMPLOYEE",
"actionid": 2000,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "CITIZEN",
"actionid": 2001,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "EMPLOYEE",
"actionid": 2001,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "BPA_ARCHITECT",
"actionid": 2002,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "CITIZEN",
"actionid": 2002,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "EMPLOYEE",
"actionid": 2002,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 1766,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 1766,
"actioncode": "",
"tenantId": "pb"
}, {
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 2004,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 2004,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 2005,
"actioncode": "",
"tenantId": "pb"
},
{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 2005,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 1729,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 1730,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 1741,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 1742,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 1743,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 1729,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 1730,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 1741,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 1742,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 1743,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 2001,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "FIRE_NOC_APPROVER",
"actionid": 2002,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 2001,
"actioncode": "",
"tenantId": "pb"
},{
"rolecode": "AIRPORT_AUTHORITY_APPROVER",
"actionid": 2002,
"actioncode": "",
"tenantId": "pb"
}
{
"code": "FIRE_NOC_APPROVER",
"name": "Fire Noc Department Approver",
"description": "Fire Noc application approver"
},
{
"code": "AIRPORT_AUTHORITY_APPROVER",
"name": "Airport authority Approver",
"description": "Airport authority application approver"
}
IDGEN format for NOC
https://github.com/egovernments/egov-mdms-data/blob/master/data/pb/common-masters/IdFormat.json
{
"format":"PB-NOCSRV-[cy:yyyy-MM-dd]-[SEQ_EG_NOC_APN]",
"idname":"noc.application.number"
}
NOC Type Mapping in BPA MDMS
https://github.com/egovernments/egov-mdms-data/blob/master/data/pb/BPA/NocTypeMapping.json
Endpoints
/noc-services/v1/noc /_create
/noc-services/v1/noc /_update
/noc-services/v1/noc /_search
Workflow config
We need to create the WF config in BusinessService for online and offline noc types. To do that call the “_create” API in BusinessService and add the below JSON content in the request body.
Businees Service Request URI -
https://egov-micro-dev.egovernments.org/egov-workflow-v2/egov-wf/businessservice/_create
FIRE_NOC_OFFLINE
{
"businessService": "FIRE_NOC_OFFLINE",
"business": "noc-services",
"businessServiceSla": 5184000000,
"tenantId": "pb",
"states": [
{
"sla": null,
"state": null,
"tenantId": "pb",
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"action": "AUTO_APPROVE",
"tenantId": "pb",
"nextState": "AUTO_APPROVED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
}
]
},
{
"sla": null,
"state": "VOIDED",
"applicationStatus": "VOIDED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "AUTO_APPROVED",
"applicationStatus": "AUTO_APPROVED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
AIRPORT_NOC_OFFLINE
{
"businessService": "AIRPORT_NOC_OFFLINE",
"business": "noc-services",
"tenantId": "pb",
"businessServiceSla": 5184000000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": true,
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"tenantId": "pb",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"action": "AUTO_APPROVE",
"tenantId": "pb",
"nextState": "AUTO_APPROVED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER",
"BPA_APPROVER"
]
}
]
},
{
"sla": null,
"state": "VOIDED",
"tenantId": "pb",
"applicationStatus": "VOIDED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "AUTO_APPROVED",
"tenantId": "pb",
"applicationStatus": "AUTO_APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
FIRE_NOC_SRV
{
"businessService": "FIRE_NOC_SRV",
"business": "noc-services",
"tenantId": "pb",
"businessServiceSla": 5184000000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"isStartState": true,
"tenantId": "pb",
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": false,
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"tenantId": "pb",
"action": "REJECT",
"nextState": "REJECTED",
"roles": [
"FIRE_NOC_APPROVER"
]
},
{
"currentState": "INITIATED",
"tenantId": "pb",
"action": "APPROVE",
"nextState": "APPROVED",
"roles": [
"FIRE_NOC_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER"
]
}
]
},
{
"sla": null,
"state": "REJECTED",
"tenantId": "pb",
"applicationStatus": "REJECTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "APPROVED",
"tenantId": "pb",
"applicationStatus": "APPROVED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "VOIDED",
"tenantId": "pb",
"applicationStatus": "VOIDED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
AIRPORT_NOC_SRV
{
"businessService": "AIRPORT_NOC_SRV",
"business": "noc-services",
"tenantId": "pb",
"businessServiceSla": 5184000000,
"states": [
{
"sla": null,
"state": null,
"applicationStatus": "INITIATED",
"docUploadRequired": false,
"isStartState": true,
"tenantId": "pb",
"isTerminateState": false,
"isStateUpdatable": true,
"actions": [
{
"currentState": "null",
"action": "INITIATE",
"tenantId": "pb",
"nextState": "INITIATED",
"roles": [
"CITIZEN",
"BPA_ARCHITECT",
"BPA_ENGINEER",
"BPA_BUILDER",
"BPA_STRUCTURALENGINEER",
"BPA_TOWNPLANNER",
"BPA_SUPERVISOR"
]
}
]
},
{
"sla": null,
"state": "INITIATED",
"applicationStatus": "INPROGRESS",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": false,
"tenantId": "pb",
"isStateUpdatable": false,
"actions": [
{
"currentState": "INITIATED",
"action": "REJECT",
"tenantId": "pb",
"nextState": "REJECTED",
"roles": [
"AIRPORT_AUTHORITY_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "APPROVE",
"tenantId": "pb",
"nextState": "APPROVED",
"roles": [
"AIRPORT_AUTHORITY_APPROVER"
]
},
{
"currentState": "INITIATED",
"action": "VOID",
"tenantId": "pb",
"nextState": "VOIDED",
"roles": [
"BPA_VERIFIER",
"BPA_FIELD_INSPECTOR",
"BPA_NOC_VERIFIER"
]
}
]
},
{
"sla": null,
"state": "REJECTED",
"tenantId": "pb",
"applicationStatus": "REJECTED",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "APPROVED",
"applicationStatus": "APPROVED",
"docUploadRequired": false,
"tenantId": "pb",
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
},
{
"sla": null,
"state": "VOIDED",
"applicationStatus": "VOIDED",
"tenantId": "pb",
"docUploadRequired": false,
"isStartState": false,
"isTerminateState": true,
"isStateUpdatable": false,
"actions": null
}
]
}
Persister Config
Indexer Config
Report Config
Locality Searcher Config
noc-services locality to query to be updated in
https://github.com/egovernments/configs/blob/master/egov-searcher/localitySearcher.yml
name: noc-services
query:
baseQuery: |
Select row_to_json(result) from
(
select noc.applicationNo as referenceNumber,ad.locality from eg_bpa_buildingplan bpa
INNER JOIN eg_land_Address ad ON ad.landInfoId = bpa.landid JOIN eg_noc noc ON noc.sourceRefId = bpa.applicationNo
) result $where
groupBy:
orderBy:
searchParams:
condition: AND
params:
name: result.referenceNumber
isMandatory: true
jsonPath: $.searchCriteria.referenceNumber
operator:
output:
jsonFormat: {"ResponseInfo": {}}
outJsonPath: $.Localities
responseInfoPath: $.ResponseInfo
Updated egov-noc-services.yml
https://github.com/egovernments/configs/pull/373/files
Updated noc-persister.yml
https://github.com/egovernments/configs/pull/373/files
Id format for noc
https://github.com/egovernments/egov-mdms-data/pull/1148/files
API Contract
Postman Collection
https://www.getpostman.com/collections/a13920f8bb971c065e13
Localization keys
NOC test cases