mCollect - National DSS Documentation
NDSS has two sides to it. One being the process in which the Data is pooled to ElasticSearch and the other being the way it is fetched, aggregated, computed, transformed and sent across.
As this revolves around a variety of Data Set, there is a need for making this configurable. So that, tomorrow, given a new scenario is introduced, then it is just a configuration away from getting the newly introduced scenario involved in this flow of process.
This document explains the steps on how to define the configurations for Analytics Side Of DSS for mCollect.
What is analytics?
Analytics : Micro Service which is responsible for building, fetching, aggregating and computing the Data on ElasticSearch to a consumable Data Response. Which shall be later used for visualizations and graphical representations.
Analytics Configurations:
Analytics contains multiple configurations. we need to add the changes related to National-Dashboard in this dashboard-analytics.
Here is the location : https://github.com/egovernments/configs/tree/qa/egov-dss-dashboards/dashboard-analytics
Below is a list of configurations that need to be changed to run National-Dashboard successfully.
Chart API Configuration
Master Dashboard Configuration
Role Dashboard Mappings Configuration
Description :
Chart API Configuration :
Each Visualization has its own properties. Each Visualization comes from different data sources (Sometimes it is a combination of different data sources)
In order to configure each visualization and their properties, we have a Chart API Configuration Document.
In this, Visualization Code, which happens to be the key, will be having its properties configured as a part of configuration and are easily changeable.
Here is the sample ChartApiConfiguration.json data for the mCollect.
"mCollectTodaysCollectionv2": { "chartName": "DSS_TODAYS_COLLECTION", "queries": [ { "module": "COMMON", "dateRefField": "", "requestQueryMap": "{\"state\" : \"state.keyword\",\"ulb\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"range\":{\"date\":{\"gt\":\"now-1d\/d\",\"lte\":\"now\"}}}]}},\"aggs\":{\"Todays Collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}}}}}}" } ], "chartType": "metric", "valueType": "Amount", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Todays Collection" ], "insight": { "chartResponseMap" : "mCollectTodaysCollectionv2", "action" : "differenceOfNumbers", "upwardIndicator" : "positive", "downwardIndicator" : "negative", "textMessage" : "$indicator$value% than last $insightInterval", "colorCode" : "#228B22", "insightInterval" : "month" }, "_comment": " " }, "mCollectTotalCollectionv2": { "chartName": "DSS_TOTAL_COLLECTION", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}}}}}}" } ], "chartType": "metric", "valueType": "Amount", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Total Collection" ], "insight": { "chartResponseMap" : "mCollectTotalCollectionv2", "action" : "differenceOfNumbers", "upwardIndicator" : "positive", "downwardIndicator" : "negative", "textMessage" : "$indicator$value% than last $insightInterval", "colorCode" : "#228B22", "insightInterval" : "year" }, "_comment": " " }, "mCollectTotalChallansv2": { "chartName": "DSS_TOTAL_CHALLANS", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{}},\"aggs\":{\"Total Challans\":{\"sum\":{\"field\":\"numberOfChallansForChallanStatus\"}}}}}}" } ], "chartType": "metric", "valueType": "number", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Total Challans" ], "insight": { "chartResponseMap" : "mCollectTotalChallansv2", "action" : "differenceOfNumbers", "upwardIndicator" : "positive", "downwardIndicator" : "negative", "textMessage" : "$indicator$value% than last $insightInterval", "colorCode" : "#228B22", "insightInterval" : "year" }, "_comment": " " }, "mCollectTotalReceiptsv2": { "chartName": "DSS_TOTAL_RECEIPTS", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{}},\"aggs\":{\"Total Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}}}}}}" } ], "chartType": "metric", "valueType": "number", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Total Receipts" ], "insight": { "chartResponseMap" : "mCollectTotalReceiptsv2", "action" : "differenceOfNumbers", "upwardIndicator" : "positive", "downwardIndicator" : "negative", "textMessage" : "$indicator$value% than last $insightInterval", "colorCode" : "#228B22", "insightInterval" : "year" }, "_comment": " " }, "mCollectTotalCategoriesv2": { "chartName": "DSS_TOTAL_CATEGORIES", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{}},\"aggs\":{\"Total Categories\":{\"cardinality\":{\"field\":\"category.keyword\"}}}}}}" } ], "chartType": "metric", "valueType": "number", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Total Categories" ], "insight": { "chartResponseMap" : "mCollectTotalCategoriesv2", "action" : "differenceOfNumbers", "upwardIndicator" : "positive", "downwardIndicator" : "negative", "textMessage" : "$indicator$value% than last $insightInterval", "colorCode" : "#228B22", "insightInterval" : "month" }, "_comment": " " }, "mcCollectionByPaymentModev2": { "chartName": "DSS_MC_COLLECTION_BY_PAYMENT_MODE", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Payment Mode\":{\"terms\":{\"field\":\"paymentMode.keyword\"},\"aggs\":{\"Total collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}}}}}}}}" } ], "chartType": "pie", "valueType": "amount", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Payment Mode" ], "insight": { }, "_comment": " " }, "mcRceiptsByPaymentModev2": { "chartName": "DSS_MC_RECEIPTS_BY_PAYMENT_MODE", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Payment Mode\":{\"terms\":{\"field\":\"paymentMode.keyword\"},\"aggs\":{\"Total Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}}}}}}}}" } ], "chartType": "pie", "valueType": "number", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Payment Mode" ], "insight": { }, "_comment": " " }, "mcMonthlyCumulativeCollectionv2": { "chartName": "DSS_MC_MONTHLY_CUMULATIVE", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"date\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}}}}}}}}" } ], "chartType": "line", "valueType": "amount", "action": "", "drillChart": "none", "documentType": "_doc", "aggregationPaths": [ "Collections" ], "isCumulative": true, "interval": "month", "insight": {}, "_comment": " " }, "mcCollectionByStatusv2": { "chartName": "DSS_MC_COLLECTION_BY_STATUS", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Collection Status\":{\"terms\":{\"field\":\"status.keyword\"},\"aggs\":{\"Total collection\":{\"sum\":{\"field\":\"todaysCollectionForStatus\"}}}}}}}}" } ], "chartType": "pie", "valueType": "amount", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Collection Status" ], "insight": { }, "_comment": " " }, "mcChallanByStatusv2": { "chartName": "DSS_MC_CHALLAN_BY_STATUS", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Challan Status\":{\"terms\":{\"field\":\"challanStatus.keyword\"},\"aggs\":{\"Total collection\":{\"sum\":{\"field\":\"numberOfChallansForChallanStatus\"}}}}}}}}" } ], "chartType": "pie", "valueType": "number", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Challan Status" ], "insight": { }, "_comment": " " }, "mcReceiptsByStatusv2": { "chartName": "DSS_MC_RECEIPTS_BY_STATUS", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Receipts Status\":{\"terms\":{\"field\":\"status.keyword\"},\"aggs\":{\"Total collection\":{\"sum\":{\"field\":\"numberOfReceiptsForStatus\"}}}}}}}}" } ], "chartType": "pie", "valueType": "number", "drillChart": "none", "documentType": "_doc", "action": "", "aggregationPaths": [ "Receipts Status" ], "insight": { }, "_comment": " " }, "mcCollectionCategoryWisev2": { "chartName": "DSS_MC_COLLECTION_CATEGORY_WISE", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Business Service\":{\"terms\":{\"field\":\"category.keyword\",\"order\":{\"total\":\"desc\"}},\"aggs\":{\"total\":{\"sum\":{\"field\":\"todaysCollectionForCategory\"}}}}}}}}" } ], "chartType": "pie", "valueType": "amount", "action": "", "documentType": "_doc", "drillChart": "none", "aggregationPaths": [ "Business Service" ], "insight": {}, "_comment": " " }, "mcReportByStatev3": { "chartName": "DSS_MC_REPORT_BY_STATE", "queries": [ { "module": "COMMON", "requestQueryMap": "{\"stateId\" : \"state.keyword\"}", "dateRefField": "date", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"State name\":{\"terms\":{\"field\":\"state.keyword\"}, \"aggs\":{\"Total_Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}},\"Total_Collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}},\"Total_Challans\":{\"sum\":{\"field\":\"numberOfChallansForChallanStatus\"}} }}}}}}" } ], "isMdmsEnabled": false, "filterKeys": [ {"key": "stateId", "column": "States"} ], "chartType": "xtable", "drillChart": "mcReportByTenantv3", "plotLabel": "States", "aggregationPaths": [ "Total_Collection", "Total_Challans", "Total_Receipts" ], "pathDataTypeMapping": [ { "Total_Collection": "amount" }, { "Total_Challans": "number" }, { "Total_Receipts": "number" } ], "insight": { }, "_comment": "" }, "mcReportByDDRv3": { "chartName": "DSS_MC_REPORT_BY_DDR", "queries": [ { "module": "COMMON", "requestQueryMap": "{\"stateId\" : \"state.keyword\", \"region\" : \"region.keyword\"}", "dateRefField": "date", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Region\":{\"terms\":{\"field\":\"region.keyword\"}, \"aggs\":{\"Total_Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}},\"Total_Collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}},\"Total_Challans\":{\"sum\":{\"field\":\"numberOfChallansForChallanStatus\"}} }}}}}}" } ], "isMdmsEnabled": false, "filterKeys": [ {"key": "region", "column": "DDR"} ], "chartType": "xtable", "drillChart": "mcReportByTenantv3", "plotLabel": "DDR", "aggregationPaths": [ "Total_Collection", "Total_Challans", "Total_Receipts" ], "pathDataTypeMapping": [ { "Total_Collection": "amount" }, { "Total_Challans": "number" }, { "Total_Receipts": "number" } ], "insight": { }, "_comment": "" }, "mcReportByTenantv3": { "chartName": "DSS_MC_REPORT_BY_TENANT", "queries": [ { "module": "COMMON", "requestQueryMap": "{\"stateId\" : \"state.keyword\", \"region\" : \"region.keyword\", \"tenantId\" : \"ulb.keyword\"}", "dateRefField": "date", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Tenant\":{\"terms\":{\"field\":\"ulb.keyword\"}, \"aggs\":{\"Total_Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}},\"Total_Collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}},\"Total_Challans\":{\"sum\":{\"field\":\"numberOfChallansForChallanStatus\"}} }}}}}}" } ], "isMdmsEnabled": false, "filterKeys": [ {"key": "tenantId", "column": "ULB"} ], "chartType": "xtable", "drillChart": "mcReportByWardv3", "plotLabel": "ULB", "aggregationPaths": [ "Total_Collection", "Total_Challans", "Total_Receipts" ], "pathDataTypeMapping": [ { "Total_Collection": "amount" }, { "Total_Challans": "number" }, { "Total_Receipts": "number" } ], "insight": { }, "_comment": "" }, "mcReportByWardv3": { "chartName": "DSS_MC_REPORT_BY_WARD", "queries": [ { "module": "COMMON", "requestQueryMap": "{\"stateId\" : \"state.keyword\", \"region\" : \"region.keyword\", \"tenantId\" : \"ulb.keyword\", \"ward\" : \"ward.keyword\"}", "dateRefField": "date", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Ward\":{\"terms\":{\"field\":\"ward.keyword\"}, \"aggs\":{\"Total_Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}},\"Total_Collection\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}},\"Total_Challans\":{\"sum\":{\"field\":\"numberOfChallansForChallanStatus\"}} }}}}}}" } ], "isMdmsEnabled": false, "filterKeys": [ {"key": "ward", "column": "Ward"} ], "chartType": "xtable", "drillChart": "none", "plotLabel": "Ward", "aggregationPaths": [ "Total_Collection", "Total_Challans", "Total_Receipts" ], "pathDataTypeMapping": [ { "Total_Collection": "amount" }, { "Total_Challans": "number" }, { "Total_Receipts": "number" } ], "insight": { }, "_comment": "" }, "mcMonthlyCollectionv2": { "chartName": "DSS_MC_MONTHLY_REPORT", "queries": [ { "module": "COMMON", "dateRefField": "date", "requestQueryMap": "{\"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\"}", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"date\",\"interval\":\"month\"},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"todaysCollectionForPaymentMode\"}}}},\"Receipts\":{\"date_histogram\":{\"field\":\"date\",\"interval\":\"month\"},\"aggs\":{\"Total Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForPaymentMode\"}}}} }}}}" } ], "valueType":"amount", "chartType": "line", "action": "", "drillChart": "none", "documentType": "_doc", "aggregationPaths": [ "Collections", "Receipts" ], "pathDataTypeMapping": [ { "Collections": "amount" }, { "Receipts": "number" } ], "isCumulative": false, "interval": "month", "insight": { }, "_comment": " " }, "mcReportByCategoryv3": { "chartName": "DSS_MC_STATUS_BY_CATEGORY", "queries": [ { "module": "COMMON", "requestQueryMap": "{\"departmentId\" : \"category.keyword\" , \"state\" : \"state.keyword\",\"tenantId\" : \"ulb.keyword\" , \"ward\" : \"ward.keyword\" }", "dateRefField": "date", "indexName": "mcollect-national-dashboard", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[]}},\"aggs\":{\"Department\":{\"terms\":{\"field\":\"category.keyword\"}, \"aggs\":{\"Total_Receipts\":{\"sum\":{\"field\":\"numberOfReceiptsForCategory\"}},\"Total_Collection\":{\"sum\":{\"field\":\"todaysCollectionForCategory\"}}, \"Total_Challans\":{\"sum\":{\"field\":\"numberOfChallansForCategory\"}}}}}}}}" } ], "filterKeys": [ {"key": "departmentId", "column": "Department"} ], "chartType": "xtable", "drillChart": "none", "documentType": "_doc", "action": "", "plotLabel": "Department", "aggregationPaths": [ "Total_Collection", "Total_Challans", "Total_Receipts" ], "pathDataTypeMapping": [ { "Total_Collection": "amount" }, { "Total_Challans": "number" }, { "Total_Receipts": "number" } ], "insight": { }, "_comment": "" }
Click here to check the complete configuration
Master Dashboard Configuration:
Master Dashboard Configuration is the main configuration which defines as which are the Dashboards which are to be painted on screen.
It includes all the Visualizations, their groups, the charts which comes within them and even their dimensions as what should be their height and width.
{ "name": "DSS_M_COLLECT_DASHBOARD", "id": "national-mcollect", "isActive": "", "style": "linear", "visualizations": [ { "row": 1, "name": "DSS_REVENUE", "vizArray": [ { "id": 311, "name": "DSS_OVERVIEW", "dimensions": { "height": 350, "width": 5 }, "vizType": "metric-collection", "label": "DSS_OVERVIEW", "noUnit": true, "isCollapsible": false, "charts": [ { "id": "mCollectTodaysCollectionv2", "name": "DSS_TODAYS_COLLECTION", "code": "", "chartType": "metric", "filter": { "title": "TODAY" }, "headers": [] }, { "id": "mCollectTotalCollectionv2", "name": "DSS_TOTAL_COLLECTION", "code": "", "chartType": "metric", "filter": "", "headers": [] }, { "id": "mCollectTotalChallansv2", "name": "DSS_TOTAL_CHALLANS", "code": "", "chartType": "metric", "filter": "", "headers": [] }, { "id": "mCollectTotalReceiptsv2", "name": "DSS_TOTAL_RECEIPTS", "code": "", "chartType": "metric", "filter": "", "headers": [] }, { "id": "mCollectTotalCategoriesv2", "name": "DSS_TOTAL_CATEGORIES", "code": "", "chartType": "metric", "filter": "", "headers": [] } ] }, { "id": 312, "name": "Total Cumulative Collection", "dimensions": { "height": 350, "width": 7 }, "vizType": "chart", "label": "", "noUnit": true, "isCollapsible": false, "charts": [ { "id": "mcMonthlyCumulativeCollectionv2", "name": "Monthly", "code": "", "chartType": "line", "filter": "", "headers": [] } ] } ] }, { "row": 2, "name": "DSS_REVENUE", "vizArray": [ { "id": 234, "name": "DSS_MC_RECEIPTS_BY_PAYMENTMODE", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcRceiptsByPaymentModev2", "name": "DSS_MC_RECEIPTS_BY_PAYMENT_MODE", "code": "", "chartType": "donut", "filter": "", "headers": [] } ] }, { "id": 323, "name": "DSS_MC_COLLECTION_BY_PAYMENT_TYPE", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "label": "", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcCollectionByPaymentModev2", "name": "DSS_MC_COLLECTION_BY_PAYMENT_MODE", "code": "", "chartType": "donut", "filter": "", "headers": [] } ] } ] }, { "row": 3, "name": "DSS_REVENUE", "vizArray": [ { "id": 235, "name": "DSS_MC_CHALLAN_COUNT_BY_STATUS", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcChallanByStatusv2", "name": "DSS_MC_CHALLAN_BY_STATUS", "code": "", "chartType": "donut", "filter": "", "headers": [] } ] }, { "id": 233, "name": "DSS_MC_RECEIPTS_BY_STATUS", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcReceiptsByStatusv2", "name": "DSS_MC_RECEIPTS_BY_STATUS", "code": "", "chartType": "donut", "filter": "", "headers": [] } ] }, { "id": 232, "name": "DSS_MC_COLLECTION_BY_STATUS", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcCollectionByStatusv2", "name": "DSS_MC_COLLECTION_BY_STATUS", "code": "", "chartType": "donut", "filter": "", "headers": [] } ] } ] }, { "row": 4, "name": "DSS_REVENUE", "vizArray": [ { "id": 123, "name": "DSS_MC_COLLECTION_CATEGORY_WISE", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcCollectionCategoryWisev2", "name": "DSS_MC_COLLECTION_CATEGORY_WISE", "code": "", "chartType": "horizontalBar", "filter": "", "headers": [] } ] }, { "id": 124, "name": "DSS_MC_MONTHLY_REPORT", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcMonthlyCollectionv2", "name": "DSS_MC_MONTHLY_REPORT", "code": "", "chartType": "bar", "filter": "", "headers": [] } ] } ] }, { "row": 5, "name": "DSS_REVENUE", "vizArray": [ { "id": 236, "name": "DSS_MC_REPORT_BY_TENANT", "dimensions": { "height": 250, "width": 4 }, "vizType": "chart", "noUnit": false, "isCollapsible": false, "charts": [ { "id": "mcReportByStatev3", "name": "DSS_MC_REPORT_BY_TENANT", "code": "", "chartType": "table", "filter": "", "headers": [], "tabName": "Boundary" }, { "id": "mcReportByCategoryv3", "name": "DSS_MC_STATUS_BY_CATEGORY", "code": "", "chartType": "table", "filter": "", "headers": [], "tabName": "Category" } ] } ] } ] }
Click here for the complete configuration
Role Dashboard Mappings Configuration:
Master Dashboard Configuration which was explained earlier hold the list of Dashboards which are available.
Given the instance where Role Action Mapping is not maintained in the Application Service, this configuration will act as Role - Dashboard Mapping Configuration
In this, each Role is mapped against the Dashboard which they are authorized to see
This was used earlier when the Role Action Mapping of eGov was not integrated.
Later, when the Role Action Mapping started controlling the Dashboards to be seen on the client side, this configuration was just used to enable the Dashboards for viewing.
{ "_comment": "Holds mapping for each role with and its associated dashboards", "roles" : [ { "_comment":"This role is super role which can access all the available dashboards: [other/new roles are suppose to be added]", "roleId": 6, "roleName" : "Admin", "isSuper" : "", "orgId": "", "dashboards": [ { "name": "National mCollect", "id": "national-mcollect" } ] } ] }
Click here for the entire configuration
MDMS Configuration to be added:
common-masters/uiCommonConstants.json
"national-mcollect": { "routePath": "/dashboard/national-mcollect", "isOrigin": true }
Click here for complete configuration
roleaction.json
{ "rolecode": "STADMIN", "actionid": {{PlaceHolder1}}, "actioncode": "", "tenantId": "pb" } { "rolecode": "STADMIN", "actionid": {{PlaceHolder2}}, "actioncode": "", "tenantId": "pb" }, { "rolecode": "EMPLOYEE", "actionid": {{PlaceHolder2}}, "actioncode": "", "tenantId": "pb" }, { "rolecode": "UC_EMP", "actionid": {{PlaceHolder2}}, "actioncode": "", "tenantId": "pb" },
Click here for complete configurations
Action test.json:
{ "id": {{PlaceHolder1}}, "name": "NSS Dashboard Config National mCollect", "url": "/dashboard-analytics/dashboard/getDashboardConfig/national-mcollect", "parentModule": "", "displayName": "NSS", "orderNumber": 0, "enabled": false, "serviceCode": "NSS", "code": "null", "path": "" }, { "id": {{PlaceHolder2}}, "name": "National Dashboard mCollect", "url": "url", "displayName": "National mCollect", "orderNumber": 4, "parentModule": "ndss-dashboard", "enabled": true, "serviceCode": "NDSS", "code": "null", "path": "NatDashboard.Mcollect", "navigationURL": "/digit-ui/employee/dss/dashboard/national-mcollect", "leftIcon": "places:business-center", "rightIcon": "" }
Click here for complete configuration
mCollect - National DSS Consists of multiple graphs which represent the data of mCollect. Each graph has its own configuration which will describe the chart and its type.
National DSS Consists of following charts in mCollect :
Overview
Total Cumulative Collection
Receipts by Payment Mode
Collection by Payment Mode
Challan Count by Status
Receipts Count by Status
Collection by Status
Top Categories Collections
Monthly Collections
Overview:
Overview graph contains multiple data information as below in the selected time period.
Today’s Collection : This represents the today’s collection amount.
Total Collection : This represents the total collection amount.
Total Challans : This represents the total number of challans
Total Receipts : This represents the total number of receipts
Number of Categories : This represents the total number of categories
Total Cumulative Collection:
This Graph contains the mCollect collection amount information in the monthly base as a cumulative line graph. This will change as per the denomination amount filter selection.
line - this graph/chart is data representation on date histograms or date groupings.
Receipts by Payment Mode
This graph shows the number of receipts based on the payment mode.
Collection by Payment Mode
This graph shows the collection amount based on the payment mode.
Challan Count by Status
This graph shows the number of challans based on the status.
Receipts Count by Status
This graph shows the number of receipts based on the status.
Collection by Status
This graph shows the collection amount based on the status.
Top Categories Collection
This graph shows the collection amount based on the categories, in descending order.
Monthly Collection
This graph shows the total collection and number of receipts for each month.
Collection Report:
Boundary
This tabular chart representation graph shows multiple mCollect information like Total Collection, Number of Receipts and Number of Challans. And this table shows the data in State level and also has the drill down chart for each State to ulb and from ulb to ward level data for the same.
xtable type allows to add multiple computed fields with the aggregated fields dynamically added.
To add multiple computed columns, computedFields [] where actionName (IComputedField<T> interface), fields [] names as in exist in query key, newField as name to appear for computation must be defined.
On click of any State name will enter into drill down charts, which will represents that specific Ulb data.
On click of the ULB will navigate to wards under that specific ULB and each ward shows the specific data regarding that ward.
Category
Shows the category wise data for Total Collections, Number of Challans and Number of Receipts.
Index Properties of National mCollect
The index that contains data for National-mCollect is- mcollect-national-dashboard
The mapping for this index is:
PUT mcollect-national-dashboard/_mapping/nss { "properties": { "todaysCollectionForCategory": { "type": "long" }, "todaysCollectionForPaymentMode": { "type": "long" }, "todaysCollectionForStatus": { "type": "long" }, "paymentMode": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "status": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "category": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "challanStatus": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "numberOfReceiptsForStatus": { "type": "long" }, "numberOfReceiptsForPaymentMode": { "type": "long" }, "numberOfReceiptsForCategory": { "type": "long" }, "numberOfChallansForChallanStatus": { "type": "long" }, "numberOfChallansForCategory": { "type": "long" }, "ward": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "ulb": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "region": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "state": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "date": { "type": "date", "format": "dd-MM-yyyy HH:mm:ss||dd-MM-yyyy||epoch_millis||dd-MM-yyyy'T'HH:mm:ss.SSSZ" } } }