diff --git a/egov-dss-dashboards/dashboard-analytics/MasterDashboardConfig.json b/egov-dss-dashboards/dashboard-analytics/MasterDashboardConfig.json index 98a228550..45043c980 100644 --- a/egov-dss-dashboards/dashboard-analytics/MasterDashboardConfig.json +++ b/egov-dss-dashboards/dashboard-analytics/MasterDashboardConfig.json @@ -271,6 +271,323 @@ ] } ] + }, + { + "name": "DSS_PGR_DASHBOARD", + "id": "pgr", + "isActive": "", + "style": "linear", + "visualizations": [ + { + "row": 1, + "name": "DSS_SERVICE", + "vizArray": [ + { + "id": 412, + "name": "DSS_OVERVIEW", + "dimensions": { + "height": 350, + "width": 5 + }, + "vizType": "metric-collection", + "label": "DSS_OVERVIEW", + "noUnit": true, + "isCollapsible": false, + "charts": [ + { + "id": "totalComplaints", + "name": "DSS_PGR_TOTAL_COMPLAINTS", + "code": "", + "chartType": "metric", + "filter": "", + "headers": [] + }, + { + "id": "closedComplaints", + "name": "DSS_PGR_CLOSED_COMPLAINTS", + "code": "", + "chartType": "metric", + "filter": "", + "headers": [] + }, + { + "id": "slaAchieved", + "name": "DSS_SLA_ACHIEVED", + "code": "", + "chartType": "metric", + "filter": "", + "headers": [] + }, + { + "id": "completionRate", + "name": "DSS_PGR_COMPLETION_RATE", + "code": "", + "chartType": "metric", + "filter": "", + "headers": [] + }, + { + "id": "pgrAverageResolutionTime", + "name": "NATIONAL_DSS_PGR_AVERAGE_RESOLUTION_TIME", + "code": "", + "chartType": "metric", + "filter": "", + "headers": [] + } + ] + }, + { + "id": 412, + "name": "DSS_TOTAL_CUMULATIVE_CLOSED_COMPLAINTS", + "dimensions": { + "height": 350, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "label": "", + "charts": [ + { + "id": "cumulativeClosedComplaints", + "name": "Monthly", + "code": "", + "chartType": "line", + "filter": "", + "headers": [] + } + ] + } + ] + }, + { + "row": 2, + "name": "DSS_SERVICE", + "vizArray": [ + { + "id": 412, + "name": "DSS_TOTAL_COMPLAINTS_BY_SOURCE", + "dimensions": { + "height": 350, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "label": "", + "charts": [ + { + "id": "totalComplaintsbySource", + "name": "Monthly", + "code": "", + "chartType": "line", + "filter": "", + "headers": [] + } + ] + }, + { + "id": 413, + "name": "DSS_TOTAL_COMPLAINTS_STATUS", + "dimensions": { + "height": 350, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "label": "", + "charts": [ + { + "id": "totalComplaintsbyStatus", + "name": "", + "code": "", + "chartType": "bar", + "filter": "", + "headers": [] + } + ] + } + ] + }, + { + "row": 3, + "name": "DSS_SERVICE", + "vizArray": [ + { + "id": 421, + "name": "DSS_PGR_COMPLAINTS_BY_STATUS", + "dimensions": { + "height": 250, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "label": "", + "charts": [ + { + "id": "complaintsByStatus", + "name": "DSS_PGR_COMPLAINTS_BY_STATUS", + "code": "", + "chartType": "donut", + "filter": "", + "headers": [] + } + ] + }, + { + "id": 423, + "name": "DSS_PGR_COMPLAINTS_BY_DEPARTMENT", + "dimensions": { + "height": 250, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "charts": [ + { + "id": "complaintsByDepartment", + "name": "DSS_PGR_COMPLAINTS_BY_DEPARTMENT", + "code": "", + "chartType": "donut", + "filter": "", + "headers": [] + } + ] + } + ] + }, +{ + "row": 4, + "name": "DSS_SERVICE", + "vizArray": [ + { + "id": 423, + "name": "DSS_PGR_COMPLAINTS_BY_CHANNEL", + "dimensions": { + "height": 250, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "charts": [ + { + "id": "complaintsByChannel", + "name": "DSS_PGR_COMPLAINTS_BY_CHANNEL", + "code": "", + "chartType": "donut", + "filter": "", + "headers": [] + } + ] + }, + { + "id": 412, + "name": "DSS_EVENT_DURATION_GRAPH", + "dimensions": { + "height": 350, + "width": 7 + }, + "vizType": "chart", + "isCollapsible": false, + "label": "", + "charts": [ + { + "id": "eventDurationGraph", + "name": "Monthly", + "code": "", + "chartType": "line", + "filter": "", + "headers": [] + } + ] + } + ] +}, + + { + "row": 5, + "name": "DSS_SERVICE", + "vizArray": [ + { + "id": 421, + "name": "DSS_PGR_CITIZENS", + "dimensions": { + "height": 250, + "width": 4 + }, + "vizType": "chart", + "isCollapsible": false, + "label": "", + "charts": [ + { + "id": "pgrCitizenOnDateRange", + "name": "DSS_PGR_CITIZENS", + "code": "", + "chartType": "line", + "filter": "", + "headers": [] + } + ] + }, + { + "id": 424, + "name": "DSS_PGR_TOP_COMPLAINTS", + "dimensions": { + "height": 250, + "width": 4 + }, + "vizType": "chart", + "isCollapsible": false, + "charts": [ + { + "id": "topFiveComplaints", + "name": "DSS_PGR_TOP_COMPLAINTS", + "code": "", + "chartType": "horizontalBar", + "filter": "", + "headers": [] + } + ] + } + ] + }, + { + "row": 6, + "name": "DSS_SERVICE", + "vizArray": [ + { + "id": 431, + "name": "DSS_PGR_STATUS_BY_TENANT", + "dimensions": { + "height": 350, + "width": 12 + }, + "vizType": "chart", + "label": "", + "noUnit": false, + "isCollapsible": true, + "charts": [ + { + "id": "xpgrStatusByDDR", + "name": "DSS_PGR_STATUS_BY_TENANT", + "code": "", + "chartType": "table", + "filter": "", + "headers": [], + "tabName": "Boundary" + }, + { + "id": "xpgrStatusByDept", + "name": "DSS_PGR_STATUS_BY_DEPARTMENT", + "code": "", + "chartType": "table", + "filter": "", + "headers": [], + "tabName": "Department" + } + ] + } + ] + } + ] } ] } \ No newline at end of file diff --git a/egov-indexer/pgr-services.yml b/egov-indexer/pgr-services.yml new file mode 100644 index 000000000..2a069560a --- /dev/null +++ b/egov-indexer/pgr-services.yml @@ -0,0 +1,155 @@ +ServiceMaps: + serviceName: Public Grievance Redressal - rainmaker + version: 1.0.0 + mappings: + - topic: save-pgr-request + configKey: INDEX + indexes: + - name: pgr-services + type: general + id: $.service.serviceRequestId + jsonPath: $ + timeStampField: $.service.auditDetails.lastModifiedTime + fieldsToBeMasked: ["$.service.citizen.userName", "$.service.citizen.name", "$.service.citizen.mobileNumber", "$.service.citizen.emailId"] + customJsonMapping: + indexMapping: {"Data":{"ward":{}, "history":{}, "department":"department", "slaHours":"slaHours", "tenantData":{}}} + fieldMapping: + - inJsonPath: $ + outJsonPath: $.Data + externalUriMapping: + - path: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search + queryParam: hierarchyTypeCode=ADMIN,boundaryType=Locality,codes=$.service.address.locality.code,tenantId=$.service.tenantId + apiRequest: {"RequestInfo":{"apiId":"org.egov.pt","ver":"1.0","ts":1502890899493,"action":"asd","did":"4354648646","key":"xyz","msgId":"654654","requesterId":"61","authToken":"d9994555-7656-4a67-ab3a-a952a0d4dfc8","userInfo":{"id":1,"uuid":"1fec8102-0e02-4d0a-b283-cd80d5dab067","type":"EMPLOYEE","tenantId":"pg.citya","roles":[{"name":"Employee","code":"EMPLOYEE","tenantId":"pg.citya"}]}}} + uriResponseMapping: + - inJsonPath: $.TenantBoundary[0].boundary[0] + outJsonPath: $.Data.ward + - path: http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search + queryParam: businessIds=$.service.serviceRequestId,history=true,tenantId=$.service.tenantId + apiRequest: {"RequestInfo":{"apiId":"org.egov.pt","ver":"1.0","ts":1502890899493,"action":"asd","did":"4354648646","key":"xyz","msgId":"654654","requesterId":"61","authToken":"d9994555-7656-4a67-ab3a-a952a0d4dfc8","userInfo":{"id":1,"uuid":"1fec8102-0e02-4d0a-b283-cd80d5dab067","type":"EMPLOYEE","tenantId":"pg.citya","roles":[{"name":"Employee","code":"EMPLOYEE","tenantId":"pg.citya"}]}}} + uriResponseMapping: + - inJsonPath: $.ProcessInstances + outJsonPath: $.Data.history + mdmsMapping: + - path: http://egov-mdms-service.egov:8080/egov-mdms-service/v1/_search + moduleName: common-masters + masterName: Department + tenantId: pg + filter: "[?(@.code == $department)]" + filterMapping: + - variable: $department + valueJsonpath: $.department + uriResponseMapping: + - inJsonPath: $.MdmsRes.common-masters.Department.*.name + outJsonPath: $.Data.department + - path: http://egov-mdms-service.egov:8080/egov-mdms-service/v1/_search + moduleName: RAINMAKER-PGR + masterName: ServiceDefs + tenantId: pg + filter: "[?((@.serviceCode == $servicecode) && (@.active == true))]" + filterMapping: + - variable: $servicecode + valueJsonpath: $.service.serviceCode + uriResponseMapping: + - inJsonPath: $.MdmsRes.RAINMAKER-PGR.ServiceDefs.*.slaHours + outJsonPath: $.Data.slaHours + - path: http://egov-mdms-service.egov:8080/egov-mdms-service/v1/_search + moduleName: tenant + masterName: tenants + tenantId: pg + filter: "[?(@.code == $tenant)]" + filterMapping: + - variable: $tenant + valueJsonpath: $.service.tenantId + uriResponseMapping: + - inJsonPath: $.MdmsRes.tenant.tenants + outJsonPath: $.Data.tenantData + + - topic: update-pgr-request + configKey: INDEX + indexes: + - name: pgr-services + type: general + id: $.service.serviceRequestId + jsonPath: $ + timeStampField: $.service.auditDetails.lastModifiedTime + fieldsToBeMasked: ["$.service.citizen.userName", "$.service.citizen.name", "$.service.citizen.mobileNumber", "$.service.citizen.emailId"] + customJsonMapping: + indexMapping: {"Data":{"ward":{}, "history":{}, "department":"department", "slaHours":"slaHours", "tenantData":{}}} + fieldMapping: + - inJsonPath: $ + outJsonPath: $.Data + externalUriMapping: + - path: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search + queryParam: hierarchyTypeCode=ADMIN,boundaryType=locality,codes=$.service.address.locality.code,tenantId=$.service.tenantId + apiRequest: {"RequestInfo":{"apiId":"org.egov.pt","ver":"1.0","ts":1502890899493,"action":"asd","did":"4354648646","key":"xyz","msgId":"654654","requesterId":"61","authToken":"d9994555-7656-4a67-ab3a-a952a0d4dfc8","userInfo":{"id":1,"uuid":"1fec8102-0e02-4d0a-b283-cd80d5dab067","type":"EMPLOYEE","tenantId":"pg.citya","roles":[{"name":"Employee","code":"EMPLOYEE","tenantId":"pg.citya"}]}}} + uriResponseMapping: + - inJsonPath: $.TenantBoundary[0].boundary[0] + outJsonPath: $.Data.ward + - path: http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search + queryParam: businessIds=$.service.serviceRequestId,history=true,tenantId=$.service.tenantId + apiRequest: {"RequestInfo":{"apiId":"org.egov.pt","ver":"1.0","ts":1502890899493,"action":"asd","did":"4354648646","key":"xyz","msgId":"654654","requesterId":"61","authToken":"d9994555-7656-4a67-ab3a-a952a0d4dfc8","userInfo":{"id":1,"uuid":"1fec8102-0e02-4d0a-b283-cd80d5dab067","type":"EMPLOYEE","tenantId":"pg.citya","roles":[{"name":"Employee","code":"EMPLOYEE","tenantId":"pg.citya"}]}}} + uriResponseMapping: + - inJsonPath: $.ProcessInstances + outJsonPath: $.Data.history + mdmsMapping: + - path: http://egov-mdms-service.egov:8080/egov-mdms-service/v1/_search + moduleName: tenant + masterName: tenants + tenantId: pg + filter: "[?(@.code == $tenant)]" + filterMapping: + - variable: $tenant + valueJsonpath: $.service.tenantId + uriResponseMapping: + - inJsonPath: $.MdmsRes.tenant.tenants + outJsonPath: $.Data.tenantData + + - topic: pgr-services-legacyIndex + configKey: LEGACYINDEX + indexes: + - name: pgr-services + type: general + isBulk: true + id: $.service.serviceRequestId + jsonPath: $.PGREntities.* + timeStampField: $.service.auditDetails.lastModifiedTime + fieldsToBeMasked: ["$.service.citizen.userName", "$.service.citizen.name", "$.service.citizen.mobileNumber", "$.service.citizen.emailId"] + customJsonMapping: + indexMapping: {"Data":{"PGREntity":{},"ward":{},"tenantData":{}, "history":{}}} + fieldMapping: + - inJsonPath: $ + outJsonPath: $.Data.PGREntity + externalUriMapping: + - path: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search + queryParam: hierarchyTypeCode=ADMIN,boundaryType=locality,codes=$.service.address.locality.code,tenantId=$.service.tenantId + apiRequest: {"RequestInfo":{"apiId":"org.egov.pt","ver":"1.0","ts":1502890899493,"action":"asd","did":"4354648646","key":"xyz","msgId":"654654","requesterId":"61","authToken":"d9994555-7656-4a67-ab3a-a952a0d4dfc8","userInfo":{"id":1,"uuid":"1fec8102-0e02-4d0a-b283-cd80d5dab067","type":"EMPLOYEE","tenantId":"pg.citya","roles":[{"name":"Employee","code":"EMPLOYEE","tenantId":"pg.citya"}]}}} + uriResponseMapping: + - inJsonPath: $.TenantBoundary[0].boundary[0] + outJsonPath: $.Data.ward + - path: http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search + queryParam: businessIds=$.service.serviceRequestId,history=true,tenantId=$.service.tenantId + apiRequest: {"RequestInfo":{"apiId":"org.egov.pt","ver":"1.0","ts":1502890899493,"action":"asd","did":"4354648646","key":"xyz","msgId":"654654","requesterId":"61","authToken":"d9994555-7656-4a67-ab3a-a952a0d4dfc8","userInfo":{"id":1,"uuid":"1fec8102-0e02-4d0a-b283-cd80d5dab067","type":"EMPLOYEE","tenantId":"pg.citya","roles":[{"name":"Employee","code":"EMPLOYEE","tenantId":"pg.citya"}]}}} + uriResponseMapping: + - inJsonPath: $.ProcessInstances + outJsonPath: $.Data.history + mdmsMapping: + - path: http://egov-mdms-service.egov:8080/egov-mdms-service/v1/_search + moduleName: tenant + masterName: tenants + tenantId: pg + filter: "[?(@.code == $tenant)]" + filterMapping: + - variable: $tenant + valueJsonpath: $.service.tenantId + uriResponseMapping: + - inJsonPath: $.MdmsRes.tenant.tenants + outJsonPath: $.Data.tenantData + - topic: pgr-service-reindex + configKey: REINDEX + indexes: + - name: pgrreindex-v2 + type: general + id: $.Data.service.serviceRequestId + isBulk: true + jsonPath: $.hits + timeStampField: $.Data.service.auditDetails.lastModifiedTime