diff --git a/Jenkinsfile b/Jenkinsfile index 10efb9dd..1206b9c1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,41 +1,3 @@ -def app = ""; -def commit_id=""; -def module_name = "${env.JOB_NAME}".split("/")[-2]; -def service_name = "${env.JOB_BASE_NAME}"; -def path = "${module_name}/${service_name}" -def build_wkflo; -def ci_image = "egovio/ci:0.0.4" -def notifier = ""; +library 'ci-libs' -try { - node("slave"){ - checkout scm - sh "git rev-parse --short HEAD > .git/commit-id".trim() - commit_id = readFile('.git/commit-id') - - def docker_file_exists = fileExists("${path}/Dockerfile") - - code_builder = load("jenkins/code_builder.groovy") - notifier = load("jenkins/notifier.groovy") - currentBuild.displayName = "${BUILD_ID}-${commit_id}" - - if (!docker_file_exists) { - code_builder.build(path, ci_image) - } - else { - archiver = load("jenkins/archiver.groovy") - image_builder = load("jenkins/image_builder.groovy") - code_builder.build(path, ci_image) - archiver.archiveArtifacts(["${path}/target/*.jar", "${path}/target/*.html"]) - image_builder.build(module_name, service_name, commit_id) - image_builder.publish(service_name, commit_id) - image_builder.clean(service_name, commit_id) - } - } -} catch (e) { - node{ - echo - notifier.notifyBuild("FAILED") - throw e - } -} +buildPipeline(configFile: './build/build-config.yml') diff --git a/build/build-config.yml b/build/build-config.yml new file mode 100644 index 00000000..08a376d4 --- /dev/null +++ b/build/build-config.yml @@ -0,0 +1,15 @@ +# +# config: +# - name: < Name of the job, foo/bar would create job named bar inside folder foo > +# build: +# - work-dir: < Working directory of the app to be built > +# dockerfile: < Path to the dockerfile, optional, assumes dockerfile in working directory if not provided > +# image-name: < Docker image name > +# - +# - +config: + - name: "builds/punjab-rainmaker-customization/rainmaker-custom-service" + build: + - work-dir: "rainmaker-custom-service" + image-name: "rainmaker-custom-service" + dockerfile: "rainmaker-custom-service/Dockerfile" diff --git a/build/maven/Dockerfile b/build/maven/Dockerfile new file mode 100644 index 00000000..c7c85163 --- /dev/null +++ b/build/maven/Dockerfile @@ -0,0 +1,9 @@ +FROM node:8.12-alpine +RUN npm install -g yarn +RUN mkdir /opt/app +COPY package.json yarn.lock /opt/app/ +WORKDIR /opt/app +RUN yarn install +COPY . /opt/app +CMD ["node", "index.js"] + diff --git a/build/maven/start.sh b/build/maven/start.sh new file mode 100644 index 00000000..08bdd8de --- /dev/null +++ b/build/maven/start.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +if [[ -z "${JAVA_OPTS}" ]];then + export JAVA_OPTS="-Xmx64m -Xms64m" +fi + +if [ x"${JAVA_ENABLE_DEBUG}" != x ] && [ "${JAVA_ENABLE_DEBUG}" != "false" ]; then + java_debug_args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${JAVA_DEBUG_PORT:-5005}" +fi + +exec java ${java_debug_args} ${JAVA_OPTS} ${JAVA_ARGS} -jar /opt/egov/*.jar \ No newline at end of file diff --git a/configs/egov-dss-dashboards/.project b/configs/egov-dss-dashboards/.project new file mode 100644 index 00000000..918700e2 --- /dev/null +++ b/configs/egov-dss-dashboards/.project @@ -0,0 +1,11 @@ + + + egov-dss-dashboards + + + + + + + + diff --git a/configs/egov-dss-dashboards/dashboard-analytics/ChartApiConfig.json b/configs/egov-dss-dashboards/dashboard-analytics/ChartApiConfig.json index 191a0793..0c16ed54 100644 --- a/configs/egov-dss-dashboards/dashboard-analytics/ChartApiConfig.json +++ b/configs/egov-dss-dashboards/dashboard-analytics/ChartApiConfig.json @@ -1,22 +1,63 @@ + { "_comment": "dss-collectionindex new queries ", + "overviewTargetAchieved": { + "chartName": "DSS_TARGET_ACHIEVED", + "queries": [ + { + "module": "COMMON", + "requestQueryMap": "{\r\n \"module\" : \"businessService.keyword\", \n\"tenantId\" : \"tenantIdForMunicipalCorporation\"}", + "dateRefField": "startdate", + "indexName": "dss-target_v1", + "aggrQuery": "{\"aggs\":{\"Actual collection\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}" + }, + { + "module": "COMMON", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"district\" : \"dataObject.tenantData.city.districtCode\", \"module\" : \"dataObject.paymentDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"dataObject.paymentDetails.bill.businessService.keyword\":[\"PT\",\"TL\"]}}],\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" + } + + ], + "chartType": "metric", + "valueType": "percentage", + "drillChart": "none", + "documentType": "_doc", + "action": "percentage", + "aggregationPaths": [ + "Total Collection", + "Actual collection" + ], + "insight": { + "chartResponseMap" : "targetAchieved", + "action" : "differenceOfNumbers", + "upwardIndicator" : "positive", + "downwardIndicator" : "negative", + "textMessage" : "$indicator$value% than last $insightInterval", + "colorCode" : "#228B22", + "insightInterval" : "year" + }, + "_comment": " " + }, "totalCollection": { "chartName": "DSS_TOTAL_COLLECTION", "queries": [ { "module": "PT", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}],\"must\":[{\"term\":{\"dataObject.Bill.billDetails.businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}" - }, + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"Total Collection\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}" + }, { "module": "TL", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}],\"must\":[{\"term\":{\"dataObject.Bill.billDetails.businessService.keyword\":\"TL\"}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"TL\"}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" + } ], "chartType": "metric", @@ -28,13 +69,6 @@ "Total Collection" ], "insight": { - "chartResponseMap" : "totalCollection", - "action" : "differenceOfNumbers", - "upwardIndicator" : "positive", - "downwardIndicator" : "negative", - "textMessage" : "$indicator$value% than last $insightInterval", - "colorCode" : "#228B22", - "insightInterval" : "year" }, "_comment": " " }, @@ -43,10 +77,17 @@ "queries": [ { "module": "COMMON", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"module\" : \"dataObject.paymentDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"TL\"]}}]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"dataObject.paymentDetails.receiptDate\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}" + }, + { + "module": "COMMON", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"module\" : \"dataObject.paymentDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}],\"must\":[{\"terms\":{\"dataObject.Bill.billDetails.businessService.keyword\":[\"PT\",\"TL\"]}}]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"dataObject.Bill.billDetails.receiptDate\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\"]}}]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"dataObject.paymentDetails.receiptDate\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Sum\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}" } ], "chartType": "line", @@ -69,16 +110,16 @@ { "module": "COMMON", "requestQueryMap": "{\r\n \"module\" : \"businessService.keyword\", \n\"tenantId\" : \"tenantIdForMunicipalCorporation\"}", - "dateRefField": "", + "dateRefField": "startdate", "indexName": "dss-target_v1", "aggrQuery": "{\"aggs\":{\"Actual collection\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}" }, { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"district\" : \"dataObject.tenantData.cityDistrictCode\", \"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"district\" : \"dataObject.tenantData.city.districtCode\", \"module\" : \"dataObject.paymentDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" } ], @@ -103,21 +144,35 @@ "_comment": " " }, "todaysCollection": { - "chartName": "DSS_TOTAL_COLLECTION", + "chartName": "DSS_TODAYS_COLLECTION", "queries": [ { "module": "PT", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}],\"must\":[{\"term\":{\"dataObject.Bill.billDetails.businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"Todays Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" }, { "module": "TL", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"TL\"}}]}},\"aggs\":{\"Todays Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" + }, + { + "module": "FIRENOC", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"FIRENOC\"]}},{\"range\":{\"dataObject.paymentDetails.receiptDate\":{\"gte\":\"now-24h\",\"lte\":\"now\"}}}],\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pg.testing\"}},{\"term\":{\"dataObject.paymentStatus.keyword\":\"Cancelled\"}}]}},\"aggs\":{\"Todays Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"dataObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\",\"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate" + }, + { + "module": "MCOLLECT", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}],\"must\":[{\"term\":{\"dataObject.Bill.billDetails.businessService.keyword\":\"TL\"}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"terms\":{\"dataObject.tenantId.keyword\":[\"pg.testing\",\"pg\"]}},{\"terms\":{\"dataObject.bill.status.keyword\":[\"Cancelled\"]}},{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\",\"TL\",\"WS.ONE_TIME_FEE\",\"SW.ONE_TIME_FEE\",\"FSM.TRIP_CHARGES\",\"PT.MUTATION\",\"SW\",\"BPA.LOW_RISK_PERMIT_FEE\",\"BPA.NC_SAN_FEE\",\"BPA.NC_APP_FEE\",\"BPA.NC_OC_APP_FEE\"]}}],\"must\":[{\"range\":{\"dataObject.paymentDetails.receiptDate\":{\"gte\":\"now-1d\",\"lte\":\"now\"}}}]}},\"aggs\":{\"Todays Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" } ], "chartType": "metric", @@ -126,7 +181,7 @@ "documentType": "_doc", "action": "", "aggregationPaths": [ - "Total Collection" + "Todays Collection" ], "insight": { }, @@ -137,11 +192,19 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}],\"must\":[{\"terms\":{\"dataObject.Bill.billDetails.businessService.keyword\":[\"PT\",\"TL\"]}}]}},\"aggs\":{\"Business Service\":{\"terms\":{\"field\":\"dataObject.Bill.billDetails.businessService.keyword\"},\"aggs\":{\"total\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"TL\"]}}]}},\"aggs\":{\"Business Service\":{\"terms\":{\"field\":\"dataObject.paymentDetails.businessService.keyword\"},\"aggs\":{\"total\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}" + }, + { + "module": "COMMON", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\"]}}]}},\"aggs\":{\"Business Service\":{\"terms\":{\"field\":\"dataObject.paymentDetails.businessService.keyword\"},\"aggs\":{\"total\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}" } + ], "chartType": "pie", "valueType": "Amount", @@ -167,10 +230,10 @@ }, { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"module\" : \"dataObject.paymentDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Collection\":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":\"200\",\"order\":{\"Sum\":\"desc\"}},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Collection\":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":\"200\",\"order\":{\"Sum\":\"desc\"}},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}" } ], "chartType": "perform", @@ -180,7 +243,7 @@ "action": "percentage", "plotLabel": "DSS_TARGET_ACHIEVED", "order": "desc", - "limit": 3, + "limit": 4, "aggregationPaths": [ "Total Collection","Target Collection" ], @@ -200,10 +263,10 @@ }, { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Collection\":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":\"200\",\"order\":{\"Sum\":\"asc\"}},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Collection\":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":\"200\",\"order\":{\"Sum\":\"asc\"}},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}" } ], "chartType": "perform", @@ -226,14 +289,14 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantData.code\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"License Instrument Type\":{\"terms\":{\"field\":\"dataObject.instrument.typeName.keyword\"},\"aggs\":{\"Licens Issued\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"License Instrument Type\":{\"terms\":{\"field\":\"dataObject.paymentMode.keyword\"},\"aggs\":{\"Licens Issued\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}" } ], "chartType": "pie", - "valueType": "number", + "valueType": "amount", "action": "", "documentType": "_doc", "drillChart": "none", @@ -251,7 +314,7 @@ "queries": [ { "module": "PT", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Application\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId\" \r\n}", "dateRefField": "Data.@timestamp" @@ -297,7 +360,7 @@ "module": "PT", "dateRefField": "Data.@timestamp", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId\" \r\n}", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Applications Closed\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"Data.status.keyword\":[\"closed\",\"resolved\"]}}]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}}}" }, { @@ -371,7 +434,7 @@ "module": "PT", "dateRefField": "Data.@timestamp", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId\" \r\n}", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Property Tax\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}" }, { @@ -410,7 +473,7 @@ "module": "PT", "dateRefField": "Data.@timestamp", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId.keyword\" \r\n}", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Application\":{\"date_histogram\":{\"field\":\"Data.@timestamp\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}},\"Closed Application\":{\"date_histogram\":{\"field\":\"Data.@timestamp\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Applications Closed\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"Data.status.keyword\":[\"closed\",\"resolved\"]}}]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}}}}}" }, { @@ -459,7 +522,7 @@ "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"module\" : \"businessService.keyword\",\"tenantId\" : \"Data.tenantId\" , \"district\" : \"Data.tenantData.city.districtCode\"}", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Closed Application\":{\"filter\":{\"exists\":{\"field\":\"Data.propertyId.keyword\"}},\"aggs\":{\"count\":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"tenant_count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}},\"Total Application\":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"tenant_count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}" }, { @@ -500,7 +563,7 @@ "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"module\" : \"businessService.keyword\",\"tenantId\" : \"Data.tenantId\" ,\"district\" : \"Data.tenantData.city.districtCode\"}", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Closed Application\":{\"filter\":{\"exists\":{\"field\":\"Data.propertyId.keyword\"}},\"aggs\":{\"count\":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"tenant_count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}},\"Total Application\":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"tenant_count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}" }, { @@ -535,7 +598,7 @@ { "module": "COMMON", "requestQueryMap": "{\"module\" : \"businessService.keyword\", \"tenantId\" : \"tenantIdForMunicipalCorporation.keyword\"}", - "dateRefField": "", + "dateRefField": "startdate", "indexName": "dss-target_v1", "aggrQuery": "{\"aggs\":{\"Target Collection\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}" } @@ -559,10 +622,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"Usage Type\":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"size\":200}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Usage Type\":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Usage Type\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}" } ], "chartType": "pie", @@ -577,6 +640,30 @@ }, "_comment": " collection/amount per usage type" }, + "ptcollectionByPaymentMode": { + "chartName": "DSS_PT_COLLECTION_BY_PAYMENT_MODE", + "queries": [ + { + "module": "COMMON", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}],\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"Payment Mode\":{\"terms\":{\"field\":\"dataObject.paymentMode.keyword\",\"size\": 200},\"aggs\":{\"Payment Mode\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}" + + } + ], + "chartType": "pie", + "valueType": "amount", + "action": "", + "documentType": "_doc", + "drillChart": "none", + "aggregationPaths": [ + "Payment Mode" + ], + "insight": { + }, + "_comment": " collection/amount per payment mode" + }, "_comment": "PT NON-COLLECTION CHARTS", "propertiesByUsageType": { @@ -584,11 +671,10 @@ "queries": [ { "module": "PT", - "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"module\" : \"Data.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"Data.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"module\" : \"Data.businessService.keyword\", \"tenantId\" : \"Data.tenantId\", \"district\" : \"Data.tenantData.city.districtCode\"}", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Usage Type\":{\"terms\":{\"field\":\"Data.propertyDetails.units.usageCategoryMajor.keyword\"},\"aggs\":{\"Assessed Properties\":{\"value_count\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}" - + "indexName": "property-services", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Usage Type\":{\"terms\":{\"field\":\"Data.usageCategory.keyword\"}}}}}}" } ], "chartType": "pie", @@ -602,15 +688,36 @@ "insight": { }, "_comment": " properties having assessmentNumber per usage type" + }, + "totalProperties": { + "chartName": "DSS_PT_TOTAL_PROPERTIES", + "queries": [ + { + "module": "PT", + "indexName": "property-services", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Application\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId\" \r\n}", + "dateRefField": "" + } + ], + "chartType": "metric", + "valueType": "number", + "action": "", + "documentType": "_doc", + "drillChart": "none", + "aggregationPaths": [ + "Total Application" + ], + "_comment": " totol properties count" }, "propertiesAssessed": { "chartName": "DSS_PT_TOTAL_PROPERTIES_ASSESSED", "queries": [ { "module": "PT", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Assessed Properties\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}", - "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId\" ,\"district\" : \"Data.tenantData.city.districtCode\"}", + "indexName": "property-services", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Application\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId\" \r\n}", "dateRefField": "Data.@timestamp" } ], @@ -620,7 +727,7 @@ "documentType": "_doc", "drillChart": "none", "aggregationPaths": [ - "Assessed Properties" + "Total Application" ], "insight": { "chartResponseMap" : "propertiesAssessed", @@ -638,10 +745,9 @@ "queries": [ { "module": "PT", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Assessed Properties\":{\"value_count\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}", - - "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tenantId\" ,\"district\" : \"Data.tenantData.city.districtCode\"}", + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Assessed Properties\":{\"value_count\":{\"field\":\"Data.assessmentNumber.keyword\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.tenantData.city.districtCode.keyword\", \"tenantId\" : \"Data.tenantId\" ,\"district\" : \"Data.tenantData.city.districtCode\"}", "dateRefField": "Data.@timestamp" } ], @@ -669,8 +775,8 @@ "queries": [ { "module": "PT", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"Data.@timestamp\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}", + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Properties Assessed\":{\"date_histogram\":{\"field\":\"Data.@timestamp\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.assessmentNumber.keyword\"}}}}}}}}", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tenantId\" ,\"district\" : \"Data.tenantData.city.districtCode\"}", "dateRefField": "Data.@timestamp" } @@ -681,7 +787,7 @@ "documentType": "_doc", "drillChart": "none", "aggregationPaths": [ - "Collections" + "Properties Assessed" ], "isCumulative": true, "interval": "week", @@ -696,7 +802,7 @@ "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", + "indexName": "property-services", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Active ULBs\":{\"cardinality\":{\"field\":\"Data.tenantId.keyword\"}}}}}}" }, { @@ -715,15 +821,6 @@ "aggregationPaths": [ "Active ULBs" ], - "insight": { - "chartResponseMap" : "activeUlbs", - "action" : "differenceOfNumbers", - "upwardIndicator" : "positive", - "downwardIndicator" : "negative", - "textMessage" : "$indicator$value% than last $insightInterval", - "colorCode" : "#228B22", - "insightInterval" : "year" - }, "_comment": " total ULBs count" }, @@ -735,10 +832,17 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"usageId\" : \"domainObject.propertyDetails.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.usageCategoryMinor.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.propertyDetails\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"domainObject.propertyDetails.assessmentNumber.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}}}}}}" + }, + { + "module": "COMMON", + "indexName": "property-services", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Assessed Properties\":{\"value_count\":{\"field\":\"Data.propertyId.keyword\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tenantId\" \r\n}", + "dateRefField": "Data.@timestamp" }, { "module": "COMMON", @@ -783,15 +887,70 @@ }, "_comment": "" }, - "demandCollectionIndexBoundaryRevenue": { + "collectionByModule": { + "chartName": "COLLECTION_BY_MODULE", + "queries": [ + { + "module": "COMMON", + "requestQueryMap":"{\"tenantId\" : \"dataObject.tenantId\"}", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"AGGR\":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"PT\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"AGGRS\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}},\"TL\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"TL\"}}]}},\"aggs\":{\"AGGRS\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}},\"WS\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"dataObject.paymentDetails.businessService.keyword\":\"WS\"}}]}},\"aggs\":{\"AGGRS\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}}}" + }, + { + "module": "PT", + "requestQueryMap": "{\"module\" : \"businessService.keyword\", \"tenantId\" : \"tenantIdForMunicipalCorporation.keyword\"}", + "dateRefField": "startdate", + "indexName": "dss-target_v1", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"terms\":{\"field\":\"tenantIdForMunicipalCorporation.keyword\",\"size\":200},\"aggs\":{\"Target Collection PT\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"businessService.keyword\":\"PT\"}}]}},\"aggs\":{\"AGGRS\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}},\"Target Collection TL\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"businessService.keyword\":\"TL\"}}]}},\"aggs\":{\"AGGRS\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}},\"Target Collection WS\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"businessService.keyword\":\"WS\"}}]}},\"aggs\":{\"AGGRS\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}}}}}" + } + ], + "isMdmsEnabled": false, + "filterKeys": [ + { + "key": "tenantId", + "column": "ULBs" + } + ], + "chartType": "table", + "valueType": "", + "drillChart": "none", + "action": "", + "plotLabel": "ULBs", + "isPostResponseHandler": true, + "postAggregationTheory": "repsonseToDifferenceOfDates", + "aggregationPaths": [ + "PT", + "Target Collection PT", + "TL", + "Target Collection TL" + ], + "pathDataTypeMapping": [ + { + "PT": "amount" + }, + { + "Target Collection PT": "amount" + }, + { + "TL": "amount" + }, + { + "Target Collection TL": "amount" + } + ], + "insight": {}, + "_comment": "" + }, + "demandCollectionIndexBoundaryRevenue": { "chartName": "DSS_PT_DEMAND_COLLECTION_BOUNDARY", "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"usageId\" : \"domainObject.propertyDetails.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.usageCategoryMinor.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"domainObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.propertyDetails\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"domainObject.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"domainObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}" }, { "module": "COMMON", @@ -844,10 +1003,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"usageId\" : \"domainObject.propertyDetails.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.usageCategoryMinor.keyword\",\"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\",\"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"domainObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.propertyDetails\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"domainObject.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"domainObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}" } ], "chartType": "table", @@ -888,10 +1047,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"usageId\" : \"domainObject.propertyDetails.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.usageCategoryMinor.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.totalAmount\"}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Time Interest\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Round Off\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_ROUNDOFF\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\",\"PT_ADVANCE_CARRYFORWARD\",\"FIRENOC_FEES\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\",\"PT_UNIT_USAGE_EXEMPTION\",\"PT_OWNER_EXEMPTION\",\"PT_ADHOC_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\",\"PT_ADHOC_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Time Interest\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Round Off\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_ROUNDOFF\",\"PT_DECIMAL_CEILING_DEBIT\",\"PT_DECIMAL_CEILING_CREDIT\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}" } ], "isMdmsEnabled": true, @@ -932,10 +1091,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"usageId\" : \"domainObject.propertyDetails.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.usageCategoryMinor.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"PT Tax>aggrFilter>amount\",\"c2\":\"Fire Cess>aggrFilter>amount\",\"c3\":\"Cancer Cess>aggrFilter>amount\",\"c4\":\"Rebate>aggrFilter>amount\",\"c5\":\"Penalty>aggrFilter>amount\",\"c6\":\"Time Interest>aggrFilter>amount\",\"c7\":\"Round Off>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3+params.c4+params.c5+params.c6+params.c7\"}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Time Interest\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Round Off\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_ROUNDOFF\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"PT Tax>aggrFilter>amount\",\"c2\":\"Fire Cess>aggrFilter>amount\",\"c3\":\"Cancer Cess>aggrFilter>amount\",\"c4\":\"Rebate>aggrFilter>amount\",\"c5\":\"Penalty>aggrFilter>amount\",\"c6\":\"Time Interest>aggrFilter>amount\",\"c7\":\"Round Off>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3+params.c4+params.c5+params.c6+params.c7\"}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Time Interest\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Round Off\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_ROUNDOFF\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" } ], "filterKeys": [ @@ -970,10 +1129,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"usageId\" : \"domainObject.propertyDetails.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.usageCategoryMinor.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"domainObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"PT Tax>aggrFilter>amount\",\"c2\":\"Fire Cess>aggrFilter>amount\",\"c3\":\"Cancer Cess>aggrFilter>amount\",\"c4\":\"Rebate>aggrFilter>amount\",\"c5\":\"Penalty>aggrFilter>amount\",\"c6\":\"Time Interest>aggrFilter>amount\",\"c7\":\"Round Off>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3+params.c4+params.c5+params.c6+params.c7\"}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Time Interest\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Round Off\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_ROUNDOFF\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"domainObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"PT Tax>aggrFilter>amount\",\"c2\":\"Fire Cess>aggrFilter>amount\",\"c3\":\"Cancer Cess>aggrFilter>amount\",\"c4\":\"Rebate>aggrFilter>amount\",\"c5\":\"Penalty>aggrFilter>amount\",\"c6\":\"Time Interest>aggrFilter>amount\",\"c7\":\"Round Off>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3+params.c4+params.c5+params.c6+params.c7\"}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Time Interest\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Round Off\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_ROUNDOFF\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" } ], "filterKeys": [ @@ -1002,68 +1161,15 @@ }, "_comment": "" }, - - "taxHeadsBreakupUsage": { - "chartName": "DSS_PT_TAX_HEAD_BREAKUP_USAGE", - "queries": [ - { - "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", - "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"Usage \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.Bill.taxAndPayments\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.taxAndPayments.businessService.keyword\":[\"PT\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.taxAndPayments.taxAmount\"}}}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}}}" - } - ], - "filterKeys": [ - - ], - "chartType": "table", - "valueType": "number", - "drillChart": "", - "documentType": "_doc", - "action": "", - "plotLabel": "Usage Type", - "aggregationPaths": [ - "Total Amount", - "PT Tax", - "Fire Cess", - "Cancer Cess", - "Rebate", - "Penalty" - ], - "pathDataTypeMapping": [ - { - "Total Amount": "amount" - }, - { - "PT Tax": "amount" - }, - { - "Fire Cess": "amount" - }, - { - "Cancer Cess": "amount" - }, - { - "Rebate": "amount" - }, - { - "Penalty": "amount" - } - ], - "insight": { - }, - "_comment": "" - }, - "taxHeadsBreakupUsageMinor": { + "taxHeadsBreakupUsageMinor": { "chartName": "", "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"Usage \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.Bill.taxAndPayments\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.taxAndPayments.businessService.keyword\":[\"PT\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.taxAndPayments.taxAmount\"}}}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\": {\"Usage \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" } ], "filterKeys": [ @@ -1105,17 +1211,17 @@ ], "insight": { }, - "_comment": "" + "_comment": "present we are not using, Need to check the taxAndPayments" }, "taxHeadsBreakupUsageSubMinor": { "chartName": "", "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"Usage \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategorySubMinor.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.Bill.taxAndPayments\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.taxAndPayments.businessService.keyword\":[\"PT\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.taxAndPayments.taxAmount\"}}}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Usage \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.taxAndPayments.taxAmount\"}}}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" } ], "filterKeys": [ @@ -1164,11 +1270,11 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\",\"usageId\" : \"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.units.usageCategoryMinor.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\",\"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"reverse_nested\":{},\"aggs\":{\"top_tags_per_comment\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}},\"Transactions\":{\"reverse_nested\":{},\"aggs\":{\"top_tags_per_comment\":{\"cardinality\":{\"field\":\"dataObject.transactionId.keyword\"}}}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}}}", - "aggrQuerybc": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}}],\"must\":[{\"term\":{\"dataObject.Bill.billDetails.status.keyword\":\"Approved\"}}]}},\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"Data.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}", + "aggrQuerybc": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"Approved\"]}}]}},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\": {\"sum\": {\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}" } ], "filterKeys": [ @@ -1203,18 +1309,18 @@ ], "insight": { }, - "_comment": "" + "_comment": "removed reverse_nested in aggrQuery" }, "usageRevenueDrillDownMinor": { "chartName": "", "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"reverse_nested\":{},\"aggs\":{\"top_tags_per_comment\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}},\"Transactions\":{\"reverse_nested\":{},\"aggs\":{\"top_tags_per_comment\":{\"cardinality\":{\"field\":\"dataObject.transactionId.keyword\"}}}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}}}", - "aggrQuerybc": "{\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"Data.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}", + "aggrQuerybc": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"Approved\"]}}]}},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}" } ], "filterKeys": [ @@ -1251,11 +1357,11 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.propertyDetails.units.usageCategoryMajor.keyword\",\"minorUsageId\" : \"domainObject.propertyDetails.units.usageCategoryMinor.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"usageId\" : \"domainObject.usageCategory.keyword\",\"minorUsageId\" : \"domainObject.usageCategory.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategorySubMinor.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"reverse_nested\":{},\"aggs\":{\"top_tags_per_comment\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}}}},\"Transactions\":{\"reverse_nested\":{},\"aggs\":{\"top_tags_per_comment\":{\"cardinality\":{\"field\":\"dataObject.transactionId.keyword\"}}}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}}}", - "aggrQuerybc": "{\"aggs\":{\"attrs_root\":{\"nested\":{\"path\":\"domainObject.propertyDetails.units\"},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.propertyDetails.units.usageCategorySubMinor.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"Data.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"domainObject.assessmentsDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"domainObject.assessmentsDetails.assessmentNumber.keyword\"}}}}}}}}}}", + "aggrQuerybc": "{\"aggs\":{\"UsageType \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Assessed Properties\":{\"nested\":{\"path\":\"Data.propertyDetails\"},\"aggs\":{\"attr\":{\"cardinality\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}" } ], "filterKeys": [ @@ -1297,10 +1403,17 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}}}}}}" + }, + { + "module": "COMMON", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tradelicense.tenantId.keyword\" \r\n}", + "dateRefField": "Data.tradelicense.applicationDate", + "indexName": "tlindex-v1-enriched", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}],\"must\":[{\"match\":{\"Data.tradelicense.status.keyword\":\"APPROVED\"}}]}},\"aggs\":{\"Total Licence Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}" }, { "module": "COMMON", @@ -1351,10 +1464,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}}}" }, { "module": "COMMON", @@ -1403,10 +1516,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"domainObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"domainObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}}}" } ], "postAggregationTheory" : "repsonseToDifferenceOfDates", @@ -1447,10 +1560,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.Bill.taxAndPayments\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.taxAndPayments.businessService.keyword\":[\"TL\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.taxAndPayments.taxAmount\"}}}}}},\"TL Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Adhoc Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Adhoc Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"TL\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"TL Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_TAX\",\"TL_RENEWAL_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Adhoc Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_PENALTY\",\"TL_RENEWAL_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Adhoc Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_REBATE\",\"ADVANCE_ADJUSTMENT\",\"TL_RENEWAL_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}" } ], "isMdmsEnabled": true, @@ -1483,15 +1596,68 @@ }, "_comment": "" }, + "taxHeadsBreakupUsage": { + "chartName": "DSS_PT_TAX_HEAD_BREAKUP_USAGE", + "queries": [ + { + "module": "COMMON", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"Usage \":{\"terms\":{\"field\":\"domainObject.usageCategory.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}},\"PT Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TAX\",\"PT_ROUNDOFF\",\"PT_TIME_INTEREST\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Fire Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_FIRE_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Cancer Cess\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_CANCER_CESS\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_REBATE\",\"PT_ADHOC_REBATE\",\"PT_ADVANCE_CARRYFORWARD\",\"PT_UNIT_USAGE_EXEMPTION\",\"PT_OWNER_EXEMPTION\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"PT_TIME_PENALTY\",\"PT_ADHOC_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" + + } + ], + "filterKeys": [ + + ], + "chartType": "table", + "valueType": "number", + "drillChart": "", + "documentType": "_doc", + "action": "", + "plotLabel": "Usage Type", + "aggregationPaths": [ + "Total Amount", + "PT Tax", + "Fire Cess", + "Cancer Cess", + "Rebate", + "Penalty" + ], + "pathDataTypeMapping": [ + { + "Total Amount": "amount" + }, + { + "PT Tax": "amount" + }, + { + "Fire Cess": "amount" + }, + { + "Cancer Cess": "amount" + }, + { + "Rebate": "amount" + }, + { + "Penalty": "amount" + } + ], + "insight": { + }, + "_comment": "" + }, "licenceTaxHeadsBreakupBoundary": { "chartName": "DSS_TL_TAX_HEAD_BREAKUP_BOUNDARY", "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"TL Tax>aggrFilter>amount\",\"c2\":\"Adhoc Penalty>aggrFilter>amount\",\"c3\":\"Adhoc Rebate>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3\"}}},\"TL Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Adhoc Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Adhoc Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"TL Tax>aggrFilter>amount\",\"c2\":\"Adhoc Penalty>aggrFilter>amount\",\"c3\":\"Adhoc Rebate>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3\"}}},\"TL Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_TAX\",\"TL_RENEWAL_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Adhoc Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_PENALTY\",\"TL_RENEWAL_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Adhoc Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_REBATE\",\"ADVANCE_ADJUSTMENT\",\"TL_RENEWAL_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" } ], "filterKeys": [ @@ -1517,10 +1683,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"TL Tax>aggrFilter>amount\",\"c2\":\"Adhoc Penalty>aggrFilter>amount\",\"c3\":\"Adhoc Rebate>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3\"}}},\"TL Tax\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Adhoc Penalty\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}},\"Adhoc Rebate\":{\"nested\":{\"path\":\"dataObject.Bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.Bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.billAccountDetails.amount\"}}}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.ward.name.keyword\",\"size\":200},\"aggs\":{\"Total Amount\":{\"bucket_script\":{\"buckets_path\":{\"c1\":\"TL Tax>aggrFilter>amount\",\"c2\":\"Adhoc Penalty>aggrFilter>amount\",\"c3\":\"Adhoc Rebate>aggrFilter>amount\"},\"script\":{\"source\":\"params.c1+params.c2+params.c3\"}}},\"TL Tax\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_TAX\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Adhoc Penalty\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_PENALTY\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}},\"Adhoc Rebate\":{\"nested\":{\"path\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails\"},\"aggs\":{\"aggrFilter\":{\"filter\":{\"terms\":{\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.taxHeadCode.keyword\":[\"TL_ADHOC_REBATE\"]}},\"aggs\":{\"amount\":{\"sum\":{\"field\":\"dataObject.paymentDetails.bill.billDetails.billAccountDetails.adjustedAmount\"}}}}}}}}}}}}" } ], "filterKeys": [ @@ -1549,9 +1715,9 @@ { "module": "TL", "indexName": "tlindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\": {\"License Issued\": {\"value_count\": {\"field\": \"Data.tradelicense.licenseNumber.keyword\"}}}}}}", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}],\"must\":[{\"match\":{\"Data.tradelicense.status.keyword\":\"APPROVED\"}}]}},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \r\n \"district\" : \"Data.tenantData.city.districtCode\", \r\n\"tenantId\" : \"Data.tradelicense.tenantid\" \r\n, \r\n\"businessService\" : \"dataObject.Bill.billDetails.businessServices\" \r\n}", - "dateRefField": "Data.tradelicense.issuedDate" + "dateRefField": "Data.tradelicense.applicationDate" } ], "chartType": "metric", @@ -1579,9 +1745,9 @@ { "module": "TL", "indexName": "tlindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Trade Licence Issued\":{\"date_histogram\":{\"field\":\"Data.tradelicense.issuedDate\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}],\"must\":[{\"match\":{\"Data.tradelicense.status.keyword\":\"APPROVED\"}}]}},\"aggs\":{\"Trade Licence Issued\":{\"date_histogram\":{\"field\":\"Data.tradelicense.issuedDate\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tenantData.code\" ,\"district\" : \"Data.tenantData.city.districtCode\"}", - "dateRefField": "Data.tradelicense.issuedDate" + "dateRefField": "Data.tradelicense.applicationDate" }, { "module": "TL", @@ -1612,10 +1778,10 @@ { "module": "TL", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tenantData.code\", \"district\" : \"Data.tenantData.cityDistrictCode\"}", - "dateRefField": "Data.tradelicense.issuedDate", + "dateRefField": "Data.tradelicense.applicationDate", "indexName": "tlindex-v1", "aggrQueryBc": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\"},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.status.keyword\"}}}}}}}}", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\",\"size\":1000,\"min_doc_count\":0},\"aggs\":{\"License Issued\":{\"cardinality\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\",\"size\":1000,\"min_doc_count\":0},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}" } ], "chartType": "pie", @@ -1667,9 +1833,9 @@ { "module": "TL", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tradelicense.tenantId.keyword\" }", - "dateRefField": "Data.tradelicense.issuedDate", + "dateRefField": "Data.tradelicense.applicationDate", "indexName": "tlindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\",\"size\":1000,\"min_doc_count\":0},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\",\"size\":1000,\"min_doc_count\":0},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.applicationNumber.keyword\"}}}}}}}}", "aggrQueryBC": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Status\":{\"filters\":{\"filters\":{\"Approved\":{\"match\":{\"Data.tradelicense.status.keyword\":\"APPROVED\"}},\"Initiated\":{\"match\":{\"Data.tradelicense.status.keyword\":\"INITIATED\"}},\"Applied\":{\"match\":{\"Data.tradelicense.status.keyword\":\"APPLIED\"}},\"Rejected\":{\"match\":{\"Data.tradelicense.status.keyword\":\"REJECTED\"}},\"Pending Approval\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PENDINGAPPROVAL\"}},\"Field Inspection\":{\"match\":{\"Data.tradelicense.status.keyword\":\"FIELDINSPECTION\"}},\"Cancelled\":{\"match\":{\"Data.tradelicense.status.keyword\":\"CANCELLED\"}},\"Pending Payment\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PENDINGPAYMENT\"}},\"Paid\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PAID\"}}}}}}}}}" } ], @@ -1736,7 +1902,7 @@ { "module": "TL", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tradelicense.tenantId.keyword\" }", - "dateRefField": "Data.tradelicense.issuedDate", + "dateRefField": "Data.tradelicense.applicationDate", "indexName": "tlindex-v1", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"Data.tradelicense.tenantId.keyword\",\"size\":1000},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\",\"size\":1000,\"min_doc_count\":0},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}}}", "aggrQueryBc": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"Data.tradelicense.tenantId.keyword\",\"size\":1000},\"aggs\":{\"Status\":{\"filters\":{\"filters\":{\"Approved\":{\"match\":{\"Data.tradelicense.status.keyword\":\"APPROVED\"}},\"Initiated\":{\"match\":{\"Data.tradelicense.status.keyword\":\"INITIATED\"}},\"Applied\":{\"match\":{\"Data.tradelicense.status.keyword\":\"APPLIED\"}},\"Rejected\":{\"match\":{\"Data.tradelicense.status.keyword\":\"REJECTED\"}},\"Pending Approval\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PENDINGAPPROVAL\"}},\"Field Inspection\":{\"match\":{\"Data.tradelicense.status.keyword\":\"FIELDINSPECTION\"}},\"Cancelled\":{\"match\":{\"Data.tradelicense.status.keyword\":\"CANCELLED\"}},\"Pending Payment\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PENDINGPAYMENT\"}},\"Paid\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PAID\"}}}}}}}}}}}" @@ -1755,10 +1921,44 @@ "action": "", "plotLabel": "ULBs", "aggregationPaths": [ - + "Approved", + "Initiated", + "Applied", + "Rejected", + "Pending Approval", + "Field Inspection", + "Cancelled", + "Pending Payment", + "Paid" ], "pathDataTypeMapping": [ - + { + "Approved": "number" + }, + { + "Initiated": "number" + }, + { + "Applied": "number" + }, + { + "Rejected": "number" + }, + { + "Pending Approval": "number" + }, + { + "Field Inspection": "number" + }, + { + "Cancelled": "number" + }, + { + "Pending Payment": "number" + }, + { + "Paid": "number" + } ], "insight": { }, @@ -1770,7 +1970,7 @@ { "module": "TL", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tradelicense.tenantId.keyword\" }", - "dateRefField": "Data.tradelicense.issuedDate", + "dateRefField": "Data.tradelicense.applicationDate", "indexName": "tlindex-v1", "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.ward.name.keyword\",\"size\":1000},\"aggs\":{\"Status\":{\"terms\":{\"field\":\"Data.tradelicense.status.keyword\",\"size\":1000,\"min_doc_count\":0},\"aggs\":{\"License Issued\":{\"value_count\":{\"field\":\"Data.tradelicense.licenseNumber.keyword\"}}}}}}}}}}", "aggrQueryBc": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tradelicense.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.ward.name.keyword\",\"size\":1000},\"aggs\":{\"Status\":{\"filters\":{\"filters\":{\"Approved\":{\"match\":{\"Data.tradelicense.status.keyword\":\"APPROVED\"}},\"Initiated\":{\"match\":{\"Data.tradelicense.status.keyword\":\"INITIATED\"}},\"Applied\":{\"match\":{\"Data.tradelicense.status.keyword\":\"APPLIED\"}},\"Rejected\":{\"match\":{\"Data.tradelicense.status.keyword\":\"REJECTED\"}},\"Pending Approval\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PENDINGAPPROVAL\"}},\"Field Inspection\":{\"match\":{\"Data.tradelicense.status.keyword\":\"FIELDINSPECTION\"}},\"Cancelled\":{\"match\":{\"Data.tradelicense.status.keyword\":\"CANCELLED\"}},\"Pending Payment\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PENDINGPAYMENT\"}},\"Paid\":{\"match\":{\"Data.tradelicense.status.keyword\":\"PAID\"}}}}}}}}}}}" @@ -1838,10 +2038,10 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\" }", - "dateRefField": "dataObject.Bill.billDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate", "indexName": "dss-collection_v2", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.Bill.billDetails.status.keyword\":[\"Cancelled\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200,\"min_doc_count\":0},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.Bill.billDetails.amountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionId.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"terms\":{\"dataObject.paymentDetails.bill.status.keyword\":[\"CANCELLED\"]}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"dataObject.tenantId.keyword\",\"size\":200,\"min_doc_count\":0},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}},\"Transactions\":{\"value_count\":{\"field\":\"dataObject.transactionNumber.keyword\"}},\"Total Licence Issued\":{\"value_count\":{\"field\":\"domainObject.tradelicense.licenseNumber.keyword\"}}}}}}}}" }, { "module": "COMMON", @@ -1890,15 +2090,15 @@ "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId.keyword\" }", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Fys\":{\"terms\":{\"field\":\"Data.propertyDetails.financialYear.keyword\",\"min_doc_count\":0}}}}}}" + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Fys\":{\"terms\":{\"field\":\"Data.financialYear.keyword\",\"min_doc_count\":0}}}}}}" }, { "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\", \"tenantId\" : \"Data.tenantId.keyword\" }", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total\":{\"value_count\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}" + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total\":{\"value_count\":{\"field\":\"Data.assessmentNumber.keyword\"}}}}}}}}" } ], "isMdmsEnabled": true, @@ -1920,15 +2120,15 @@ "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId.keyword\" }", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBS \":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"Fys\":{\"terms\":{\"field\":\"Data.propertyDetails.financialYear.keyword\",\"min_doc_count\":0}}}}}}}}" + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBS \":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"Fys\":{\"terms\":{\"field\":\"Data.financialYear.keyword\",\"min_doc_count\":0}}}}}}}}" }, { "module": "PT", "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId.keyword\" }", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBS \":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"Total\":{\"value_count\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}" + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBS \":{\"terms\":{\"field\":\"Data.tenantId.keyword\"},\"aggs\":{\"Total\":{\"value_count\":{\"field\":\"Data.assessmentNumber.keyword\"}}}}}}}}" } ], "filterKeys": [ @@ -1949,15 +2149,15 @@ "module": "PT", "requestQueryMap": "{\"tenantId\" : \"Data.tenantId.keyword\" , \"wardId\" : \"Data.ward.name.keyword\"}", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.ward.name.keyword\"},\"aggs\":{\"Fys\":{\"terms\":{\"field\":\"Data.propertyDetails.financialYear.keyword\",\"min_doc_count\":0}}}}}}}}" + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.ward.locality.name.keyword\"},\"aggs\":{\"Fys\":{\"terms\":{\"field\":\"Data.financialYear.keyword\",\"min_doc_count\":0}}}}}}}}" }, { "module": "PT", "requestQueryMap": "{\"tenantId\" : \"Data.tenantId.keyword\" , \"wardId\" : \"Data.ward.name.keyword\"}", "dateRefField": "Data.@timestamp", - "indexName": "ptindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.ward.name.keyword\"},\"aggs\":{\"Total\":{\"value_count\":{\"field\":\"Data.propertyDetails.assessmentNumber.keyword\"}}}}}}}}" + "indexName": "property-assessments", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.ward.locality.name.keyword\"},\"aggs\":{\"Total\":{\"value_count\":{\"field\":\"Data.assessmentNumber.keyword\"}}}}}}}}" } ], "filterKeys": [ @@ -1979,7 +2179,7 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId.keyword\" , \"departmentId\" : \"Data.department.keyword\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Open_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Reopened_Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Open Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Assigned Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"assign\"]}},\"aggs\":{\"Assigned Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Resolved Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"resolved\"]}},\"aggs\":{\"Resolved Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Rejected Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"rejected\"]}},\"aggs\":{\"Rejected Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Closed Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Reopened Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}" } ], "isMdmsEnabled": true, @@ -2019,7 +2219,8 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId.keyword\" , \"departmentId\" : \"Data.department.keyword\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"Data.tenantId.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Open_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Reopened_Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"ULBs \":{\"terms\":{\"field\":\"Data.tenantId.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Open Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Assigned Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"assign\"]}},\"aggs\":{\"Assigned Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Resolved Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"resolved\"]}},\"aggs\":{\"Resolved Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Rejected Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"rejected\"]}},\"aggs\":{\"Rejected Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Closed Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Reopened Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + } ], "filterKeys": [ @@ -2058,7 +2259,8 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId.keyword\" , \"departmentId\" : \"Data.department.keyword\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.complaintWard.name.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Open_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Reopened_Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Ward \":{\"terms\":{\"field\":\"Data.complaintWard.name.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Open Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Assigned Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"assign\"]}},\"aggs\":{\"Assigned Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Resolved Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"resolved\"]}},\"aggs\":{\"Resolved Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Rejected Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"rejected\"]}},\"aggs\":{\"Rejected Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Closed Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Reopened Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + } ], "filterKeys": [ @@ -2100,7 +2302,7 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\",\"tenantId\" : \"Data.tenantId.keyword\" , \"departmentId\" : \"Data.department.keyword\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Department \":{\"terms\":{\"field\":\"Data.department.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Open_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Reopened_Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Department \":{\"terms\":{\"field\":\"Data.department.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Open Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Assigned Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"assign\"]}},\"aggs\":{\"Assigned Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Resolved Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"resolved\"]}},\"aggs\":{\"Resolved Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Rejected Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"rejected\"]}},\"aggs\":{\"Rejected Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Closed Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Reopened Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" } ], "filterKeys": [ @@ -2142,7 +2344,7 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId.keyword\" , \"departmentId\" : \"Data.department.keyword\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Category \":{\"terms\":{\"field\":\"Data.complainCategory.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Open_Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Reopened_Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Category \":{\"terms\":{\"field\":\"Data.complainCategory.keyword\",\"size\":1000},\"aggs\":{\"withinSLA\":{\"range\":{\"script\":{\"lang\":\"painless\",\"source\":\"doc['Data.slaHours'].value\"},\"ranges\":[{\"key\":\"withinSLA\",\"from\":0,\"to\":360}]}},\"Open Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\"]}},\"aggs\":{\"Open Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Assigned Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"assign\"]}},\"aggs\":{\"Assigned Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Resolved Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"resolved\"]}},\"aggs\":{\"Resolved Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Rejected Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"rejected\"]}},\"aggs\":{\"Rejected Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Closed Complaints\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Closed Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Reopened Complaints\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Reopened Complaints\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" } ], "filterKeys": [ @@ -2178,15 +2380,15 @@ }, "_comment": "PGR NON-COLLECTION CHARTS", - "completionRate": { - "chartName": "DSS_PGR_COMPLETION_RATE", + "complaintsResolvingRate": { + "chartName": "DSS_PGR_COMPLAINTS_RESOLVING_RATE", "queries": [ { "module": "PGR", "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed Complaints\":{\"filters\":{\"filters\":{\"closed\":{\"match\":{\"Data.status.keyword\":\"closed\"}},\"resolved\":{\"match\":{\"Data.status.keyword\":\"resolved\"}},\"rejected\":{\"match\":{\"Data.status.keyword\":\"rejected\"}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Complaints\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}},\"Closed Complaints\":{\"filters\":{\"filters\":{\"resolved\":{\"match\":{\"Data.status.keyword\":\"resolved\"}}}}}}}}}" } ], "chartType": "metric", @@ -2247,7 +2449,7 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Closed Complaints\":{\"filters\":{\"filters\":{\"closed\":{\"match\":{\"Data.status.keyword\":\"closed\"}},\"resolved\":{\"match\":{\"Data.status.keyword\":\"resolved\"}},\"rejected\":{\"match\":{\"Data.status.keyword\":\"rejected\"}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Closed Complaints\":{\"filters\":{\"filters\":{\"closed\":{\"match\":{\"Data.status.keyword\":\"closed\"}}}}}}}}}\n" } ], "chartType": "metric", @@ -2269,7 +2471,97 @@ }, "_comment": " Total Number of Closed Complaints " }, - "cumulativeClosedComplaints": { + "reopenedComplaints": { + "chartName": "DSS_PGR_REOPENED_COMPLAINTS", + "queries": [ + { + "module": "PGR", + "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", + "dateRefField": "Data.dateOfComplaint", + "indexName": "pgrindex-v1", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Reopened Complaints\":{\"filters\":{\"filters\":{\"reopen\":{\"match\":{\"Data.actionHistory.actions.action.keyword\":\"reopen\"}}}}}}}}}" + } + ], + "chartType": "metric", + "valueType": "number", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Reopened Complaints" + ], + "insight": { + "chartResponseMap" : "reopenedComplaints", + "action" : "differenceOfNumbers", + "upwardIndicator" : "positive", + "downwardIndicator" : "negative", + "textMessage" : "$indicator$value% than last $insightInterval", + "colorCode" : "#228B22", + "insightInterval" : "year" + }, + "_comment": " Total Number of Resolved Complaints " + }, + "resolvedComplaints": { + "chartName": "DSS_PGR_RESOLVED_COMPLAINTS", + "queries": [ + { + "module": "PGR", + "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", + "dateRefField": "Data.dateOfComplaint", + "indexName": "pgrindex-v1", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Resolved Complaints\":{\"filters\":{\"filters\":{\"resolved\":{\"match\":{\"Data.status.keyword\":\"resolved\"}}}}}}}}}" + } + ], + "chartType": "metric", + "valueType": "number", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Resolved Complaints" + ], + "insight": { + "chartResponseMap" : "resolvedComplaints", + "action" : "differenceOfNumbers", + "upwardIndicator" : "positive", + "downwardIndicator" : "negative", + "textMessage" : "$indicator$value% than last $insightInterval", + "colorCode" : "#228B22", + "insightInterval" : "year" + }, + "_comment": " Total Number of Resolved Complaints " + }, + "rejectedComplaints": { + "chartName": "DSS_PGR_REJECTED_COMPLAINTS", + "queries": [ + { + "module": "PGR", + "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", + "dateRefField": "Data.dateOfComplaint", + "indexName": "pgrindex-v1", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Rejected Complaints\":{\"filters\":{\"filters\":{\"rejected\":{\"match\":{\"Data.status.keyword\":\"rejected\"}}}}}}}}}" + } + ], + "chartType": "metric", + "valueType": "number", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Rejected Complaints" + ], + "insight": { + "chartResponseMap" : "rejectedComplaints", + "action" : "differenceOfNumbers", + "upwardIndicator" : "positive", + "downwardIndicator" : "negative", + "textMessage" : "$indicator$value% than last $insightInterval", + "colorCode" : "#228B22", + "insightInterval" : "year" + }, + "_comment": " Total Number of Rejected Complaints " + }, + "cumulativeComplaints": { "chartName": "DSS_TOTAL_CUMULATIVE_CLOSED_COMPLAINTS", "queries": [ { @@ -2277,7 +2569,7 @@ "dateRefField": "Data.dateOfComplaint", "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\",\"tenantId\" : \"Data.tenantId\"}", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Closed Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Closed\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}},\"Reopened Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Reopened\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"month\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}},\"Resolved Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"month\"},\"aggs\":{\"Resolved\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"resolved\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}},\"Rejected Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"month\"},\"aggs\":{\"Rejected\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"rejected\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}},\"Closed Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"month\"},\"aggs\":{\"Closed\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}},\"Reopened Complaints\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"month\"},\"aggs\":{\"Reopened\":{\"filter\":{\"terms\":{\"Data.actionHistory.actions.action.keyword\":[\"reopen\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}}}}}" } ], "chartType": "line", @@ -2288,7 +2580,9 @@ "aggregationPaths": [ "Closed Complaints", "Reopened Complaints", - "Total Complaints" + "Total Complaints", + "Resolved Complaints", + "Rejected Complaints" ], "isCumulative": true, @@ -2333,7 +2627,7 @@ "dateRefField": "Data.dateOfComplaint", "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\",\"tenantId\" : \"Data.tenantId\"}", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Open\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"open\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}}}}}},\"Closed\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"closed\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}}}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Open\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"open\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\",\"assign\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}}}}}},\"Closed\":{\"date_histogram\":{\"field\":\"Data.dateOfComplaint\",\"interval\":\"intervalvalue\"},\"aggs\":{\"closed\":{\"filter\":{\"terms\":{\"Data.status.keyword\":[\"closed\",\"rejected\",\"resolved\"]}},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}}}}}}}}}}" } ], "chartType": "line", @@ -2359,7 +2653,7 @@ "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\",\"tenantId\" : \"Data.tenantId\"}", "dateRefField": "Data.dateOfComplaint", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Complaints By Status\":{\"terms\":{\"field\":\"Data.status.keyword\"},\"aggs\":{\"Count\":{\"value_count\":{\"field\":\"Data.dateOfComplaint\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Complaints By Status\":{\"filters\":{\"filters\":{\"Open\":{\"terms\":{\"Data.status.keyword\":[\"open\",\"reassignrequested\"]}},\"Reopen\":{\"match\":{\"Data.status.keyword\":\"reopen\"}},\"Assigned\":{\"match\":{\"Data.status.keyword\":\"assigned\"}},\"Closed\":{\"match\":{\"Data.status.keyword\":\"closed\"}},\"Resolved\":{\"match\":{\"Data.status.keyword\":\"resolved\"}},\"Rejected\":{\"match\":{\"Data.status.keyword\":\"rejected\"}}}}}}}}}" } ], "chartType": "pie", @@ -2368,7 +2662,13 @@ "documentType": "_doc", "drillChart": "none", "aggregationPaths": [ - "Complaints By Status" + "Open", + "Reopen", + "Assigned", + "Closed", + "Resolved", + "Rejected" + ], "insight": { }, @@ -2846,7 +3146,7 @@ "dateRefField": "Data.@timestamp", "requestQueryMap": "{\"wardId\" : \"Data.complaintWard.name.keyword\", \"tenantId\" : \"Data.tenantId\"}", "indexName": "pgrindex-v1", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Citizens\":{\"date_histogram\":{\"field\":\"Data.@timestamp\",\"interval\":\"intervalvalue\"},\"aggs\":{\"count\":{\"cardinality\":{\"field\":\"Data.citizen.uuid.keyword\"}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Citizens\":{\"date_histogram\":{\"field\":\"Data.@timestamp\",\"interval\":\"intervalvalue\",\"time_zone\":\"+05:30\"},\"aggs\":{\"sum\":{\"cardinality\":{\"field\":\"Data.citizen.uuid.keyword\"}}}}}}}}" } ], "chartType": "line", @@ -2866,7 +3166,7 @@ "_comment": "W&S charts below-----------------------------------------------------------------------", - + "wstodaysCollection": { "chartName": "DSS_W&S_TODAYS_COLLECTION", "queries": [ @@ -2917,8 +3217,8 @@ "queries": [ { "module": "COMMON", - "requestQueryMap": "{\"module\" : \"businessService.keyword\", \"tenantId\" : \"ulbName.keyword\"}", - "dateRefField": "", + "requestQueryMap": "{\"module\" : \"businessService.keyword\", \"tenantId\" : \"tenantIdForMunicipalCorporation.keyword\"}", + "dateRefField": "startdate", "indexName": "dss-target_v1", "aggrQuery": "{\"aggs\":{\"Target Collection\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}" } @@ -2943,7 +3243,7 @@ { "module": "COMMON", "requestQueryMap": "{\r\n \"module\" : \"businessService.keyword\", \n\"tenantId\" : \"ulbName.keyword\"}", - "dateRefField": "", + "dateRefField": "startdate", "indexName": "dss-target_v1", "aggrQuery": "{\"aggs\":{\"Actual collection\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}" }, @@ -3085,7 +3385,7 @@ ], "translateTenantCode": true, "chartType": "pie", - "valueType": "number", + "valueType": "amount", "action": "", "documentType": "_doc", "drillChart": "none", @@ -3110,7 +3410,7 @@ ], "translateTenantCode": true, "chartType": "pie", - "valueType": "number", + "valueType": "amount", "action": "", "documentType": "_doc", "drillChart": "none", @@ -3143,8 +3443,8 @@ "module": "W&S", "requestQueryMap": "{ \"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\"}", "dateRefField": "@timestamp", - "indexName": "projecteddemand-consumers", - "aggrQuery": "{\"aggs\":{\"Project Demand\":{\"sum\":{\"field\":\"projecteddemand\"}}}}" + "indexName": "demandbillconsumers", + "aggrQuery": "{\"aggs\":{\"Project Demand\":{\"sum\":{\"field\":\"billamount\"}}}}" } ], "isMdmsEnabled": true, @@ -3205,8 +3505,8 @@ "module": "W&S", "requestQueryMap": "{ \"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\"}", "dateRefField": "@timestamp", - "indexName": "projecteddemand-consumers", - "aggrQuery": "{\"aggs\":{\"ULB\":{\"terms\":{\"field\":\"cityname.keyword\",\"size\":200},\"aggs\":{\"Project Demand\":{\"sum\":{\"field\":\"projecteddemand\"}}}}}}" + "indexName": "demandbillconsumers", + "aggrQuery": "{\"aggs\":{\"ULB\":{\"terms\":{\"field\":\"cityname.keyword\",\"size\":200},\"aggs\":{\"Project Demand\":{\"sum\":{\"field\":\"billamount\"}}}}}}" } ], "isMdmsEnabled": false, @@ -3267,8 +3567,8 @@ "module": "W&S", "requestQueryMap": "{ \"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", "dateRefField": "@timestamp", - "indexName": "projecteddemand-consumers", - "aggrQuery": "{\"aggs\":{\"Ward\":{\"terms\":{\"field\":\"block.keyword\",\"size\":200},\"aggs\":{\"Project Demand\":{\"sum\":{\"field\":\"projecteddemand\"}}}}}}" + "indexName": "demandbillconsumers", + "aggrQuery": "{\"aggs\":{\"Ward\":{\"terms\":{\"field\":\"block.keyword\",\"size\":200},\"aggs\":{\"Project Demand\":{\"sum\":{\"field\":\"billamount\"}}}}}}" } ], "isMdmsEnabled": false, @@ -3378,6 +3678,58 @@ "insight": { }, "_comment": "" + }, + "wsTaxHeadDDROverview": { + "chartName": "DSS_W&S_TAX_HEAD_BOUNDARY", + "queries": [ + { + "module": "W&S", + "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", + "dateRefField": "receiptdate", + "indexName": "receipts-consumers", + "aggrQuery": "{\"aggs\":{\"Total Collection\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"status\":\"Cancelled\"}}]}},\"aggs\":{\"collection\":{\"sum\":{\"field\":\"totalamount\"}}}},\"Total Receipt\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"status\":\"Cancelled\"}}]}},\"aggs\":{\"receipt\":{\"value_count\":{\"field\":\"receiptnumber.keyword\"}}}}}}" + }, + { + "module": "W&S", + "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", + "dateRefField": "billdate", + "indexName": "demandbillconsumers", + "aggrQuery": "{\"aggs\":{\"No of Bill\":{\"filter\":{\"term\":{\"billgenerated\":true}},\"aggs\":{\"approved\":{\"value_count\":{\"field\":\"installmentfrom.keyword\"}}}},\"Late charges\":{\"filter\":{\"term\":{\"billgenerated\":true}},\"aggs\":{\"penalty\":{\"sum\":{\"field\":\"penaltycollection\"}}}},\"Interest\":{\"filter\":{\"term\":{\"billgenerated\":true}},\"aggs\":{\"interest\":{\"sum\":{\"field\":\"interestcollection\"}}}},\"Advance\":{\"filter\":{\"term\":{\"billgenerated\":true}},\"aggs\":{\"advance\":{\"sum\":{\"field\":\"advancecollection\"}}}},\"Current Charges\":{\"filter\":{\"term\":{\"billgenerated\":true}},\"aggs\":{\"advance\":{\"sum\":{\"field\":\"currentcharges\"}}}},\"Arrear Charges\":{\"filter\":{\"term\":{\"billgenerated\":true}},\"aggs\":{\"advance\":{\"sum\":{\"field\":\"arrearcharges\"}}}}}}}" + }, + { + "module": "W&S", + "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", + "dateRefField": "", + "indexName": "dss-target_v1", + "aggrQuery": "{\"aggs\":{\"Target Collection\":{\"sum\":{\"field\":\"budgetProposedForMunicipalCorporation\"}}}}" + } + ], + "translateTenantCode": true, + "isMdmsEnabled": true, + "filterKeys": [ + {"key": "tenantId", "column": "DDRs"} + ], + "chartType": "table", + "valueType": "number", + "drillChart": "none", + "action": "", + "plotLabel": "DDRs", + "postAggregationTheory" : "", + "aggregationPaths": [ + "Total Collection", + "Total Receipt" + ], + "pathDataTypeMapping": [ + { + "Total Collection": "amount" + }, + { + "Total Receipt": "number" + } + ], + "insight": { + }, + "_comment": "" }, "wsTaxHeadUlb": { "chartName": "DSS_W&S_TAX_HEAD_BOUNDARY", @@ -3518,8 +3870,8 @@ }, "_comment": "" }, - - + + "wstotalConnection": { "chartName": "DSS_W&S_CONNECTIONS", "queries": [ @@ -3722,10 +4074,10 @@ "queries": [ { "module": "W&S", - "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", "dateRefField": "createddate", + "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\" }", "indexName": "wsapplications", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"servicetype.keyword\":[\"Water Charges\",\"Sewerage Charges\"]}},{\"terms\":{\"applicationstatus.keyword\":[\"Created\",\"Rejected\",\"Verified\",\"verified\"]}}]}},\"aggs\":{\"Pending from 0 to 3 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-3d/d\",\"to\":\"now\"}]}},\"Pending from 3 to 7 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-1w\",\"to\":\"now-3d/d\"}]}},\"Pending from 7 to 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-15d\",\"to\":\"now-1w\"}]}},\"Pending more than 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-2y\",\"to\":\"now-15d\"}]}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"servicetype.keyword\":[\"Water Charges\",\"Sewerage Charges\"]}},{\"terms\":{\"applicationstatus.keyword\":[\"Created\",\"Rejected\",\"Verified\",\"verified\"]}}]}},\"aggs\":{\"2\":{\"terms\":{\"field\":\"cityname.keyword\",\"size\":10000,\"order\":{\"_key\":\"asc\"}},\"aggs\":{\"Pending from 0 to 3 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-3d/d\",\"to\":\"now\"}]}},\"Pending from 3 to 7 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-1w\",\"to\":\"now-3d/d\"}]}},\"Pending from 7 to 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-15d\",\"to\":\"now-1w\"}]}},\"Pending more than 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-2y\",\"to\":\"now-15d\"}]}}}}}}}}" } ], "isMdmsEnabled": true, @@ -3768,7 +4120,7 @@ "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", "dateRefField": "createddate", "indexName": "wsapplications", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"servicetype.keyword\":[\"Water Charges\",\"Sewerage Charges\"]}},{\"terms\":{\"applicationstatus.keyword\":[\"Created\",\"Rejected\",\"Verified\",\"verified\"]}}]}},\"aggs\":{\"2\":{\"terms\":{\"field\":\"cityname.keyword\",\"size\":170,\"order\":{\"_key\":\"asc\"}},\"aggs\":{\"Pending from 0 to 3 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-3d/d\",\"to\":\"now\"}]}},\"Pending from 3 to 7 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-1w\",\"to\":\"now-3d/d\"}]}},\"Pending from 7 to 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-15d\",\"to\":\"now-1w\"}]}},\"Pending more than 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-2y\",\"to\":\"now-15d\"}]}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"servicetype.keyword\":[\"Water Charges\",\"Sewerage Charges\"]}},{\"terms\":{\"applicationstatus.keyword\":[\"Created\",\"Rejected\",\"Verified\",\"verified\"]}}]}},\"aggs\":{\"2\":{\"terms\":{\"field\":\"cityname.keyword\",\"size\":10000,\"order\":{\"_key\":\"asc\"}},\"aggs\":{\"Pending from 0 to 3 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-3d/d\",\"to\":\"now\"}]}},\"Pending from 3 to 7 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-1w\",\"to\":\"now-3d/d\"}]}},\"Pending from 7 to 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-15d\",\"to\":\"now-1w\"}]}},\"Pending more than 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-2y\",\"to\":\"now-15d\"}]}}}}}}}}" } ], "isMdmsEnabled": false, @@ -3812,7 +4164,7 @@ "requestQueryMap": "{\"tenantId\" : \"cityname.keyword\", \"wardId\" : \"block.keyword\" }", "dateRefField": "createddate", "indexName": "wsapplications", - "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"servicetype.keyword\":[\"Water Charges\",\"Sewerage Charges\"]}},{\"terms\":{\"applicationstatus.keyword\":[\"Created\",\"Rejected\",\"Verified\",\"verified\"]}}]}},\"aggs\":{\"2\":{\"terms\":{\"field\":\"block.keyword\",\"size\":170,\"order\":{\"_key\":\"asc\"}},\"aggs\":{\"Pending from 0 to 3 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-3d/d\",\"to\":\"now\"}]}},\"Pending from 3 to 7 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-1w\",\"to\":\"now-3d/d\"}]}},\"Pending from 7 to 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-15d\",\"to\":\"now-1w\"}]}},\"Pending more than 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-2y\",\"to\":\"now-15d\"}]}}}}}}}}" + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"servicetype.keyword\":[\"Water Charges\",\"Sewerage Charges\"]}},{\"terms\":{\"applicationstatus.keyword\":[\"Created\",\"Rejected\",\"Verified\",\"verified\"]}}]}},\"aggs\":{\"2\":{\"terms\":{\"field\":\"block.keyword\",\"size\":10000,\"order\":{\"_key\":\"asc\"}},\"aggs\":{\"Pending from 0 to 3 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-3d/d\",\"to\":\"now\"}]}},\"Pending from 3 to 7 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-1w\",\"to\":\"now-3d/d\"}]}},\"Pending from 7 to 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-15d\",\"to\":\"now-1w\"}]}},\"Pending more than 15 days\":{\"date_range\":{\"field\":\"applicationdate\",\"ranges\":[{\"from\":\"now-2y\",\"to\":\"now-15d\"}]}}}}}}}}" } ], "isMdmsEnabled": false, @@ -3847,6 +4199,1334 @@ "insight": { }, "_comment": "" - } - + }, + "mcTotalCollection": { + "chartName": "DSS_TOTAL_COLLECTION", + "queries": [ + { + "module": "MCOLLECT", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"terms\":{\"dataObject.tenantId.keyword\":[\"pg.testing\",\"pg\"]}},{\"terms\":{\"dataObject.bill.status.keyword\":[\"Cancelled\"]}},{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\",\"TL\",\"WS.ONE_TIME_FEE\",\"SW.ONE_TIME_FEE\",\"FSM.TRIP_CHARGES\",\"PT.MUTATION\",\"SW\",\"BPA.LOW_RISK_PERMIT_FEE\",\"BPA.NC_SAN_FEE\",\"BPA.NC_APP_FEE\",\"BPA.NC_OC_APP_FEE\"]}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" + } + ], + "chartType": "metric", + "valueType": "Amount", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Total Collection" + ], + "insight": { + "chartResponseMap": "mcTotalCollection", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": " " + }, + "mcTotalReceipts": { + "chartName": "DSS_MC_TOTAL_RECEIPTS", + "queries": [ + { + "module": "MCOLLECT", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"terms\":{\"dataObject.tenantId.keyword\":[\"pb.testing\",\"pb\"]}},{\"terms\":{\"dataObject.bill.status.keyword\":[\"Cancelled\"]}},{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\",\"TL\",\"WS.ONE_TIME_FEE\",\"SW.ONE_TIME_FEE\",\"PT.MUTATION\",\"SW\"]}}]}},\"aggs\":{\"Total Receipts\":{\"value_count\":{\"field\":\"dataObject.paymentDetails.receiptNumber.keyword\"}}}}}}" + } + ], + "chartType": "metric", + "valueType": "number", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Total Receipts" + ], + "insight": { + "chartResponseMap": "mcTotalReceipts", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": " " + }, + "nocTotalCollection": { + "chartName": "DSS_NOC_TOTAL_COLLECTION", + "queries": [ + { + "module": "FIRENOC", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must\":[{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"FIRENOC\"]}}],\"must_not\":[{\"term\":{\"dataObject.tenantId.keyword\":\"pb.testing\"}},{\"term\":{\"dataObject.paymentStatus.keyword\":\"Cancelled\"}}]}},\"aggs\":{\"Total Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"dataObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\",\"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\" }", + "dateRefField": "dataObject.paymentDetails.receiptDate" + } + ], + "chartType": "metric", + "valueType": "amount", + "action": "", + "drillChart": "none", + "aggregationPaths": [ + "Total Collection" + ], + "insight": { + "chartResponseMap": "nocTotalCollection", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": "FIRE NOC total collections " + }, + "nocTotalNocsIssued": { + "chartName": "DSS_NOC_TOTAL_NOCS_ISSUED", + "queries": [ + { + "module": "FIRENOC", + "indexName": "firenoc-services", + "aggrQuery": "{\"aggs\":{\"FireNOC\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}],\"must\":[{\"terms\":{\"Data.fireNOCDetails.status.keyword\":[\"APPROVED\"]}}]}},\"aggs\":{\"Total Nocs Issued\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId\", \"district\" : \"Data.tenantData.city.districtCode\"}", + "dateRefField": "Data.auditDetails.createdTime" + } + ], + "chartType": "metric", + "valueType": "number", + "action": "", + "drillChart": "none", + "aggregationPaths": [ + "Total Nocs Issued" + ], + "insight": { + "chartResponseMap": "nocTotalNocsIssued", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": "FIRE NOC total nocs issued " + }, + "mcTodaysCollection": { + "chartName": "DSS_TOTAL_COLLECTION_TODAY", + "queries": [ + { + "module": "COMMON", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.paymentDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.city.districtCode\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"terms\":{\"dataObject.tenantId.keyword\":[\"pb.testing\",\"pb\"]}},{\"terms\":{\"dataObject.bill.status.keyword\":[\"Cancelled\"]}},{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\",\"TL\",\"WS.ONE_TIME_FEE\",\"SW.ONE_TIME_FEE\",\"PT.MUTATION\",\"SW\"]}}]}},\"aggs\":{\"Todays Collection\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}" + } + ], + "chartType": "metric", + "valueType": "Amount", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Todays Collection" + ], + "insight": {}, + "_comment": " " + }, + "mcTotalChallans": { + "chartName": "DSS_MC_TOTAL_CHALLANS", + "queries": [ + { + "module": "MCOLLECT", + "dateRefField": "Data.taxPeriodFrom", + "requestQueryMap": "{\"module\" : \"Data.businessService\", \"tenantId\" : \"Data.tenantId\"}", + "indexName": "echallan-services", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Challans\":{\"value_count\":{\"field\":\"Data.challanNo.keyword\"}}}}}}" + } + ], + "chartType": "metric", + "valueType": "number", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Total Challans" + ], + "insight": { + "chartResponseMap": "mcTotalChallans", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": " " + }, + "mcTotalCategories": { + "chartName": "DSS_MC_TOTAL_CATEGORIES", + "queries": [ + { + "module": "MCOLLECT", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\"module\" : \"dataObject.Bill.billDetails.businessService.keyword\", \"tenantId\" : \"dataObject.tenantId\", \"district\" : \"dataObject.tenantData.cityDistrictCode\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"terms\":{\"dataObject.tenantId.keyword\":[\"pb.testing\",\"pb\"]}},{\"terms\":{\"dataObject.bill.status.keyword\":[\"Cancelled\"]}},{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\",\"TL\",\"WS.ONE_TIME_FEE\",\"SW.ONE_TIME_FEE\",\"PT.MUTATION\",\"SW\"]}}]}},\"aggs\":{\"Total Categories\":{\"cardinality\":{\"field\":\"dataObject.paymentDetails.businessService.keyword\"}}}}}}" + } + ], + "chartType": "metric", + "valueType": "number", + "drillChart": "none", + "documentType": "_doc", + "action": "", + "aggregationPaths": [ + "Total Categories" + ], + "insight": {}, + "_comment": " " + }, + "mcCumulativeCollection": { + "chartName": "DSS_TOTAL_CUMULATIVE_COLLECTION", + "queries": [ + { + "module": "MCOLLECT", + "dateRefField": "dataObject.paymentDetails.receiptDate", + "requestQueryMap": "{\"wardId\" : \"domainObject.ward.name.keyword\",\r\n \"module\" : \"dataObject.paymentDetails.businessService.keyword\", \n\"tenantId\" : \"dataObject.tenantId\"}", + "indexName": "dss-collection_v2", + "aggrQuery": "{\"aggs\":{\"AGGR\":{\"filter\":{\"bool\":{\"must_not\":[{\"terms\":{\"dataObject.tenantId.keyword\":[\"pb.testing\",\"pb\"]}},{\"terms\":{\"dataObject.bill.status.keyword\":[\"Cancelled\"]}},{\"terms\":{\"dataObject.paymentDetails.businessService.keyword\":[\"PT\",\"TL\",\"WS.ONE_TIME_FEE\",\"SW.ONE_TIME_FEE\",\"PT.MUTATION\",\"SW\"]}}]}},\"aggs\":{\"Collections\":{\"date_histogram\":{\"field\":\"dataObject.paymentDetails.receiptDate\",\"interval\":\"intervalvalue\"},\"aggs\":{\"Sum\":{\"sum\":{\"field\":\"dataObject.paymentDetails.totalAmountPaid\"}}}}}}}}" + } + ], + "chartType": "line", + "valueType": "amount", + "action": "", + "drillChart": "none", + "documentType": "_doc", + "aggregationPaths": [ + "Collections" + ], + "isCumulative": true, + "interval": "month", + "insight": {}, + "_comment": " " + }, + "nocTotalApplications": { + "chartName": "DSS_NOC_TOTAL_APPLICATIONS", + "queries": [ + { + "module": "FIRENOC", + "indexName": "firenoc-services", + "aggrQuery": "{\"aggs\":{\"FireNOC\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Total Applications\":{\"value_count\":{\"field\":\"Data.tenantId.keyword\"}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId\", \"district\" : \"Data.tenantData.city.districtCode\"}", + "dateRefField": "Data.auditDetails.createdTime" + } + ], + "chartType": "metric", + "valueType": "number", + "action": "", + "drillChart": "none", + "aggregationPaths": [ + "Total Applications" + ], + "insight": { + "chartResponseMap": "nocTotalApplications", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": "FIRE NOC total applications " + }, + "nocProvisionalIssued": { + "chartName": "DSS_NOC_PROVISIONAL_ISSUED", + "queries": [ + { + "module": "FIRENOC", + "indexName": "firenoc-services", + "aggrQuery": "{\"aggs\":{\"FireNOC\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Provisional Fire Nocs issued\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"Data.fireNOCDetails.fireNOCType.keyword\":\"PROVISIONAL\"}}]}}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId\", \"district\" : \"Data.tenantData.city.districtCode\"}", + "dateRefField": "Data.auditDetails.createdTime" + } + ], + "chartType": "metric", + "valueType": "number", + "action": "", + "drillChart": "none", + "aggregationPaths": [ + "Provisional Fire Nocs issued" + ], + "insight": { + "chartResponseMap": "nocProvisionalIssued", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": "FIRE NOC Provisional Issued" + }, + "nocActualIssued": { + "chartName": "DSS_NOC_ACTUAL_ISSUED", + "queries": [ + { + "module": "FIRENOC", + "indexName": "firenoc-services", + "aggrQuery": "{\"aggs\":{\"FireNOC\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"Actual Fire Nocs issued\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"Data.fireNOCDetails.fireNOCType.keyword\":\"NEW\"}}]}}}}}}}", + "requestQueryMap": "{\"wardId\" : \"Data.ward.name.keyword\",\"tenantId\" : \"Data.tenantId\", \"district\" : \"Data.tenantData.city.districtCode\"}", + "dateRefField": "Data.auditDetails.createdTime" + } + ], + "chartType": "metric", + "valueType": "number", + "action": "", + "drillChart": "none", + "aggregationPaths": [ + "Actual Fire Nocs issued" + ], + "insight": { + "chartResponseMap": "nocActualIssued", + "action": "differenceOfNumbers", + "upwardIndicator": "positive", + "downwardIndicator": "negative", + "textMessage": "$indicator$value% than last $insightInterval", + "colorCode": "#228B22", + "insightInterval": "year" + }, + "_comment": "Actual fire nocs Issued" + }, + "nocSLAComplianceProvisional": { + "chartName": "DSS_NOC_SLA_COMPLIANCE_PROVISIONAL", + "queries": [ + { + "module": "FIRENOC", + "indexName": "firenoc-services", + "aggrQuery": "{\"aggs\":{\"FireNOC\":{\"filter\":{\"bool\":{\"must_not\":[{\"term\":{\"Data.tenantId.keyword\":\"pb.testing\"}}]}},\"aggs\":{\"SLA Compliance (Provisional NOC)\":{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"Data.fireNOCDetails.fireNOCType.keyword\":\"PROVISIONAL\"}},{\"term\":{\"Data.fireNOCDetails.status.keyword\":\"APPROVED\"}},{\"script\":{\"script\":{\"source\":\"doc['Data.auditDetails.lastModifiedTime'].value-doc['Data.auditDetails.createdTime'].value 0 + INNER JOIN egbs_billaccountdetail_v1 ad ON bd.id = ad.billdetail AND bd.tenantid = ad.tenantid + INNER JOIN eg_echallan challan ON bd.consumercode = challan.challanno AND b.status!='CANCELLED' + INNER JOIN eg_challan_address challanadd ON challanadd.eChallanId = challan.id $where ) + + select * from bill_data inner join (select max(b_createddate) as maxcreateddate, bd_consumercode from bill_data group by bd_consumercode) as max ON max.maxcreateddate=b_createddate + searchParams: + condition: AND + params: + - name: b.tenantid + isMandatory: true + jsonPath: $.searchCriteria.tenantId + - name: bd.consumercode + isMandatory: false + jsonPath: $.searchCriteria.consumerCode + operator: ILIKE + - name: bd.businessservice + isMandatory: false + jsonPath: $.searchCriteria.businesService + - name: b.mobilenumber + isMandatory: false + jsonPath: $.searchCriteria.mobileNumber + - name: bd.billno + isMandatory: false + operator: ILIKE + jsonPath: $.searchCriteria.billNo + - name: ptadd.locality + isMandatory: false + jsonPath: $.searchCriteria.locality + - name: fromperiod + isMandatory: false + jsonPath: $.searchCriteria.fromPeriod + operator: LE + - name: toperiod + isMandatory: false + jsonPath: $.searchCriteria.toPeriod + operator: GE + - name: b.status + isMandatory: false + jsonPath: $.searchCriteria.billActive + + output: + jsonFormat: {"ResponseInfo": {},"Bills": []} + outJsonPath: $.Bills + responseInfoPath: $.ResponseInfo + + - name: integratedbills + isCustomerRowMapEnabled: true + rowMapperKey: billsearch + query: + baseQuery: with bill_data as ( + SELECT conn.status as conn_status,conn.property_id as pid,conn.oldConnectionNo as oldpid,conn.additionaldetails as conn_add,b.id AS b_id, b.mobilenumber, + b.tenantid AS b_tenantid, b.payername AS b_payername, + b.payeraddress AS b_payeraddress, b.payeremail AS b_payeremail, + b.isactive AS b_isactive, b.iscancelled AS b_iscancelled, + b.createdby AS b_createdby, b.status as b_status, b.filestoreid AS b_filestoreid, + b.createddate AS b_createddate, b.lastmodifiedby AS b_lastmodifiedby, + b.lastmodifieddate AS b_lastmodifieddate, bd.id AS bd_id, + bd.billid AS bd_billid, bd.tenantid AS bd_tenantid, + bd.businessservice AS bd_businessservice, bd.demandid, + bd.fromperiod, bd.toperiod, + bd.billno AS bd_billno, bd.billdate AS bd_billdate, + bd.consumercode AS bd_consumercode, bd.consumertype AS bd_consumertype, + bd.billdescription AS bd_billdescription, bd.displaymessage AS bd_displaymessage, + bd.minimumamount AS bd_minimumamount, bd.totalamount AS bd_totalamount, + bd.callbackforapportioning AS bd_callbackforapportioning, bd.expirydate AS bd_expirydate, + bd.partpaymentallowed AS bd_partpaymentallowed, bd.isadvanceallowed as bd_isadvanceallowed, + bd.collectionmodesnotallowed AS bd_collectionmodesnotallowed, bd.createddate as bd_createddate, + b.additionaldetails as b_additionaldetails, bd.additionaldetails as bd_additionaldetails, + ad.id AS ad_id, ad.tenantid AS ad_tenantid, + ad.billdetail AS ad_billdetail, ad.glcode AS ad_glcode, + ad.orderno AS ad_orderno, ad.accountdescription AS ad_accountdescription, + ad.amount AS ad_amount, ad.adjustedamount AS ad_adjustedamount, + ad.taxheadcode AS ad_taxheadcode, ad.demanddetailid, + ad.isactualdemand AS ad_isactualdemand, ad.purpose AS ad_purpose, + ad.additionaldetails as ad_additionaldetails, + ptadd.doorNo as ptadd_doorNo, ptadd.landmark as ptadd_landmark, + ptadd.city as ptadd_city, ptadd.pincode as ptadd_pincode, + ptadd.locality as ptadd_locality, ptown.userid as ptown_userid + + FROM egbs_bill_v1 b INNER JOIN egbs_billdetail_v1 bd ON b.id = bd.billid AND b.tenantid = bd.tenantid AND b.status='ACTIVE' + INNER JOIN egbs_billaccountdetail_v1 ad ON bd.id = ad.billdetail AND bd.tenantid = ad.tenantid + INNER JOIN eg_ws_connection conn ON bd.consumercode = conn.connectionno + INNER JOIN eg_pt_property pt ON conn.property_id = pt.propertyid + INNER JOIN eg_pt_address ptadd ON ptadd.propertyid = pt.id + INNER JOIN eg_pt_owner ptown ON ptown.propertyid = pt.id $where AND bd.businessservice IN ('WS', 'SW') order by conn.property_id asc) + + select * from bill_data inner join (select max(b_createddate) as maxcreateddate,bd_businessservice as business from bill_data group by bd_businessservice) as max ON max.business=bd_businessservice + searchParams: + condition: AND + params: + - name: b.tenantid + isMandatory: true + jsonPath: $.searchCriteria.tenantId + - name: bd.consumercode + isMandatory: false + jsonPath: $.searchCriteria.consumerCode + operator: ILIKE + - name: b.mobilenumber + isMandatory: false + jsonPath: $.searchCriteria.mobileNumber + - name: bd.billno + isMandatory: false + jsonPath: $.searchCriteria.billNo + - name: ptadd.locality + isMandatory: false + jsonPath: $.searchCriteria.locality + - name: fromperiod + isMandatory: false + jsonPath: $.searchCriteria.fromPeriod + operator: LE + - name: toperiod + isMandatory: false + jsonPath: $.searchCriteria.toPeriod + operator: GE + - name: b.status + isMandatory: false + jsonPath: $.searchCriteria.billActive + + output: + jsonFormat: {"ResponseInfo": {},"Bills": []} + outJsonPath: $.Bills + responseInfoPath: $.ResponseInfo diff --git a/configs/egov-searcher/localitySearcher.yml b/configs/egov-searcher/localitySearcher.yml new file mode 100644 index 00000000..e14bc752 --- /dev/null +++ b/configs/egov-searcher/localitySearcher.yml @@ -0,0 +1,194 @@ +SearchDefinitions: + moduleName: locality + summary: Searcher configuration for searching locality in workflow inbox + version: 1.0.0 + definitions: + + - name: tl-services + query: + baseQuery: | + Select row_to_json(result) from + ( + select applicationNumber as referenceNumber,locality from eg_tl_tradelicense tl + INNER JOIN eg_tl_TradeLicenseDetail tld ON tld.tradelicenseId = tl.id + INNER JOIN eg_tl_address ad ON ad.tradeLicenseDetailId = tld.id + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + + - name: fireNoc + query: + baseQuery: | + Select row_to_json(result) from + ( + select fnd.applicationnumber as referenceNumber,locality from eg_fn_firenoc fn + INNER JOIN eg_fn_firenocDetail fnd ON fnd.firenocuuid = fn.uuid + INNER JOIN eg_fn_address ad ON ad.firenocdetailsuuid = fnd.uuid + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + + + - name: BPAREG + query: + baseQuery: | + Select row_to_json(result) from + ( + select applicationNumber as referenceNumber,locality from eg_tl_tradelicense tl + INNER JOIN eg_tl_TradeLicenseDetail tld ON tld.tradelicenseId = tl.id + INNER JOIN eg_tl_address ad ON ad.tradeLicenseDetailId = tld.id + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + + - name: bpa-services + query: + baseQuery: | + Select row_to_json(result) from + ( + select applicationNo as referenceNumber,locality from eg_bpa_buildingplan bpa + INNER JOIN eg_land_Address ad ON ad.landInfoId = bpa.landid + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + + - name: pt-services + query: + baseQuery: | + Select row_to_json(result) from + ( + select property.propertyid as referenceNumber,locality from eg_pt_property property + INNER JOIN eg_pt_address ptadd ON ptadd.propertyid = property.id + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + + - name: PT + query: + baseQuery: | + Select row_to_json(result) from + ( + select property.acknowldgementnumber as referenceNumber,locality from eg_pt_property property + INNER JOIN eg_pt_address ptadd ON ptadd.propertyid = property.id + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + + - name: ws-services + query: + baseQuery: | + Select row_to_json(result) from + ( + select applicationno as referenceNumber,conn.locality from eg_ws_connection conn + INNER JOIN eg_pt_property property ON property.propertyid = conn.property_id + INNER JOIN eg_pt_address ptadd ON ptadd.propertyid = property.id + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo + - name: sw-services + query: + baseQuery: | + Select row_to_json(result) from + ( + select applicationno as referenceNumber,conn.locality from eg_sw_connection conn + INNER JOIN eg_pt_property property ON property.propertyid = conn.property_id + INNER JOIN eg_pt_address ptadd ON ptadd.propertyid = property.id + ) result $where + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: result.referenceNumber + isMandatory: true + jsonPath: $.searchCriteria.referenceNumber + operator: + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Localities + responseInfoPath: $.ResponseInfo diff --git a/configs/egov-searcher/propertyopensearch.yml b/configs/egov-searcher/propertyopensearch.yml new file mode 100644 index 00000000..84fed5ac --- /dev/null +++ b/configs/egov-searcher/propertyopensearch.yml @@ -0,0 +1,42 @@ +SearchDefinitions: + moduleName: property-services + summary: Property Services Open API + version: 1.0.0 + definitions: + - name: propertyopensearch + query: + baseQuery: Select row_to_json(result) from + ( + select property.tenantid, property.propertyid, surveyid, oldpropertyid, property.createdtime, locality, owner.userid as owneruuid from eg_pt_property as property + INNER JOIN eg_pt_address ptadd ON ptadd.propertyid = property.id + INNER JOIN eg_pt_owner owner ON owner.propertyid=property.id $where + ) result + groupBy: + orderBy: createdtime,desc + searchParams: + condition: AND + params: + - name: property.tenantid + isMandatory: true + jsonPath: $.searchCriteria.tenantId + - name: property.propertyId + isMandatory: false + jsonPath: $.searchCriteria.propertyId + - name: property.surveyId + isMandatory: false + jsonPath: $.searchCriteria.surveyId + - name: property.oldPropertyId + isMandatory: false + jsonPath: $.searchCriteria.oldPropertyId + - name: ptadd.doorNo + isMandatory: false + jsonPath: $.searchCriteria.doorNo + - name: ptadd.locality + isMandatory: true + jsonPath: $.searchCriteria.locality + + + output: + jsonFormat: {"ResponseInfo": {},"Properties": []} + outJsonPath: $.Properties + responseInfoPath: $.ResponseInfo diff --git a/configs/egov-searcher/rainmaker-pgr-v2-searcher.yml b/configs/egov-searcher/rainmaker-pgr-v2-searcher.yml index 1e49ae91..76308662 100644 --- a/configs/egov-searcher/rainmaker-pgr-v2-searcher.yml +++ b/configs/egov-searcher/rainmaker-pgr-v2-searcher.yml @@ -18,6 +18,7 @@ SearchDefinitions: - name: servicerequestid isMandatory: false jsonPath: $.searchCriteria.serviceRequestId + operator: LIKE - name: servicerequestid isMandatory: false jsonPath: $.searchCriteria.complaintId @@ -60,9 +61,84 @@ SearchDefinitions: outJsonPath: $.services responseInfoPath: $.ResponseInfo + - name: serviceSearchWithDetailsCitizen + query: + baseQuery: select array_to_json(array_agg(row_to_json(serviceRequests))) from (select (select (select (row_to_json(services)) from ( select *, (select (select row_to_json(auditDetails) from (select createdtime, lastmodifiedtime, createdby, lastmodifiedby from eg_pgr_service where svc.serviceRequestId=eg_pgr_service.serviceRequestId) auditDetails) as auditDetails), (select (select (row_to_json(addressDetail)) from (select * from eg_pgr_address where eg_pgr_address.uuid=eg_pgr_service.addressid) addressDetail) as addressDetail) from eg_pgr_service svc where svc.serviceRequestId=eg_pgr_service.serviceRequestId order by createdtime desc) services) as services),(select (select array_to_json(array_agg(row_to_json(actionHistory))) from ( select * from eg_pgr_action where businessKey=eg_pgr_service.serviceRequestId order by "when" desc) actionHistory) as actionHistory) from eg_pgr_service $where order by createdtime desc $pagination) serviceRequests + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: accountid + isMandatory: true + jsonPath: $.searchCriteria.accountId + operator: = + - name: tenantid + isMandatory: false + jsonPath: $.searchCriteria.tenantId + operator: LIKE + - name: servicerequestid + isMandatory: false + jsonPath: $.searchCriteria.serviceRequestId + - name: status + isMandatory: false + jsonPath: $.searchCriteria.status + - name: createdtime + isMandatory: false + operator: GE + jsonPath: $.searchCriteria.startDate + - name: createdtime + isMandatory: false + operator: LE + jsonPath: $.searchCriteria.endDate + - name: lastmodifiedtime + isMandatory: false + jsonPath: $.searchCriteria.lastUpdatedSince + - name: serviceCode + isMandatory: false + jsonPath: $.searchCriteria.serviceCodes + - name: phone + isMandatory: false + jsonPath: $.searchCriteria.phone + - name: createdby + isMandatory: false + jsonPath: $.searchCriteria.createdBy + - name: active + isMandatory: false + jsonPath: $.searchCriteria.active + pagination: + noOfRecords: $.searchCriteria.noOfRecords + offset: $.searchCriteria.offset + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.services + responseInfoPath: $.ResponseInfo + - name: getServiceRequestsOnAssignedTo + #select array_to_json(array_agg(row_to_json(servicesRequestIds))) from (select businessKey from eg_pgr_action $where AND eg_pgr_action.when IN (select max("when") from eg_pgr_action where assignee NOTNULL group by businessKey)) servicesRequestIds baseQuery: | query: - baseQuery: select array_to_json(array_agg(row_to_json(servicesRequestIds))) from (select businessKey from eg_pgr_action $where AND eg_pgr_action.when IN (select max("when") from eg_pgr_action where assignee NOTNULL group by businessKey)) servicesRequestIds + baseQuery: | + select + array_to_json(array_agg(row_to_json(servicesRequestIds))) + from + ( + select + businessKey + from + eg_pgr_action $where + + AND eg_pgr_action.when IN ( + select + max("when") + from + eg_pgr_action + $where + and assignee NOTNULL + group by + businessKey + ) + ) servicesRequestIds groupBy: orderBy: searchParams: @@ -83,7 +159,7 @@ SearchDefinitions: - name: count query: - baseQuery: select array_to_json(array_agg(row_to_json(services))) from (select (row_to_json(services)) from ( select count(*) from eg_pgr_service $where) as services) services + baseQuery: select (row_to_json(services)) from ( select count(*) from eg_pgr_service $where) as services groupBy: orderBy: searchParams: @@ -128,6 +204,54 @@ SearchDefinitions: jsonFormat: {"ResponseInfo": {}} outJsonPath: $.count responseInfoPath: $.ResponseInfo + + - name: countOpen + query: + baseQuery: select array_to_json(array_agg(row_to_json(data))) from (with complaints as(select distinct on (businesskey) businesskey, status, eg_pgr_action.when as lastmodifiedtime, tenantid from eg_pgr_action order by businesskey,eg_pgr_action.when desc)select tenantid,count(*) from complaints where status='open' and (extract(epoch from NOW()) - complaints.lastmodifiedtime/1000)/3600 >24 group by tenantid) data + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: tenantid + isMandatory: false + jsonPath: $.searchCriteria.tenantId + operator: LIKE + - name: servicerequestid + isMandatory: false + jsonPath: $.searchCriteria.serviceRequestId + operator: LIKE + - name: accountid + isMandatory: false + jsonPath: $.searchCriteria.accountId + - name: status + isMandatory: false + jsonPath: $.searchCriteria.status + - name: createdtime + isMandatory: false + operator: GE + jsonPath: $.searchCriteria.startDate + - name: createdtime + isMandatory: false + operator: LE + jsonPath: $.searchCriteria.endDate + - name: lastmodifiedtime + isMandatory: false + jsonPath: $.searchCriteria.lastUpdatedSince + - name: serviceCode + isMandatory: false + jsonPath: $.searchCriteria.serviceCodes + - name: phone + isMandatory: false + jsonPath: $.searchCriteria.phone + - name: active + isMandatory: false + jsonPath: $.searchCriteria.active + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo - name: plainSearch query: @@ -185,31 +309,3 @@ SearchDefinitions: jsonFormat: {"ResponseInfo": {}} outJsonPath: $.services responseInfoPath: $.ResponseInfo - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/egov-searcher/rainmaker-pt-customsearch-punjab.yml b/configs/egov-searcher/rainmaker-pt-customsearch-punjab.yml index 93d41f2e..56456ec8 100644 --- a/configs/egov-searcher/rainmaker-pt-customsearch-punjab.yml +++ b/configs/egov-searcher/rainmaker-pt-customsearch-punjab.yml @@ -8,7 +8,7 @@ SearchDefinitions: baseQuery: | select array_to_json(array_agg(row_to_json(vasika_results))) - from (select propertyid from eg_pt_property_v2 + from (select propertyid from eg_pt_property $where and additionaldetails is not null and additionaldetails !='null' ) vasika_results @@ -39,7 +39,7 @@ SearchDefinitions: from ( select distinct locality from eg_tl_address $where union - select distinct locality from eg_pt_address_v2 $where + select distinct locality from eg_pt_address $where ) as localities groupBy: orderBy: @@ -80,21 +80,20 @@ SearchDefinitions: baseQuery: | select array_to_json(array_agg(row_to_json(data))) from ( select - property as propertyid, - assessmentnumber, + propertyid, receiptnumber, - amount, - pt_detail.financialyear - from eg_pt_propertydetail_v2 as pt_detail - left outer join egcl_receiptheader rh ON CONCAT(pt_detail.property, ':', pt_detail.assessmentnumber) = rh.consumercode - left outer JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader - left outer JOIN egcl_instrumentheader_v1 AS ih ON ih.id = ri.instrumentheader $where) data + amountpaid, + getfinancialyear(bill.id) + from eg_pt_property as pt + inner join egcl_bill as bill on bill.consumercode=pt.propertyid + inner join egcl_paymentdetail as pd ON pd.billid=bill.id + $where) data groupBy: orderBy: searchParams: condition: AND params: - - name: pt_detail.property + - name: pt.propertyid isMandatory: true jsonPath: $.searchCriteria.propertyid operator: = @@ -105,4 +104,30 @@ SearchDefinitions: responseInfoPath: $.ResponseInfo - + - name: firenocSearch + query: + baseQuery: | + select array_to_json(array_agg(row_to_json(data))) from ( + select fnd.uuid,firenocuuid,applicationnumber,firenocnumber,firenoctype,firestationid, + to_char(to_timestamp(cast(validfrom/1000 as bigint))::date , 'dd/mm/yyyy') as validfrom, + to_char(to_timestamp(cast(validto/1000 as bigint))::date , 'dd/mm/yyyy') as validto, + status,concat(addressline1,' ',addressline2,' ',street,' ',city,' ',locality,' ',subdistrict,' ') as address,fnb.name,concat(fnb.usagetype,' ',fnb.usagesubtype) + from eg_fn_firenoc fn + inner join eg_fn_firenocdetail fnd on fnd.firenocuuid=fn.uuid + inner join eg_fn_address fna on fna.firenocdetailsuuid=fnd.uuid + inner join eg_fn_buidlings fnb on fnb.firenocdetailsuuid=fnd.uuid + $where) data + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: firenocnumber + isMandatory: true + jsonPath: $.searchCriteria.firenocNumber + operator: = + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo + diff --git a/configs/egov-searcher/rainmaker-pt-gissearch.yml b/configs/egov-searcher/rainmaker-pt-gissearch.yml index 6ff30e0b..48941f08 100644 --- a/configs/egov-searcher/rainmaker-pt-gissearch.yml +++ b/configs/egov-searcher/rainmaker-pt-gissearch.yml @@ -9,39 +9,206 @@ SearchDefinitions: baseQuery: | select array_to_json(array_agg(row_to_json(data))) from ( select - pt.propertyid as propertyid, - pt.oldpropertyid as oldpropertyid, - rh.receiptnumber as receiptnumber, - pt.tenantid as tenantid - from - egcl_receiptheader AS rh - INNER JOIN eg_pt_property_v2 AS pt - ON pt.propertyid = split_part(rh.consumercode, ':', 1) - AND - pt.oldpropertyid IS NOT NULL - AND - pt.oldpropertyid != '' $where) data + concat(pt.propertyid , '/' , pt.surveyid) as primarykey, + pt.oldpropertyid as oldpropertyid, + pt.surveyid as surveyid, + pd.amountpaid as amount, + getfinancialyearforgis(pd.billid) as financialyear, + bn.blockname, + pt.tenantid as tenantid, + pd.receiptnumber as receiptnumber, + to_char(to_timestamp(cast(pd.receiptdate/1000 as bigint))::date , 'dd/mm/yyyy') as receiptdate, + pt.landarea as plotarea + from egcl_paymentdetail AS pd + INNER JOIN egcl_bill on pd.billid=egcl_bill.id + INNER JOIN eg_pt_property AS pt ON pt.propertyid = egcl_bill.consumercode AND ((pt.oldpropertyid IS NOT NULL + AND pt.oldpropertyid != '') OR pt.surveyid is not null) + INNER JOIN eg_pt_address As ad ON ad.propertyid=pt.id and ad.lastmodifiedtime in (select max(lastmodifiedtime) from eg_pt_address where propertyid=pt.id) + INNER JOIN eg_bndry_mohalla As bn ON ad.locality=bn.localitycode and ad.tenantid=bn.tenantid $where) data groupBy: orderBy: searchParams: condition: AND params: - - name: rh.receiptdate - isMandatory: true + - name: pd.receiptdate + isMandatory: false jsonPath: $.searchCriteria.fromDate operator: GE - - name: rh.receiptdate - isMandatory: true + - name: pd.receiptdate + isMandatory: false jsonPath: $.searchCriteria.toDate operator: LE - name: pt.tenantid isMandatory: true jsonPath: $.searchCriteria.tenantId operator: = + - name: bn.blockname + isMandatory: false + jsonPath: $.searchCriteria.blockcode + operator: = + + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo + + + - name: searchTLApplicationsEODB + query: + baseQuery: | + select array_to_json(array_agg(row_to_json(data))) from ( + select + tl.applicationnumber, + tld.additionalDetail::text, + tl.status,additionalDetail->>'IPIN' as iPin, + additionalDetail->>'APPID' as appId, + additionalDetail->>'mobileNo' as mobileNp + from eg_tl_tradelicense tl + inner join eg_tl_tradelicensedetail tld on tld.tradelicenseid=tl.id and tld.additionalDetail->>'CHANNEL'='EODB' ) data + groupBy: + orderBy: + searchParams: + condition: AND + params: + + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo + - name: IFMSintegration + query: + baseQuery: | + select array_to_json(array_agg(row_to_json(data))) from + (with details as + ( + SELECT pd.receiptnumber,payment.paidby,bill.consumercode,pd.amountpaid, + pd.businessservice, + pd.tenantid,payment.paymentmode,payment.transactionnumber as transactionNo ,t.mobile_number, taxheadcode , + SUM(adjustedamount) as amount FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_bill bill on bd.billid = bill.id + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + left outer join eg_pg_transactions t on t.bill_id=pd.billid + $where and payment.paymentstatus != 'CANCELLED' + GROUP BY pd.receiptnumber,pd.businessservice,pd.amountpaid,pd.tenantid, + payment.paymentmode,t.mobile_number,payment.transactionnumber, + bill.consumercode,payment.paidby,bad.taxheadcode + ) + select receiptnumber, + paidby, + consumercode, + amountpaid, + businessservice, + tenantid, + paymentmode, + transactionNo , + mobile_number, + json_agg( json_build_object('taxheadcode', taxheadcode,'amount', amount::text)) as taxheads , + ( case when consumercode like 'PT%' then (select usagecategory from eg_pt_property where propertyid=consumercode and status='ACTIVE') else '' end) as ptype + from details + group by receiptnumber,paidby, consumercode, amountpaid, businessservice, tenantid,paymentmode,transactionNo ,mobile_number + ) as data + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: pd.receiptdate + isMandatory: false + jsonPath: $.searchCriteria.fromDate + operator: GE + - name: pd.receiptdate + isMandatory: false + jsonPath: $.searchCriteria.toDate + operator: LE + output: jsonFormat: {"ResponseInfo": {}} outJsonPath: $.data responseInfoPath: $.ResponseInfo + + - name: GetTenantConfig + query: + baseQuery: | + select array_to_json(array_agg(row_to_json(data))) from ( + select id,tenantid,locality,issurveyidmandatory + from eg_tenant_config + $where + ) data + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: tenantid + isMandatory: true + jsonPath: $.searchCriteria.tenantId + operator: = + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo + + + + - name: searchGisMap + query: + baseQuery: | + select array_to_json(array_agg(row_to_json(data))) from ( + with units as + ( + select + propertyuuid, + string_agg(occupancytype,',') as occupancy, + sum(builtuparea) as builtup_area + from report_units + where propertyuuid in (select pt_uuid from report_properties $where) + group by propertyuuid + ) + select + surveyid, + split_part(surveyid,'-',1) as town, + split_part(surveyid,'-',2) as sector, + split_part(surveyid,'-',3) as subsector, + 'plot' as plot, + rp.tenantid as city, + rp.propertyid as property_id, + oldpropertyid as oldpropertyid, + 'uidno' as uid_no, + 'blockcode' as wardno, + builtup_area as builtup_area, + plotsize as land_area, + 'area' as area, + nooffloors as no_of_floors, + propertyusagetype as usage_category, + occupancy as occupancy, + ownershipcategory as ownership_category, + assessmentyears as financial_year, + rpay.amoutpaid as amunt_paid, + rpay.receiptdate as date_of_payment + from report_properties rp + inner join units ru on rp.pt_uuid=ru.propertyuuid + inner join report_assessments ra on ra.propertyid=rp.propertyid + inner join report_payments rpay on (rpay.propertyid=rp.propertyid and rpay.amoutpaid=ra.amount) + $where) data + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: surveyid + isMandatory: true + jsonPath: $.searchCriteria.plot_map_id + operator: = + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo diff --git a/configs/egov-searcher/rainmaker-tl.yml b/configs/egov-searcher/rainmaker-tl.yml new file mode 100644 index 00000000..d5ac3adc --- /dev/null +++ b/configs/egov-searcher/rainmaker-tl.yml @@ -0,0 +1,26 @@ +SearchDefinitions: + moduleName: tlservice-indexer + summary: Searcher for TradeLicense + version: 1.0.0 + definitions: + - name: serviceTradelicense + query: + baseQuery: select array_to_json(array_agg(row_to_json(result))) from ( select id,tenantid,licensetype,licensenumber,applicationnumber,oldlicensenumber,propertyid,oldpropertyid,accountid, tradename,applicationdate,commencementdate,issueddate,financialyear,validfrom,validto,action, null as assignee, null as wfdocuments,status, applicationdate,commencementdate, (select row_to_json(tltradelicensedetail) from (select id,surveyno,subownershipcategory,structuretype,operationalarea,noofemployees,adhocexemption, adhocpenalty,adhocexemptionreason,adhocpenaltyreason, (select array_to_json(array_agg(row_to_json(tlowner))) from (select isprimaryowner,ownershippercentage,ownertype, institutionid,(select array_to_json(array_agg(row_to_json(tlownerdoc))) from (select * from eg_tl_document_owner) tlownerdoc where tlownerdoc.userid = tlowner.id) documents,tlowner.active as useractive,relationship,urid id,uuid,username,password,salutation,name,(CASE gender WHEN 1 THEN 'FEMALE' WHEN 2 THEN 'MALE' ELSE 'OTHERS' END) AS gender,mobilenumber,emailid, altcontactnumber, pan, aadhaarnumber, permanentaddress, permanentcity, permanentpincode, correspondencecity, correspondencepincode, correspondenceaddress, u.active, TRUNC(EXTRACT(EPOCH FROM dob::timestamp AT time zone 'Asia/Kolkata'))*1000 dob, TRUNC(EXTRACT(EPOCH FROM pwdexpirydate::timestamp AT time zone 'Asia/Kolkata'))*1000 pwdexpirydate, locale,utype as type,signature,accountlocked,Roles,guardian as fatherorhusbandname, (CASE bloodgroup WHEN '' THEN null ELSE bloodgroup END) bloodgroup, identificationmark,photo, (CASE WHEN ucreatedby is null THEN 0 ELSE ucreatedby END)::text createdby, TRUNC(EXTRACT(EPOCH FROM ucreateddate::timestamp AT time zone 'Asia/Kolkata'))*1000 createddate, (CASE WHEN ulastmodifiedby is null THEN 0 ELSE ulastmodifiedby END)::text lastmodifiedby, TRUNC(EXTRACT(EPOCH FROM ulastmodifieddate::timestamp AT time zone 'Asia/Kolkata'))*1000 lastmodifieddate, null as otpreference,utenantid tenantid from eg_tl_owner tlowner left join ( select *,users.id urid,users.type utype, users.createdby ucreatedby, users.createddate ucreateddate, users.lastmodifiedby ulastmodifiedby, users.lastmodifieddate ulastmodifieddate, users.tenantid utenantid, addr1.address as permanentaddress, addr1.city as permanentcity, addr1.pincode as permanentpincode, addr2.address as correspondenceaddress, addr2.city as correspondencecity, addr2.pincode as correspondencepincode,(select array_to_json(array_agg(row_to_json(rolejson))) from (select null as id,role_code code from eg_userrole_v1 roles where roles.user_id=users.id) rolejson) Roles from eg_user users left outer join eg_user_address addr1 ON users.id = addr1.userid and addr1.type='PERMANENT' left outer join eg_user_address addr2 ON users.id = addr2.userid and addr2.type='CORRESPONDANCE') u on tlowner.id=u.uuid where tradelicensedetailid = tld.id) tlowner ) owners, null as channel, (select row_to_json(tladdress) from (select id,tenantid,doorno,latitude,longitude, addressid,addressnumber,type,addressline1,addressline2,landmark,city,pincode,detail,buildingname,street, (select row_to_json(loc) from (select locality as code from eg_tl_address addr where addr.tradelicensedetailid = tld.id) loc) locality from eg_tl_address addr where addr.tradelicensedetailid = tld.id) tladdress) address, (select array_to_json(array_agg(row_to_json(tlunit))) from (select id,tenantid,active,tradetype,uom,uomvalue, null as auditdetails from eg_tl_tradeunit trunit where trunit.tradelicensedetailid = tld.id) tlunit ) tradeunits, (select array_to_json(array_agg(row_to_json(tlacc))) from (select id,tenantid,active,accessorycategory, uom,uomvalue,null as count,null as auditdetails from eg_tl_accessory where tradelicensedetailid = tld.id) tlacc ) accessories, (select array_to_json(array_agg(row_to_json(tlapldoc))) from (select id,active,tenantid,documenttype,filestoreid, null as documentuid, null as auditdetails from eg_tl_applicationdocument where tradelicensedetailid = tld.id) tlapldoc ) applicationdocuments, (select array_to_json(array_agg(row_to_json(tlverdoc))) from (select * from eg_tl_verificationdocument) tlverdoc where tlverdoc.tradelicensedetailid = tld.id) verificationdocuments, additionaldetail, (select array_to_json(array_agg(row_to_json(tlinsti))) from (select * from eg_tl_institution) tlinsti where tlinsti.tradelicensedetailid = tld.id) institution, (select row_to_json(audit) from (select tld.createdBy,tld.lastModifiedBy,tld.createdTime,tld.createdTime as lastModifiedTime) as audit) as auditdetails from eg_tl_tradelicensedetail tld where tld.tradelicenseid=tl.id) tltradelicensedetail ) tradelicensedetail, null as calculation, (select row_to_json(audit) from (select tl.createdBy,tl.lastModifiedBy,tl.createdTime,tl.lastModifiedTime) as audit) as auditdetails,null as comment from eg_tl_tradelicense tl $where AND tl.id in (select id from eg_tl_tradelicense order by createdtime ASC $pagination)) result + groupBy: + orderBy: + searchParams: + condition: AND + params: + - name: tenantid + isMandatory: true + jsonPath: $.searchCriteria.tenantId + operator: LIKE + pagination: + noOfRecords: $.searchCriteria.noOfRecords + offset: $.searchCriteria.offset + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.Licenses + responseInfoPath: $.ResponseInfo + diff --git a/configs/egov-searcher/weekly-impact-emailer-searcher.yml b/configs/egov-searcher/weekly-impact-emailer-searcher.yml index 96d4b369..c2c7f934 100644 --- a/configs/egov-searcher/weekly-impact-emailer-searcher.yml +++ b/configs/egov-searcher/weekly-impact-emailer-searcher.yml @@ -5,14 +5,14 @@ definitions: - name: stateWideData query: - baseQuery: select array_to_json(array_agg(row_to_json(stateWideReports))) from ((SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property_v2 WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(ins.amount) FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= (extract(epoch from NOW())) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') + (SELECT SUM(ins.amount) FROM eg_tl_tradelicense tl INNER JOIN egcl_receiptheader_v1 rh ON tl.applicationnumber = rh.consumercode INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= (extract(epoch from NOW())) AND tl.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property_v2 WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing')) as servicesApplied, (SELECT count(*) FROM eg_user WHERE (createddate <= NOW()) AND tenantid != 'pb.testing' AND type = 'CITIZEN') as noOfUsersRegistered, 'Week0' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(ins.amount) FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') + (SELECT SUM(ins.amount) FROM eg_tl_tradelicense tl INNER JOIN egcl_receiptheader_v1 rh ON tl.applicationnumber = rh.consumercode INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tl.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')) as servicesApplied, (SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing' AND type = 'CITIZEN') as noOfUsersRegistered, 'Week1' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(ins.amount) FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') + (SELECT SUM(ins.amount) FROM eg_tl_tradelicense tl INNER JOIN egcl_receiptheader_v1 rh ON tl.applicationnumber = rh.consumercode INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tl.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')) as servicesApplied, (SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing' AND type = 'CITIZEN') as noOfUsersRegistered, 'Week2' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(ins.amount) FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') + (SELECT SUM(ins.amount) FROM eg_tl_tradelicense tl INNER JOIN egcl_receiptheader_v1 rh ON tl.applicationnumber = rh.consumercode INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tl.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')) as servicesApplied, (SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing' AND type = 'CITIZEN') as noOfUsersRegistered, 'Week3' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(ins.amount) FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') + (SELECT SUM(ins.amount) FROM eg_tl_tradelicense tl INNER JOIN egcl_receiptheader_v1 rh ON tl.applicationnumber = rh.consumercode INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tl.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')) as servicesApplied, (SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing' AND type = 'CITIZEN') as noOfUsersRegistered, 'Week4' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(ins.amount) FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') + (SELECT SUM(ins.amount) FROM eg_tl_tradelicense tl INNER JOIN egcl_receiptheader_v1 rh ON tl.applicationnumber = rh.consumercode INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tl.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected, (SELECT (SELECT count(*) FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')) as servicesApplied, (SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing' AND type = 'CITIZEN') as noOfUsersRegistered, 'Week5' as day)) stateWideReports + baseQuery: select array_to_json(array_agg(row_to_json(stateWideReports))) from ((SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_fn_firenoc WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC((SELECT SUM(payment.totalamountpaid) FROM egcl_payment payment INNER JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid INNER JOIN egcl_bill bill ON paymentdetail.billid =bill.id WHERE (paymentdetail.receiptdate/1000) <= (extract(epoch from NOW())) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED') / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing')+ (SELECT count(*) FROM eg_fn_firenoc WHERE (createdtime/1000) <= (extract(epoch from NOW())) AND tenantid != 'pb.testing')) as servicesApplied, (select trunc((select sum((SELECT count(*) FROM eg_user WHERE (createddate <= NOW()) AND tenantid != 'pb.testing' AND type = 'CITIZEN'))/100000),3)) as noOfUsersRegistered, 'Week0' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_fn_firenoc WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC((SELECT SUM(payment.totalamountpaid) FROM egcl_payment payment INNER JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid INNER JOIN egcl_bill bill ON paymentdetail.billid =bill.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED') / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')+(SELECT count(*) FROM eg_fn_firenocdetail WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')) as servicesApplied, (select trunc((select sum((SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing' AND type = 'CITIZEN'))/100000),3)) as noOfUsersRegistered, 'Week1' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_fn_firenocdetail WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC((SELECT SUM(payment.totalamountpaid) FROM egcl_payment payment INNER JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid INNER JOIN egcl_bill bill ON paymentdetail.billid =bill.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED') / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')) as servicesApplied, (select trunc((select sum((SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing' AND type = 'CITIZEN'))/100000),3)) as noOfUsersRegistered, 'Week2' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC(((SELECT SUM(payment.totalamountpaid) FROM egcl_payment payment INNER JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid INNER JOIN egcl_bill bill ON paymentdetail.billid =bill.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED')) / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')+(SELECT count(*) FROM eg_fn_firenocdetail WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')) as servicesApplied, (select trunc((select sum((SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing' AND type = 'CITIZEN'))/100000),3)) as noOfUsersRegistered, 'Week3' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_fn_firenoc WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC((SELECT SUM(payment.totalamountpaid) FROM egcl_payment payment INNER JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid INNER JOIN egcl_bill bill ON paymentdetail.billid =bill.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED') / 10000000, 3)) as revenueCollected,(SELECT (SELECT count(*) FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')+ (SELECT count(*) FROM eg_fn_firenocdetail WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')) as servicesApplied, (select trunc((select sum((SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing' AND type = 'CITIZEN'))/100000),3)) as noOfUsersRegistered, 'Week4' as day) UNION (SELECT (SELECT count(*) FROM ((SELECT DISTINCT tenantid FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')UNION (SELECT DISTINCT tenantid FROM eg_fn_firenocdetail WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') UNION (SELECT DISTINCT tenantid FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')) AS tenants) as ulbCovered,(SELECT TRUNC((SELECT SUM(payment.totalamountpaid) FROM egcl_payment payment INNER JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid INNER JOIN egcl_bill bill ON paymentdetail.billid =bill.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED')/ 10000000, 3)) as revenueCollected, (SELECT (SELECT count(*) FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') + (SELECT count(*) FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')+ (SELECT count(*) FROM eg_fn_firenocdetail WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')) as servicesApplied, (select trunc((select sum((SELECT count(*) FROM eg_user WHERE createddate <= to_timestamp((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing' AND type = 'CITIZEN'))/100000),3)) as noOfUsersRegistered, 'Week5' as day)) stateWideReports searchParams: condition: AND params: - name: intervalinsecs isMandatory: true jsonPath: $.searchCriteria.intervalinsecs - + output: jsonFormat: {"ResponseInfo": {}} outJsonPath: $.data @@ -22,7 +22,7 @@ - name: pgrData query: - baseQuery: select array_to_json(array_agg(row_to_json(pgrReports))) from ((SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'), count(*) as totalComplaints, (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week0' as day FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'), count(*) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week1' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'), count(*) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week2' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'), count(*) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week3' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'), count(*) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week4' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'), count(*) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week5' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')) pgrReports + baseQuery: select array_to_json(array_agg(row_to_json(pgrReports))) from ((SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'), CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as totalComplaints, (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week0' as day FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'), CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week1' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'), CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week2' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'), CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week3' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'), CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week4' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'), CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as totalComplaints, (SELECT (CASE WHEN (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0 THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE status = 'closed' OR status = 'resolved' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week5' as day FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')) pgrReports searchParams: condition: AND params: @@ -38,7 +38,8 @@ - name: pgrChannelData query: - baseQuery: select array_to_json(array_agg(row_to_json(pgrChannel))) from ((SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as ivr), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as webapp),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as mobileapp), 'Week0' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week1' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week2' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week3' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week4' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')), '%') ELSE '0%' END) as redressal), 'Week5' as day FROM eg_pgr_service LIMIT 1)) pgrChannel + baseQuery: select array_to_json(array_agg(row_to_json(pgrChannel))) from ((SELECT(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as ivr),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as webapp),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as mobileapp),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'whatsapp' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as whatsapp),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'RB Bot' AND (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as rbbot),'Week0' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'whatsapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'RB Bot' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),'Week1' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'whatsapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'RB Bot' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), 'Week2' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'whatsapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'RB Bot' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), 'Week3' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'whatsapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'RB Bot' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), 'Week4' as day FROM eg_pgr_service LIMIT 1) UNION (SELECT (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'ivr' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'web' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'mobileapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), (SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'whatsapp' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal),(SELECT (CASE WHEN ((SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing') != 0) THEN CONCAT(round(((SELECT count(*) FROM eg_pgr_service WHERE source = 'RB Bot' AND (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing')::numeric * 100 / (SELECT count(*) FROM eg_pgr_service WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'))::numeric, 2), '%') ELSE '0%' END) as redressal), 'Week5' as day FROM eg_pgr_service LIMIT 1)) pgrChannel + searchParams: condition: AND params: @@ -55,8 +56,7 @@ - name: ptData query: - baseQuery: select array_to_json(array_agg(row_to_json(ptReports))) from ((SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property_v2 WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'), TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated, 'Week0' as day FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= (extract(epoch from NOW())) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'), TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated, 'Week1' as day FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'), TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated, 'Week2' as day FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'), TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated, 'Week3' as day FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'), TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated, 'Week4' as day FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property_v2 WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'), TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated, 'Week5' as day FROM eg_pt_property_v2 pt INNER JOIN egcl_receiptheader_v1 rh ON pt.propertyid = SPLIT_PART(rh.consumercode, ':', 1) INNER JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id WHERE (rh.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND pt.tenantid != 'pb.testing' AND rh.status != 'Cancelled' AND ins.instrumentstatus != 'CANCELLED')) ptReports - + baseQuery: select array_to_json(array_agg(row_to_json(ptReports))) from ((SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing'),(select CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated FROM eg_pt_property pt where status='ACTIVE' AND tenantid != 'pb.testing'),(select TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected FROM egcl_paymentdetail paymentdetail INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= (extract(epoch from NOW())) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND paymentdetail.businessservice='PT'), 'Week0' as day) UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'),(select CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated FROM eg_pt_property pt where (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND status='ACTIVE' AND tenantid != 'pb.testing') ,(select TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected FROM egcl_paymentdetail paymentdetail INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND paymentdetail.businessservice='PT'), 'Week1' as day) UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'),(select CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated FROM eg_pt_property pt where (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND status='ACTIVE' AND tenantid != 'pb.testing'),(select TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected FROM egcl_paymentdetail paymentdetail INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND paymentdetail.businessservice='PT') ,'Week2') UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'),(select CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated FROM eg_pt_property pt where (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 *3 ) AND status='ACTIVE' AND tenantid != 'pb.testing') ,(select TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected FROM egcl_paymentdetail paymentdetail INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND paymentdetail.businessservice='PT'),'Week3' as day) UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'), (select CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated FROM eg_pt_property pt where (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND status='ACTIVE' AND tenantid != 'pb.testing'),(select TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected FROM egcl_paymentdetail paymentdetail INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND paymentdetail.businessservice='PT'), 'Week4' as day) UNION (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_pt_property WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'), (select CONCAT((count(DISTINCT pt.propertyid) / 1000), '.', MOD(count(DISTINCT pt.propertyid), 1000)) as noofpropertiescreated FROM eg_pt_property pt where (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND status='ACTIVE' AND tenantid != 'pb.testing'),(select TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected FROM egcl_paymentdetail paymentdetail INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND payment.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND paymentdetail.businessservice='PT'), 'Week5' as day)) ptReports searchParams: condition: AND params: @@ -73,7 +73,8 @@ - name: tlData query: - baseQuery: select array_to_json(array_agg(row_to_json(tlReports))) from (SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_tl_tradelicense WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing' ), count(*) as licenseIssued, 'Week0' as day FROM eg_tl_tradelicense WHERE (createdtime/1000) <= (extract (epoch from NOW())) AND tenantid != 'pb.testing' AND status = 'APPROVED' UNION SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing'), count(*) as licenseIssued, 'Week1' as day FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tenantid != 'pb.testing' AND status = 'APPROVED' UNION SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing'), count(*) as licenseIssued, 'Week2' as day FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 2) AND tenantid != 'pb.testing' AND status = 'APPROVED' UNION SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing'), count(*) as licenseIssued, 'Week3' as day FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 3) AND tenantid != 'pb.testing' AND status = 'APPROVED' UNION SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing'), count(*) as licenseIssued, 'Week4' as day FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 4) AND tenantid != 'pb.testing' AND status = 'APPROVED' UNION SELECT (SELECT count(DISTINCT tenantid) as ulbCovered FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing'), count(*) as licenseIssued, 'Week5' as day FROM eg_tl_tradelicense WHERE (createdtime/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800 * 5) AND tenantid != 'pb.testing' AND status = 'APPROVED') tlReports + baseQuery: select array_to_json(array_agg(row_to_json(tlReports))) from (SELECT count(DISTINCT tl.tenantid) as ulbCovered , CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as licenseIssued,TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week0' as day FROM eg_tl_tradelicense as tl INNER JOIN egcl_bill bill ON tl.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= (extract(epoch from NOW())) AND tl.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND tl.status='APPROVED' UNION SELECT count(DISTINCT tl.tenantid) as ulbCovered , CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as licenseIssued, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected,'Week1' as day FROM eg_tl_tradelicense tl INNER JOIN egcl_bill bill ON tl.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND tl.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND tl.status='APPROVED' UNION SELECT count(DISTINCT tl.tenantid) as ulbCovered , CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as licenseIssued,TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week2' as day FROM eg_tl_tradelicense tl INNER JOIN egcl_bill bill ON tl.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*2) AND tl.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND tl.status='APPROVED' UNION SELECT count(DISTINCT tl.tenantid) as ulbCovered , CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as licenseIssued,TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week3' as day FROM eg_tl_tradelicense tl INNER JOIN egcl_bill bill ON tl.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*3) AND tl.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND tl.status='APPROVED' UNION SELECT count(DISTINCT tl.tenantid) as ulbCovered , CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as licenseIssued,TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week4' as day FROM eg_tl_tradelicense tl INNER JOIN egcl_bill bill ON tl.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*4) AND tl.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND tl.status='APPROVED' UNION SELECT count(DISTINCT tl.tenantid) as ulbCovered , CONCAT((count(*) / 1000), '.', MOD(count(*), 1000)) as licenseIssued,TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week5' as day FROM eg_tl_tradelicense tl INNER JOIN egcl_bill bill ON tl.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*5) AND tl.tenantid != 'pb.testing' AND payment.paymentstatus != 'CANCELLED' AND tl.status='APPROVED') tlReports + searchParams: condition: AND params: @@ -90,23 +91,23 @@ - name: miscCollections query: - baseQuery: SELECT array_to_json(array_agg(row_to_json(misccollections))) from ((SELECT COUNT(*) as receiptscreated, TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, 'Week0' as day FROM egcl_receiptheader_v1 rh LEFT JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id $where AND (rh.receiptdate/1000) <= (extract(epoch from NOW()))) UNION (SELECT COUNT(*) as receiptscreated, TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, 'Week1' as day FROM egcl_receiptheader_v1 rh LEFT JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id $where AND (rh.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800)) UNION (SELECT COUNT(*) as receiptscreated, TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, 'Week2' as day FROM egcl_receiptheader_v1 rh LEFT JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id $where AND (rh.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 2)) UNION (SELECT COUNT(*) as receiptscreated, TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, 'Week3' as day FROM egcl_receiptheader_v1 rh LEFT JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id $where AND (rh.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 3)) UNION (SELECT COUNT(*) as receiptscreated, TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, 'Week4' as day FROM egcl_receiptheader_v1 rh LEFT JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id $where AND (rh.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 4)) UNION (SELECT COUNT(*) as receiptscreated, TRUNC(SUM(ins.amount) / 10000000, 3) as revenuecollected, 'Week5' as day FROM egcl_receiptheader_v1 rh LEFT JOIN egcl_receiptinstrument_v1 rins ON rh.id = rins.receiptheader INNER JOIN egcl_instrumentheader_v1 ins ON rins.instrumentheader = ins.id $where AND (rh.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 5))) misccollections + baseQuery: select array_to_json(array_agg(row_to_json(misccollections))) from ((SELECT TRUNC(CONCAT((count(*) / 100000), '.', MOD(count(*), 100000))::decimal,3) as receiptscreated, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week0' as day FROM egcl_payment payment LEFT JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid $where AND (paymentdetail.receiptdate/1000) <= (extract(epoch from NOW()))) UNION (SELECT TRUNC(CONCAT((count(*) / 100000), '.', MOD(count(*), 100000))::decimal,3) as receiptscreated, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week1' as day FROM egcl_payment payment LEFT JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid $where AND (paymentdetail.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800)) UNION (SELECT TRUNC(CONCAT((count(*) / 100000), '.', MOD(count(*), 100000))::decimal,3) as receiptscreated, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week2' as day FROM egcl_payment payment LEFT JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid $where AND (paymentdetail.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 2)) UNION (SELECT TRUNC(CONCAT((count(*) / 100000), '.', MOD(count(*), 100000))::decimal,3) as receiptscreated, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week3' as day FROM egcl_payment payment LEFT JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid $where AND (paymentdetail.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 3)) UNION (SELECT TRUNC(CONCAT((count(*) / 100000), '.', MOD(count(*), 100000))::decimal,3) as receiptscreated, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week4' as day FROM egcl_payment payment LEFT JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid $where AND (paymentdetail.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 4)) UNION (SELECT TRUNC(CONCAT((count(*) / 100000), '.', MOD(count(*), 100000))::decimal,3) as receiptscreated, TRUNC(SUM(payment.totalamountpaid) / 10000000, 3) as revenuecollected, 'Week5' as day FROM egcl_payment payment LEFT JOIN egcl_paymentdetail paymentdetail ON payment.id = paymentdetail.paymentid $where AND (paymentdetail.receiptdate/1000) <= ((extract(epoch from NOW())) - 604800 * 5))) misccollections searchParams: condition: AND params: - - name: rh.tenantid + - name: payment.tenantid isMandatory: true operator: NE jsonPath: $.searchCriteria.ignoreTenant - - name: rh.businessdetails + - name: paymentdetail.businessservice isMandatory: false operator: IN jsonPath: $.searchCriteria.taxHeads - - name: rh.businessdetails + - name: paymentdetail.businessservice isMandatory: false operator: NOT IN jsonPath: $.searchCriteria.ignoreTaxHeads - - name: rh.status + - name: payment.paymentstatus isMandatory: true operator: NE jsonPath: $.searchCriteria.ignoreStatus @@ -114,4 +115,19 @@ output: jsonFormat: {"ResponseInfo": {}} outJsonPath: $.data - responseInfoPath: $.ResponseInfo + responseInfoPath: $.ResponseInfo + + - name: firenocData + query: + baseQuery: select array_to_json(array_agg(row_to_json(firenocReports))) from (SELECT count(DISTINCT fn.tenantid) as ulbCovered , count(*) as certificatesIssued,COALESCE(TRUNC(SUM(payment.totalamountpaid) / 10000000, 3),0) as revenuecollected, 'Week0' as day FROM eg_fn_firenocdetail as fn INNER JOIN egcl_bill bill ON fn.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= (extract(epoch from NOW())) AND fn.tenantid != 'pb.testing' AND payment.paymentstatus!='CANCELLED' AND fn.status='APPROVED' UNION SELECT count(DISTINCT fn.tenantid) as ulbCovered , count(*) as certficatesIssued, COALESCE(TRUNC(SUM(payment.totalamountpaid) / 10000000, 3),0) as revenuecollected,'Week1' as day FROM eg_fn_firenocdetail fn INNER JOIN egcl_bill bill ON fn.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800) AND fn.tenantid != 'pb.testing' AND payment.paymentstatus!='CANCELLED' AND fn.status='APPROVED' UNION SELECT count(DISTINCT fn.tenantid) as ulbCovered , count(*) as certficatesIssued,COALESCE(TRUNC(SUM(payment.totalamountpaid) / 10000000, 3),0) as revenuecollected, 'Week2' as day FROM eg_fn_firenocdetail fn INNER JOIN egcl_bill bill ON fn.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*2) AND fn.tenantid != 'pb.testing' AND payment.paymentstatus!='CANCELLED' AND fn.status='APPROVED' UNION SELECT count(DISTINCT fn.tenantid) as ulbCovered , count(*) as certificatesIssued,COALESCE(TRUNC(SUM(payment.totalamountpaid) / 10000000, 3),0) as revenuecollected, 'Week3' as day FROM eg_fn_firenocdetail fn INNER JOIN egcl_bill bill ON fn.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*3) AND fn.tenantid != 'pb.testing' AND payment.paymentstatus!='CANCELLED' AND fn.status='APPROVED' UNION SELECT count(DISTINCT fn.tenantid) as ulbCovered , count(*) as certficatesIssued,COALESCE(TRUNC(SUM(payment.totalamountpaid) / 10000000, 3),0) as revenuecollected, 'Week4' as day FROM eg_fn_firenocdetail fn INNER JOIN egcl_bill bill ON fn.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*4) AND fn.tenantid != 'pb.testing' AND payment.paymentstatus!='CANCELLED' AND fn.status='APPROVED' UNION SELECT count(DISTINCT fn.tenantid) as ulbCovered , count(*) as certficatesIssued,COALESCE(TRUNC(SUM(payment.totalamountpaid) / 10000000, 3),0) as revenuecollected, 'Week5' as day FROM eg_fn_firenocdetail fn INNER JOIN egcl_bill bill ON fn.applicationnumber = bill.consumercode INNER JOIN egcl_paymentdetail paymentdetail ON bill.id = paymentdetail.billid INNER JOIN egcl_payment payment ON paymentdetail.paymentid =payment.id WHERE (paymentdetail.receiptdate/1000) <= ((extract (epoch from (to_timestamp(CONCAT(CURRENT_DATE + integer '1'), 'YYYY-MM-DD H24:MI:SS')))) - 604800*5) AND fn.tenantid != 'pb.testing' AND payment.paymentstatus!='CANCELLED' AND fn.status='APPROVED') firenocReports + searchParams: + condition: AND + params: + - name: intervalinsecs + isMandatory: true + jsonPath: $.searchCriteria.intervalinsecs + + output: + jsonFormat: {"ResponseInfo": {}} + outJsonPath: $.data + responseInfoPath: $.ResponseInfo diff --git a/configs/egov-zuul/post-hook.json b/configs/egov-zuul/post-hook.json index b534e253..567d3f37 100644 --- a/configs/egov-zuul/post-hook.json +++ b/configs/egov-zuul/post-hook.json @@ -1,5 +1,8 @@ { "/pt-services-v2/property/_create":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/property/_create", "/pt-services-v2/property/_update":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/property/_create", - "/pt-calculator-v2/propertytax/_estimate":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/pt-calculator-v2/_estimate" + "/pt-calculator-v2/propertytax/_estimate":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/pt-calculator-v2/_estimate", + "/pt-calculator-v2/propertytax/v2/_estimate":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/pt-calculator-v2/_estimate", + "/property-services/assessment/_create":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/assessment/_create", + "/property-services/assessment/_update":"http://rainmaker-custom-service:8000/customization/protected/punjab-pt/assessment/_update" } \ No newline at end of file diff --git a/configs/monitoring-dashboards/kube-cluster-dashboard.json b/configs/monitoring-dashboards/kube-cluster-dashboard.json new file mode 100644 index 00000000..94872619 --- /dev/null +++ b/configs/monitoring-dashboards/kube-cluster-dashboard.json @@ -0,0 +1,6024 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "This dashboard can help troubleshooting issue in k8s cluster at cluster, node and namespace level.", + "editable": true, + "gnetId": 11802, + "graphTooltip": 0, + "iteration": 1597248957829, + "links": [], + "panels": [ + { + "collapsed": true, + "datasource": "Prometheus", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 37, + "panels": [ + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [], + "noValue": "N/A", + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 1 + }, + "id": 98, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "lastNotNull" + ] + }, + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + } + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "sum(time() - kube_service_created{namespace=\"default\",service=\"kubernetes\"})", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "B" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Cluster age", + "transformations": [], + "transparent": true, + "type": "stat" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 5, + "y": 1 + }, + "id": 131, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": " count(kube_namespace_created)", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Namespaces ", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 8, + "y": 1 + }, + "id": 76, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": " count(count by (pod)(container_spec_memory_reservation_limit_bytes{pod!=\"\"}))", + "hide": false, + "instant": false, + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Total pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 11, + "y": 1 + }, + "id": 60, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_pod_container_status_waiting !=0 ) or vector(0)", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Waiting pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 14, + "y": 1 + }, + "id": 61, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_pod_container_status_terminated_reason{reason!=\"Completed\"} !=0 ) or vector(0)", + "hide": false, + "instant": false, + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Terminated pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 17, + "y": 1 + }, + "id": 74, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(count by (pod)(container_spec_memory_reservation_limit_bytes{id=~\".*.burstable.*\",id!~\".*.scope\",pod!=\"\"}))", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "burstable pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 20, + "y": 1 + }, + "id": 73, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(count by (pod)(container_spec_memory_reservation_limit_bytes{id=~\".*.besteffort.*\",id!~\".*.scope\",pod!=\"\"}))", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Besteffort pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 22, + "y": 1 + }, + "id": 59, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_persistentvolumeclaim_info) ", + "hide": false, + "instant": false, + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0", + "timeFrom": null, + "timeShift": null, + "title": "PVCs", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": { + "align": null + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "osVersion" + }, + "properties": [ + { + "id": "custom.width", + "value": 360 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Docker version" + }, + "properties": [ + { + "id": "custom.width", + "value": 120 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Node name" + }, + "properties": [ + { + "id": "custom.width", + "value": 213 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "No. of pods" + }, + "properties": [ + { + "id": "custom.width", + "value": 104 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "dockerVersion" + }, + "properties": [ + { + "id": "custom.width", + "value": 123 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "instance" + }, + "properties": [ + { + "id": "custom.width", + "value": 147 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Memory used" + }, + "properties": [ + { + "id": "custom.width", + "value": 109 + }, + { + "id": "unit", + "value": "percentunit" + }, + { + "id": "thresholds", + "value": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + { + "id": "custom.displayMode", + "value": "lcd-gauge" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "kernelVersion" + }, + "properties": [ + { + "id": "custom.width", + "value": 140 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "node" + }, + "properties": [ + { + "id": "custom.width", + "value": 204 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Pod capacity used" + }, + "properties": [ + { + "id": "custom.width", + "value": 142 + }, + { + "id": "unit", + "value": "none" + }, + { + "id": "custom.displayMode", + "value": "auto" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "CPU usage" + }, + "properties": [ + { + "id": "custom.width", + "value": 91 + }, + { + "id": "unit", + "value": "percentunit" + }, + { + "id": "thresholds", + "value": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + { + "id": "custom.displayMode", + "value": "lcd-gauge" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "K8s version" + }, + "properties": [ + { + "id": "custom.width", + "value": 105 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "OS version" + }, + "properties": [ + { + "id": "custom.width", + "value": 178 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "pod_cidr" + }, + "properties": [ + { + "id": "custom.width", + "value": 122 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Kernel version" + }, + "properties": [ + { + "id": "custom.width", + "value": 122 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Pod count" + }, + "properties": [ + { + "id": "custom.width", + "value": 88 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "role" + }, + "properties": [ + { + "id": "custom.width", + "value": 72 + } + ] + } + ] + }, + "gridPos": { + "h": 10, + "w": 8, + "x": 0, + "y": 4 + }, + "id": 64, + "options": { + "angular": { + "decimals": 0, + "defaultColor": "#37872D", + "format": "none", + "linkIndex": "0", + "linkVars": [], + "mathColorValue": "data[end]", + "mathDisplayValue": "data[end]", + "mathScratchPad": "data = size(data)[1] == 0 ? [NaN] : data", + "options": {}, + "radius": "25px", + "thresholds": [ + { + "color": "#37872D", + "value": "1" + }, + { + "color": "#C4162A", + "value": "0" + } + ] + }, + "frameIndex": 0, + "showHeader": true + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "kube_node_info", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "{{node}}", + "refId": "A" + }, + { + "expr": " (count by (node)(container_spec_memory_reservation_limit_bytes{pod!=\"\"}))", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "B" + }, + { + "expr": "((label_replace((node_memory_MemTotal_bytes + on(instance) group_left(nodename) \nnode_uname_info),\"node\",\"$1\",\"nodename\", \"(.+)\")) - (label_replace((node_memory_MemAvailable_bytes + on(instance) group_left(nodename) \nnode_uname_info),\"node\",\"$1\",\"nodename\", \"(.+)\"))) / (label_replace((node_memory_MemTotal_bytes + on(instance) group_left(nodename) \nnode_uname_info),\"node\",\"$1\",\"nodename\", \"(.+)\")) ", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "C" + }, + { + "expr": "max\n by(node) (max by(instance) (kubelet_running_pod_count{job=\"kubelet\",metrics_path=\"/metrics\"})\n * on(instance) group_left(node) kubelet_node_name{job=\"kubelet\",metrics_path=\"/metrics\"})\n", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "D" + }, + { + "expr": "sum by (node)(label_replace(instance:node_cpu:ratio + on(instance) group_left(nodename) \nnode_uname_info,\"node\",\"$1\",\"nodename\", \"(.+)\") ) / sum by (node)(kube_node_status_capacity{resource=\"cpu\"})", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "E" + }, + { + "expr": "kube_node_role", + "format": "table", + "interval": "", + "legendFormat": "", + "refId": "F" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "cluster node details", + "transformations": [ + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "container_runtime_version", + "kernel_version", + "kubelet_version", + "node", + "os_image", + "pod_cidr", + "provider_id", + "Value #C", + "Value #D", + "Value #E", + "role" + ] + } + } + }, + { + "id": "seriesToColumns", + "options": { + "byField": "node" + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value #C": 2, + "Value #D": 4, + "Value #E": 3, + "container_runtime_version": 9, + "kernel_version": 7, + "kubelet_version": 5, + "node": 0, + "os_image": 8, + "pod_cidr": 6, + "provider_id": 10, + "role": 1 + }, + "renameByName": { + "Value #C": "Memory used", + "Value #D": "Pod count", + "Value #E": "CPU usage", + "container_runtime_version": "Docker version", + "kernel_version": "Kernel version", + "kubelet_version": "K8s version", + "node": "Node name", + "os_image": "OS version", + "provider_id": "" + } + } + } + ], + "transparent": true, + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 10, + "w": 8, + "x": 8, + "y": 4 + }, + "hiddenSeries": false, + "id": 68, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "6.5.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sort(sum by (node)(container_memory_usage_bytes{pod!=\"POD\",namespace!=\"\"}))", + "hide": true, + "legendFormat": "{{node}}", + "refId": "A" + }, + { + "expr": "(sum by (namespace)(container_memory_usage_bytes{pod!=\"POD\",namespace!=\"\"}))", + "legendFormat": "{{namespace}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memory usage by namespace in cluster", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 4 + }, + "hiddenSeries": false, + "id": 121, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "6.5.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": " histogram_quantile(0.99,\n sum by(instance, le) (rate(kubelet_pod_worker_duration_seconds_bucket{job=\"kubelet\",metrics_path=\"/metrics\"}[10m])))\n * on(instance) group_left(node) kubelet_node_name{job=\"kubelet\",metrics_path=\"/metrics\"}", + "instant": false, + "interval": "", + "legendFormat": "{{node}} ", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Pod startup latency", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Overall cluster status", + "type": "row" + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 140, + "panels": [ + { + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": { + "align": "center" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Lag" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "color-text" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 2 + }, + "id": 137, + "options": { + "frameIndex": 1, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Value #B" + } + ] + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "sort_desc(sum(kafka_consumergroup_lag_sum) by (consumergroup, topic))", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "Lag", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Consumer Group Lag", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "consumergroup": false, + "endpoint": true, + "instance": true, + "job": true, + "namespace": true, + "pod": true, + "service": true + }, + "indexByName": {}, + "renameByName": { + "Value": "Lag", + "consumergroup": "", + "topic": "" + } + } + }, + { + "id": "organize", + "options": {} + } + ], + "type": "table" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": { + "align": "center" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 2 + }, + "id": 138, + "options": { + "frameIndex": 1, + "showHeader": true, + "sortBy": [] + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "sort_desc(sum(delta(kafka_consumergroup_current_offset[10m])) by (consumergroup, topic))", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "Lag", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Consumption Rate", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "consumergroup": false, + "endpoint": true, + "instance": true, + "job": true, + "namespace": true, + "pod": true, + "service": true + }, + "indexByName": {}, + "renameByName": { + "Value": "Messages/5min", + "consumergroup": "", + "topic": "" + } + } + }, + { + "id": "organize", + "options": {} + } + ], + "type": "table" + }, + { + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": { + "align": "center" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Dead Letters" + }, + "properties": [ + { + "id": "custom.displayMode", + "value": "color-text" + } + ] + } + ] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 10 + }, + "id": 143, + "options": { + "frameIndex": 1, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "Value #B" + } + ] + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "sort_desc(sum(kafka_topic_partition_current_offset{topic=~\".*deadletter\"}) by (topic))", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "Lag", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Dead Letters", + "transformations": [ + { + "id": "organize", + "options": { + "excludeByName": { + "Time": true, + "__name__": true, + "consumergroup": false, + "endpoint": true, + "instance": true, + "job": true, + "namespace": true, + "pod": true, + "service": true + }, + "indexByName": {}, + "renameByName": { + "Value": "Dead Letters", + "consumergroup": "", + "topic": "" + } + } + }, + { + "id": "organize", + "options": {} + } + ], + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 10 + }, + "hiddenSeries": false, + "id": 142, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "sideWidth": 480, + "sort": "current", + "sortDesc": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(kafka_consumergroup_current_offset) by (consumergroup, topic)", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{consumergroup}} (topic: {{topic}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Message Consumption", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:169", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:170", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Kafka Consumer Groups", + "type": "row" + }, + { + "collapsed": true, + "datasource": null, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 135, + "panels": [ + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": { + "align": "left" + }, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "0", + "type": 1, + "value": "null" + } + ], + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#299c46", + "value": null + }, + { + "color": "#37872D", + "value": 0 + }, + { + "color": "#d44a3a" + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 10, + "x": 0, + "y": 2 + }, + "id": 133, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "displayMode": "lcd", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showUnfilled": true + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "kubelet_volume_stats_available_bytes{job=\"kubelet\",metrics_path=\"/metrics\",namespace=\"$namespace\"}\n / kubelet_volume_stats_capacity_bytes{job=\"kubelet\",metrics_path=\"/metrics\",namespace=\"$namespace\"}\n ", + "format": "time_series", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "{{persistentvolumeclaim}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "PVCs available capacity in namespacee $namespace", + "transparent": true, + "type": "bargauge" + }, + { + "aliasColors": { + "ReadOnly::k8s-aboutmckinsey-intranet-aboutmckinsey-prod-pvc-0::intranet-aboutmckinsey-prod-85c4d8fcd6-cq4vv": "dark-red", + "Total": "dark-red" + }, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 10, + "x": 10, + "y": 2 + }, + "hiddenSeries": false, + "id": 50, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(kube_persistentvolumeclaim_access_mode{namespace=\"$namespace\"})", + "format": "time_series", + "hide": false, + "legendFormat": "{{access_mode}}::{{persistentvolumeclaim}}", + "refId": "B" + }, + { + "expr": "kube_persistentvolumeclaim_status_phase{namespace=\"$namespace\",phase=\"Bound\"}", + "legendFormat": "Bound::{{persistentvolumeclaim}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "persistentvolumeclaim status in namespace $namespace", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "0", + "type": 1, + "value": "null" + } + ], + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#299c46", + "value": null + }, + { + "color": "#37872D", + "value": 0 + }, + { + "color": "#d44a3a" + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 2, + "x": 20, + "y": 2 + }, + "id": 106, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "lastNotNull" + ] + }, + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": true + } + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "count(kube_persistentvolume_status_phase{job=\"kube-state-metrics\",phase=\"Failed\",namespace=\"$namespace\"} != 0) ", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "PVCs Failed", + "transparent": true, + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {}, + "mappings": [ + { + "id": 0, + "op": "=", + "text": "0", + "type": 1, + "value": "null" + } + ], + "nullValueMode": "connected", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#299c46", + "value": null + }, + { + "color": "#37872D", + "value": 0 + }, + { + "color": "#d44a3a" + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 6, + "w": 2, + "x": 22, + "y": 2 + }, + "id": 107, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "fieldOptions": { + "calcs": [ + "lastNotNull" + ] + }, + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": true + } + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "count(kube_persistentvolume_status_phase{job=\"kube-state-metrics\",phase=\"Pending\",namespace=\"$namespace\"} != 0)", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "PVCs Pending", + "transparent": true, + "type": "stat" + } + ], + "title": "Persistence Volumes", + "type": "row" + }, + { + "collapsed": true, + "datasource": "Prometheus", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 41, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 21 + }, + "id": 53, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_deployment_created{namespace=\"$namespace\"})", + "hide": false, + "instant": false, + "legendFormat": "{{deployment}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Deployments", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 21 + }, + "id": 44, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_pod_container_status_ready{namespace=\"$namespace\"} !=0 ) or vector(0)", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Ready pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 21 + }, + "id": 42, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_pod_container_status_terminated{namespace=\"$namespace\"} !=0 ) or vector(0)", + "hide": false, + "instant": false, + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Terminated pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 9, + "y": 21 + }, + "id": 45, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(kube_pod_container_status_waiting{namespace=\"$namespace\"} !=0 ) or vector(0)", + "hide": false, + "instant": false, + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Waiting pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 21 + }, + "id": 92, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(container_spec_memory_reservation_limit_bytes{namespace=\"$namespace\",container=\"POD\",id!~\".*.burstable.*|.*.besteffort.*\",id!~\".*.scope\",pod!=\"\"})", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Guaranteed pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 15, + "y": 21 + }, + "id": 91, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(count by (pod)(container_spec_memory_reservation_limit_bytes{namespace=\"$namespace\",container=\"POD\"}))", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "total pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 18, + "y": 21 + }, + "id": 89, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(count by (pod)(container_spec_memory_reservation_limit_bytes{id=~\".*.besteffort.*\",id!~\".*.scope\",pod!=\"\",namespace=\"$namespace\"}))", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "Besteffort pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "#37872D", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 21, + "y": 21 + }, + "id": 94, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(count by (pod)(container_spec_memory_reservation_limit_bytes{id=~\".*.burstable.*\",id!~\".*.scope\",pod!=\"\",namespace=\"$namespace\",container=\"POD\"}))", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "", + "hide": true, + "refId": "B" + } + ], + "thresholds": "0,1", + "timeFrom": null, + "timeShift": null, + "title": "burstable pods", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": { + "align": "left", + "displayMode": "color-text" + }, + "mappings": [], + "noValue": "--", + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + } + ] + }, + "unit": "decbytes" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "pod" + }, + "properties": [ + { + "id": "custom.width", + "value": 366 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "host_ip" + }, + "properties": [ + { + "id": "custom.width", + "value": 104 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "pod_ip" + }, + "properties": [ + { + "id": "custom.width", + "value": 111 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "node" + }, + "properties": [ + { + "id": "custom.width", + "value": 202 + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Memory usage" + }, + "properties": [ + { + "id": "custom.width", + "value": null + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Status" + }, + "properties": [ + { + "id": "custom.width", + "value": 68 + }, + { + "id": "mappings", + "value": [ + { + "from": "", + "id": 0, + "operator": "", + "text": "Up", + "to": "", + "type": 1, + "value": "1" + }, + { + "from": "", + "id": 1, + "operator": "", + "text": "Down", + "to": "", + "type": 1, + "value": "0" + } + ] + }, + { + "id": "thresholds", + "value": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "dark-green", + "value": 1 + } + ] + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Age" + }, + "properties": [ + { + "id": "custom.width", + "value": 92 + }, + { + "id": "unit", + "value": "s" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Restarts" + }, + "properties": [ + { + "id": "custom.width", + "value": null + }, + { + "id": "unit", + "value": "none" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "CPU Usage" + }, + "properties": [ + { + "id": "custom.width", + "value": 247 + }, + { + "id": "unit" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "CPU Usage [95th Percentile]" + }, + "properties": [ + { + "id": "custom.width", + "value": 253 + }, + { + "id": "unit", + "value": "none" + } + ] + } + ] + }, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 104, + "links": [], + "options": { + "angular": { + "columns": [], + "fontSize": "100%", + "options": {}, + "pageSize": null, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "align": "auto", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/pod.*/", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "node", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "__name__", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "/created.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "/prom.*/", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "/job/", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "service", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "instance", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "endpoint", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "uid", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "namespace", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value", + "thresholds": [], + "type": "string", + "unit": "short", + "valueMaps": [] + } + ], + "transform": "table" + }, + "frameIndex": 0, + "showHeader": true, + "sortBy": [ + { + "desc": false, + "displayName": "pod" + } + ] + }, + "pluginVersion": "7.0.5", + "targets": [ + { + "expr": "kube_pod_container_status_ready{namespace=\"$namespace\"}", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + }, + { + "expr": "sum\r\n by(pod) (container_memory_usage_bytes{container!=\"POD\",image!=\"\",job=\"kubelet\",metrics_path=\"/metrics/cadvisor\",namespace=\"$namespace\"})", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "Memory usage", + "refId": "B" + }, + { + "expr": "kube_pod_info{namespace=\"$namespace\"}", + "format": "table", + "interval": "", + "legendFormat": "", + "refId": "C" + }, + { + "expr": "sum by(pod) (kube_pod_container_status_restarts_total{namespace=\"$namespace\"})", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "E" + }, + { + "expr": "quantile_over_time(0.95,\r\n sum by (pod) (\r\n rate(container_cpu_usage_seconds_total{namespace=\"$namespace\", container_name!=\"POD\"}[10m])\r\n )[2d:]\r\n)", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "CPU Usage [95th Percentile]", + "refId": "D" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "pods running in $namespace", + "transformations": [ + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "pod", + "Value #A", + "Value #B", + "host_ip", + "node", + "pod_ip", + "Value #E", + "Value #D" + ] + } + } + }, + { + "id": "seriesToColumns", + "options": { + "byField": "pod" + } + }, + { + "id": "organize", + "options": { + "excludeByName": {}, + "indexByName": { + "Value #A": 3, + "Value #B": 2, + "Value #D": 1, + "Value #E": 4, + "host_ip": 6, + "node": 7, + "pod": 0, + "pod_ip": 5 + }, + "renameByName": { + "Value #A": "Status", + "Value #B": "Memory usage", + "Value #C": "Age", + "Value #D": "CPU Usage [95th Percentile]", + "Value #E": "Restarts" + } + } + } + ], + "transparent": true, + "type": "table" + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 11, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 78, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum\n by(namespace) (rate(container_cpu_usage_seconds_total{container!=\"POD\",image!=\"\",job=\"kubelet\",metrics_path=\"/metrics/cadvisor\",namespace=\"$namespace\"}[10m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{namespace}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total CPU usage in $namespace namespace", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 13, + "x": 11, + "y": 32 + }, + "hiddenSeries": false, + "id": 101, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum\n by(pod) (rate(container_cpu_usage_seconds_total{container!=\"POD\",image!=\"\",job=\"kubelet\",metrics_path=\"/metrics/cadvisor\",namespace=\"$namespace\"}[10m]))", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": " CPU usage by pod in $namespace namespace", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 10, + "x": 0, + "y": 41 + }, + "hiddenSeries": false, + "id": 48, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "6.5.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum\n by(namespace) (container_memory_usage_bytes{container!=\"POD\",image!=\"\",job=\"kubelet\",metrics_path=\"/metrics/cadvisor\",namespace=\"$namespace\"})", + "hide": false, + "interval": "", + "legendFormat": "{{namespace}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total memory usage by pods in $namespace", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 13, + "x": 11, + "y": 41 + }, + "hiddenSeries": false, + "id": 100, + "legend": { + "avg": true, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pluginVersion": "6.5.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum\n by(pod) (container_memory_usage_bytes{container!=\"POD\",image!=\"\",job=\"kubelet\",metrics_path=\"/metrics/cadvisor\",namespace=\"$namespace\"})", + "hide": false, + "interval": "", + "legendFormat": "{{pod}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "memory usage by pods in $namespace", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Namespace $namespace details", + "type": "row" + }, + { + "collapsed": true, + "datasource": "Prometheus", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 39, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "description": "This panel shows the NotReady state of nodes. If any node goes in NotReady state, graph value will go from 1 to 0.", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 4 + }, + "hiddenSeries": false, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(kube_node_status_condition{status=\"true\",condition=\"Ready\",node=\"$node\"}) ", + "legendFormat": "{{node}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Node readiness for $node ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 6, + "y": 4 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(kube_node_status_condition{status=\"true\",condition=~\"MemoryPressure|PIDPressure|DiskPressure\",node=\"$node\"})", + "interval": "", + "legendFormat": "{{condition}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "node $node Memory/Disk/PID Pressure", + "tooltip": { + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "transformations": [], + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 12, + "y": 4 + }, + "id": 10, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": " count(count by (pod)(container_spec_memory_reservation_limit_bytes{node=\"$node\",pod!=\"\"}))", + "instant": false, + "interval": "", + "legendFormat": "{{node}}", + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "pod count", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "Prometheus", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 15, + "y": 4 + }, + "id": 27, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(count by (pod)(container_spec_memory_reservation_limit_bytes{id=~\".*.besteffort.*\",container=\"POD\",node=\"$node\"}))", + "instant": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "besteffort pods", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "Prometheus", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 17, + "y": 4 + }, + "id": 93, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(count by (pod)(container_spec_memory_reservation_limit_bytes{container=\"POD\",id=~\".*.burstable.*\",node=\"$node\"}))", + "instant": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "burstable pods", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "Prometheus", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 19, + "y": 4 + }, + "id": 26, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true, + "ymax": null, + "ymin": null + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(count by (pod)(container_spec_memory_reservation_limit_bytes{container=\"POD\",id!~\".*.burstable.*\",id!~\".*.besteffort.*\",node=\"$node\"}))", + "instant": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "guaranteed pods", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 7 + }, + "hiddenSeries": false, + "id": 77, + "legend": { + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "count by (namespace)(container_memory_working_set_bytes{image!=\"\",node=\"$node\"})", + "legendFormat": "{{namespace}}", + "refId": "A" + }, + { + "expr": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Pod count by namespace on $node ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 7 + }, + "hiddenSeries": false, + "id": 126, + "legend": { + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": " histogram_quantile(0.99,\n sum by(instance, le) (rate(kubelet_pod_worker_duration_seconds_bucket{job=\"kubelet\",metrics_path=\"/metrics\",node=\"$node\"}[10m])))\n * on(instance) group_left(node) kubelet_node_name{job=\"kubelet\",metrics_path=\"/metrics\",node=\"$node\"}", + "interval": "", + "legendFormat": "{{node}}", + "refId": "A" + }, + { + "expr": "", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Pod startup latency ", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "µs", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total CPU": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 10 + }, + "hiddenSeries": false, + "id": 7, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "node_load5 + on(instance) group_left(nodename) \nnode_uname_info{nodename=\"$node\"}", + "hide": false, + "interval": "", + "legendFormat": "{{nodename}}", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity_cpu_cores{node=\"$node\"}", + "interval": "", + "legendFormat": "Total CPU", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Node $node load", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total CPU": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "description": "record: instance:node_cpu_utilisation:rate1m\nexpr: 1\n - avg without(cpu, mode) (rate(node_cpu_seconds_total{job=\"node-exporter\",mode=\"idle\"}[1m]))", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 6, + "y": 10 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "\n((sum by (instance) (instance:node_cpu_utilisation:rate1m)) + on(instance) group_left(nodename) \nnode_uname_info{nodename=\"$node\"})", + "hide": false, + "interval": "", + "legendFormat": "{{nodename}}", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity{node=\"$node\",resource=\"cpu\"}", + "interval": "", + "legendFormat": "Total CPU", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Node $node CPU usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total CPU": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 13 + }, + "hiddenSeries": false, + "id": 18, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (node)(kube_pod_container_resource_requests_cpu_cores{node=\"$node\"})", + "legendFormat": "requests", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity{node=\"$node\",resource=\"cpu\"}", + "legendFormat": "Total CPU", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total CPU requests on $node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "none", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total CPU": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 13 + }, + "hiddenSeries": false, + "id": 20, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (node)(kube_pod_container_resource_limits_cpu_cores{node=\"$node\"})", + "interval": "", + "legendFormat": "total limits", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity{node=\"$node\",resource=\"cpu\"}", + "hide": false, + "legendFormat": "Total CPU", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total CPU limits on $node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total memory": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 16 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(node_memory_MemTotal_bytes + on(instance) group_left(nodename) \nnode_uname_info{nodename=\"$node\"}) - (node_memory_MemAvailable_bytes + on(instance) group_left(nodename) \nnode_uname_info{nodename=\"$node\"})", + "hide": false, + "interval": "", + "legendFormat": "{{nodename}}", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity{node=\"$node\",resource=\"memory\"}", + "legendFormat": "Total memory", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Node $node memory usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total memory": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 6, + "y": 16 + }, + "hiddenSeries": false, + "id": 19, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (node)(kube_pod_container_resource_requests_memory_bytes{node=\"$node\"})", + "legendFormat": "requests", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity{node=\"$node\",resource=\"memory\"}", + "legendFormat": "Total memory", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total memory requests on $node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "Total": "dark-red", + "Total memory": "dark-red" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 6, + "x": 12, + "y": 19 + }, + "hiddenSeries": false, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (node)(kube_pod_container_resource_limits_memory_bytes{node=\"$node\"})", + "legendFormat": "total liimits ", + "refId": "A" + }, + { + "expr": "kube_node_status_capacity{node=\"$node\",resource=\"memory\"}", + "legendFormat": "Total memory", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Total Memory limits on $node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 9, + "w": 6, + "x": 18, + "y": 19 + }, + "hiddenSeries": false, + "id": 8, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "histogram_quantile(0.9, sum by (node,le) (rate(kubelet_pleg_relist_duration_seconds_bucket{node=\"$node\"}[10m])))", + "legendFormat": "{{node}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "kubelet_pleg_relist_duration_seconds_bucket", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 22 + }, + "hiddenSeries": false, + "id": 67, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": " sort(topk(5, container_memory_working_set_bytes{image!=\"\",node=\"$node\"}))", + "legendFormat": "{{pod}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Top 5 memory guzzling pods on $node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 6, + "x": 6, + "y": 22 + }, + "hiddenSeries": false, + "id": 117, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": " sort(topk(5, container_memory_working_set_bytes{image!=\"\",node=\"$node\"}))", + "legendFormat": "{{pod}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Top 5 memory guzzling pods on $node", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": "node", + "scopedVars": { + "node": { + "selected": true, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + } + }, + "title": "$node Node details", + "type": "row" + } + ], + "refresh": false, + "schemaVersion": 25, + "style": "dark", + "tags": [ + "kubernetes", + "k8s", + "namespace" + ], + "templating": { + "list": [ + { + "allValue": "", + "current": { + "selected": false, + "text": "ip-10-0-75-112.ap-south-1.compute.internal", + "value": "ip-10-0-75-112.ap-south-1.compute.internal" + }, + "datasource": "Prometheus", + "definition": "label_values(kube_node_created,node)", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "node", + "options": [], + "query": "label_values(kube_node_created,node)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 5, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "monitoring", + "value": "monitoring" + }, + "datasource": "Prometheus", + "definition": "query_result(kube_namespace_labels)", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "namespace", + "options": [], + "query": "query_result(kube_namespace_labels)", + "refresh": 1, + "regex": "/.*namespace=\"([^\"]*).*/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": false, + "text": "alertmanager", + "value": "alertmanager" + }, + "datasource": "Prometheus", + "definition": "kube_pod_container_info{namespace=\"$namespace\"}", + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "container", + "options": [], + "query": "kube_pod_container_info{namespace=\"$namespace\"}", + "refresh": 1, + "regex": "/.*container=\"([^\"]*).*/", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "text": "6h", + "value": "6h" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "duration", + "options": [ + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "2h", + "value": "2h" + }, + { + "selected": true, + "text": "6h", + "value": "6h" + }, + { + "selected": false, + "text": "12h", + "value": "12h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + }, + { + "selected": false, + "text": "2d", + "value": "2d" + }, + { + "selected": false, + "text": "5d", + "value": "5d" + }, + { + "selected": false, + "text": "14d", + "value": "14d" + }, + { + "selected": false, + "text": "30d", + "value": "30d" + } + ], + "query": "10m,30m,1h,2h,6h,12h,1d,2d,5d,14d,30d", + "queryValue": "", + "skipUrlSync": false, + "type": "custom" + } + ] + }, + "time": { + "from": "now-2d", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ] + }, + "timezone": "", + "title": "1 Kubernetes cluster overview(कुबरनेटेस)", + "uid": "N9uZBy8Wz", + "version": 1 +} diff --git a/configs/monitoring-dashboards/nginx-ingress-dashboard.json b/configs/monitoring-dashboards/nginx-ingress-dashboard.json new file mode 100644 index 00000000..7aa9811e --- /dev/null +++ b/configs/monitoring-dashboards/nginx-ingress-dashboard.json @@ -0,0 +1,1463 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + }, + { + "datasource": "Prometheus", + "enable": true, + "expr": "sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!=\"unknown\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[30s])) by (controller_class)", + "hide": false, + "iconColor": "rgba(255, 96, 96, 1)", + "limit": 100, + "name": "Config Reloads", + "showIn": 0, + "step": "30s", + "tagKeys": "controller_class", + "tags": [], + "titleFormat": "Config Reloaded", + "type": "tags" + } + ] + }, + "description": "This Dashboard contains metrics visualization of Nginx Ingress Controller Running in Kubernetes Using Prometheus as Datasource.", + "editable": true, + "gnetId": 12575, + "graphTooltip": 0, + "id": 1, + "iteration": 1595328866350, + "links": [], + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "ops", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "id": 20, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[$__range])), 0.001)", + "format": "time_series", + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "thresholds": "", + "title": "Controller Request Volume", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 6, + "y": 0 + }, + "id": 82, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(avg_over_time(nginx_ingress_controller_nginx_process_connections{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[$__range]))", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "thresholds": "", + "title": "Controller Connections", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "percentunit", + "gauge": { + "maxValue": 100, + "minValue": 80, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": false + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 12, + "y": 0 + }, + "id": 21, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",status!~\"[4-5].*\"}[$__range])) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[$__range]))", + "format": "time_series", + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "thresholds": "95, 99, 99.5", + "title": "Controller Success Rate (non-4|5xx responses)", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 18, + "y": 0 + }, + "id": 81, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(irate(nginx_ingress_controller_success{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[$__range])) * 60", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "thresholds": "", + "title": "Config Reloads", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "total" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 21, + "y": 0 + }, + "id": 83, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": true, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "expr": "count(nginx_ingress_controller_config_last_reload_successful{controller_pod=~\"$controller\",controller_namespace=~\"$namespace\"} == 0)", + "format": "time_series", + "instant": true, + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "thresholds": "", + "title": "Last Config Failed", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 3 + }, + "height": "200px", + "hiddenSeries": false, + "id": 86, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "hideEmpty": false, + "hideZero": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 300, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": "h", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[$__range])) by (ingress), 0.001)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "metric": "network", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingress Request Volume", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "reqps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "max - istio-proxy": "#890f02", + "max - master": "#bf1b00", + "max - prometheus": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": false, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 3 + }, + "hiddenSeries": false, + "id": 87, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "hideEmpty": true, + "hideZero": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 300, + "sort": "avg", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",ingress=~\"$ingress\",status!~\"[4-5].*\"}[5m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",ingress=~\"$ingress\"}[5m])) by (ingress)", + "format": "time_series", + "instant": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "metric": "container_memory_usage:sort_desc", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingress Success Rate (non-4|5xx responses)", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 1, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "columns": [], + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fontSize": "100%", + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 10 + }, + "hideTimeOverride": false, + "id": 75, + "links": [], + "pageSize": 7, + "repeat": null, + "repeatDirection": "h", + "scroll": true, + "showHeader": true, + "sort": { + "col": 1, + "desc": true + }, + "styles": [ + { + "alias": "Ingress", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "ingress", + "preserveFormat": false, + "sanitize": false, + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Requests", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #A", + "thresholds": [ + "" + ], + "type": "number", + "unit": "ops" + }, + { + "alias": "Errors", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "ops" + }, + { + "alias": "P50 Latency", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "link": false, + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "dtdurations" + }, + { + "alias": "P90 Latency", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "dtdurations" + }, + { + "alias": "P99 Latency", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "pattern": "Value #E", + "thresholds": [], + "type": "number", + "unit": "dtdurations" + }, + { + "alias": "IN", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #F", + "thresholds": [ + "" + ], + "type": "number", + "unit": "Bps" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Time", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "OUT", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #G", + "thresholds": [], + "type": "number", + "unit": "Bps" + } + ], + "targets": [ + { + "expr": "histogram_quantile(0.50, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[$__range])) by (le, ingress))", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "C" + }, + { + "expr": "histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[$__range])) by (le, ingress))", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "D" + }, + { + "expr": "histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[$__range])) by (le, ingress))", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ destination_service }}", + "refId": "E" + }, + { + "expr": "sum(irate(nginx_ingress_controller_request_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[$__range])) by (ingress)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "F" + }, + { + "expr": "sum(irate(nginx_ingress_controller_response_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[$__range])) by (ingress)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "G" + } + ], + "timeFrom": null, + "title": "Ingress Percentile Response Times and Transfer Rates", + "transform": "table", + "type": "table-old" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 8, + "x": 0, + "y": 18 + }, + "height": "200px", + "hiddenSeries": false, + "id": 32, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": true, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "sideWidth": 200, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum (irate (nginx_ingress_controller_request_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[5m]))", + "format": "time_series", + "instant": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "Received", + "metric": "network", + "refId": "A", + "step": 10 + }, + { + "expr": "- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[5m]))", + "format": "time_series", + "hide": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "Sent", + "metric": "network", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Network I/O pressure", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "max - istio-proxy": "#890f02", + "max - master": "#bf1b00", + "max - prometheus": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": false, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 8, + "x": 8, + "y": 18 + }, + "hiddenSeries": false, + "id": 77, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "sideWidth": 200, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}) ", + "format": "time_series", + "instant": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "nginx", + "metric": "container_memory_usage:sort_desc", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Average Memory Usage", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "max - istio-proxy": "#890f02", + "max - master": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 3, + "editable": false, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 8, + "x": 16, + "y": 18 + }, + "height": "", + "hiddenSeries": false, + "id": 79, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "sort": null, + "sortDesc": null, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum (rate (nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[5m])) ", + "format": "time_series", + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "nginx", + "metric": "container_cpu", + "refId": "A", + "step": 10 + } + ], + "thresholds": [ + { + "colorMode": "critical", + "fill": true, + "line": true, + "op": "gt" + } + ], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Average CPU Usage", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": "cores", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 25, + "style": "dark", + "tags": [ + "nginx" + ], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "Prometheus", + "value": "Prometheus" + }, + "hide": 0, + "includeAll": false, + "label": "datasource", + "multi": false, + "name": "DS_PROMETHEUS", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": ".*", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "label_values(kube_service_status_load_balancer_ingress, namespace)", + "hide": 0, + "includeAll": true, + "label": "Namespace", + "multi": false, + "name": "namespace", + "options": [], + "query": "label_values(kube_service_status_load_balancer_ingress, namespace)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "label_values(kube_service_status_load_balancer_ingress{namespace=~\"$namespace\"}, service)", + "hide": 0, + "includeAll": true, + "label": "Controller Class", + "multi": false, + "name": "controller_class", + "options": [], + "query": "label_values(kube_service_status_load_balancer_ingress{namespace=~\"$namespace\"}, service)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "label_values(kube_service_status_load_balancer_ingress{namespace=~\"$namespace\",service=~\"$controller_class\"}, pod) ", + "hide": 0, + "includeAll": true, + "label": "Controller", + "multi": false, + "name": "controller", + "options": [], + "query": "label_values(kube_service_status_load_balancer_ingress{namespace=~\"$namespace\",service=~\"$controller_class\"}, pod) ", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "label_values(kube_service_status_load_balancer_ingress{namespace=~\"$namespace\",service=~\"$controller_class\",pod=~\"$controller\"}, ingress) ", + "hide": 0, + "includeAll": true, + "label": "Ingress", + "multi": false, + "name": "ingress", + "options": [], + "query": "label_values(kube_service_status_load_balancer_ingress{namespace=~\"$namespace\",service=~\"$controller_class\",pod=~\"$controller\"}, ingress) ", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 2, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "30s", + "1m", + "2m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Kubernetes Ingress Controller Dashboard", + "uid": "nginx", + "version": 1 +} \ No newline at end of file diff --git a/configs/pdf-service/data-config/bill-amendment-note.json b/configs/pdf-service/data-config/bill-amendment-note.json new file mode 100644 index 00000000..bb877f4d --- /dev/null +++ b/configs/pdf-service/data-config/bill-amendment-note.json @@ -0,0 +1,617 @@ +{ + "key": "bill-amendment-credit-note", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Amendments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.additionalDetails.ownerName" + } + }, + { + "variable": "permanentAddress", + "value": { + "path": "$.additionalDetails.ownerAddress" + } + }, + { + "variable": "date", + "value": { + "path": "$.userInfo.createdDate" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "paymentStatus", + "value": { + "path": "$.paymentStatus" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "waterTax", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'OM.WATER_CONNECTION/DISCONNECTION_FEES_TAX')].taxAmount" + } + }, + { + "variable": "water_cess", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WATER_CESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "waterCess", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'WS_WATER_CESS')].taxAmount" + } + }, + { + "variable": "interest", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_INTEREST" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "interestAmount", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'WS_TIME_INTEREST')].taxAmount" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "penalty", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "penaltyAmount", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'WS_ADHOC_PENALTY')].taxAmount" + } + }, + { + "variable": "arrears", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ARREARS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "arrearsAmount", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'ARREARS_AMOUNT')].taxAmount" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_amendment_application", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_APPLICATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demand_revision_basis_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_DEM_REV_BAS_DET" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demand_revision_basis", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_DEM_REV_BASIS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "court_order_no", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_COURT_ORDER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "with_effect_from", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WITH_EFFECT_FROM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demandRevisionBasis", + "value": { + "path": "$.amendmentReason" + } + }, + { + "variable": "courtOrderNo", + "value": { + "path": "$.reasonDocumentNumber" + } + }, + { + "variable": "withEffectFrom", + "value": { + "path": "$.effectiveFrom" + } + }, + { + "variable": "court_order", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_COURT_ORDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "note_id", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "note_date", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "against", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_AGAINST" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "adjustment_amount_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_ADJUSTMENT_AMOUNT_DETAILS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rs", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_RS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "box_note", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_BOX_NOTE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "box_validity", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_BOX_VALIDITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "self_declaration", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_SELF_DECLARATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "past_bills", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_PAST_BILLS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "courtOrder", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "selfDeclaration", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "pastBills", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "bill_amendment_application_number", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_APPLICATION_NUMBER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "adjustment_amount_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ADJUSTMENT_AMOUNT_DETAILS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + + }, + { + "variable": "sl_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERIAL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "tax_heads", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_TAX_HEADS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "reduced_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_REDUCED_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "note_type", + "value": { + "path": "$.additionalDetails.noteType" + }, + "localisation": { + "required": true, + "prefix": "PDF_STATIC_LABEL_BILL_AMENDMENT", + "module": "rainmaker-common" + } + }, + { + "variable": "water_tax", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WATER_TAX" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "totalAmount", + "formula": "{{arrearsAmount}}+{{penaltyAmount}}+{{interestAmount}}+{{waterCess}}+{{waterTax}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].receiptFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/bill-amendment.json b/configs/pdf-service/data-config/bill-amendment.json new file mode 100644 index 00000000..bbaa44be --- /dev/null +++ b/configs/pdf-service/data-config/bill-amendment.json @@ -0,0 +1,468 @@ +{ + "key": "bill-amendment-summary", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Amendments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "paymentStatus", + "value": { + "path": "$.paymentStatus" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "bill_amendment_adjusted_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ADJUSTED_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "waterTax", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'OM.WATER_CONNECTION/DISCONNECTION_FEES_TAX')].taxAmount" + } + }, + { + "variable": "water_cess", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WATER_CESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "waterCess", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'WS_WATER_CESS')].taxAmount" + } + }, + { + "variable": "interest", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_INTEREST" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "interestAmount", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'WS_TIME_INTEREST')].taxAmount" + } + }, + { + "variable": "penalty", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "penaltyAmount", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'WS_ADHOC_PENALTY')].taxAmount" + } + }, + { + "variable": "arrears", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ARREARS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "arrearsAmount", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'ARREARS_AMOUNT')].taxAmount" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_amendment_application", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_APPLICATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demand_revision_basis_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_DEM_REV_BAS_DET" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demand_revision_basis", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_DEM_REV_BASIS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "court_order_no", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_COURT_ORDER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "with_effect_from", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WITH_EFFECT_FROM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demandRevisionBasis", + "value": { + "path": "$.amendmentReason" + } + }, + { + "variable": "courtOrderNo", + "value": { + "path": "$.reasonDocumentNumber" + } + }, + { + "variable": "withEffectFrom", + "value": { + "path": "$.effectiveFrom" + } + }, + { + "variable": "court_order", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_COURT_ORDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "self_declaration", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_SELF_DECLARATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "past_bills", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_PAST_BILLS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "courtOrder", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "selfDeclaration", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "pastBills", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "bill_amendment_application_number", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_APPLICATION_NUMBER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "adjustment_amount_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ADJUSTMENT_AMOUNT_DETAILS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + + }, + { + "variable": "sl_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERIAL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "tax_heads", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_TAX_HEADS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "reduced_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_REDUCED_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_tax", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WATER_TAX" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "totalAmount", + "formula": "{{arrearsAmount}}+{{penaltyAmount}}+{{interestAmount}}+{{waterCess}}+{{waterTax}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].receiptFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/bpa-revocation.json b/configs/pdf-service/data-config/bpa-revocation.json new file mode 100644 index 00000000..edab8053 --- /dev/null +++ b/configs/pdf-service/data-config/bpa-revocation.json @@ -0,0 +1,237 @@ +{ + "key": "bpa-revocation", + "DataConfigs": { + "serviceName": "rainmaker-bpa", + "version": "1.0.0", + "baseKeyPath": "$.Bpa.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "planPermissionNo", + "value": { + "path": "$.permitOrderNo" + } + }, + { + "variable": "tenantName", + "value": { + "path": "$.tenantId" + }, + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "createdDate", + "value": { + "path": "$.auditDetails.createdTime" + }, + "type": "date" + }, + { + "variable": "ownerName", + "value": { + "path": "$.owners.*.name" + } + }, + { + "variable": "Muncipal_Council", + "value": { + "path": "BPA_PDF_MUNCIPAL" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Revocation_Title", + "value": { + "path": "BPA_PDF_BPA_REVOCATION_TITLE" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Dated", + "value": { + "path": "BPA_PDF_DATED" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SALUTATION", + "value": { + "path": "BPA_PDF_SALUTATION" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Permision_Issued", + "value": { + "path": "BPA_PDF_PERMISSION_ISSUED" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "WRT_APPNO", + "value": { + "path": "BPA_PDF_WRT_APPNO" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "dated", + "value": { + "path": "BPA_PDF_DATED_SMALL" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "isRevocated", + "value": { + "path": "BPA_PDF_IS_REVOCATED" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "revocationReasonIs", + "value": { + "path": "BPA_PDF_REASON_REVOCATION_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "noAuthText", + "value": { + "path": "BPA_PDF_NOT_AUTH_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "contactULB", + "value": { + "path": "BPA_PDF_CONTACT_ULB" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BY_ORDER", + "value": { + "path": "BPA_PDF_BY_ORDER" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AUTH_OFFICER", + "value": { + "path": "BPA_PDF_AUTH_OFFICER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search", + "queryParam": "tenantId=$.tenantId,businessIds=$.applicationNo,history=true", + "apiRequest": null, + "responseMapping": [ + { + "variable": "revocatedBy", + "value": "$.ProcessInstances[?(@.action=='REVOCATE')].assigner.name", + "isUpperCaseRequired": true + }, + { + "variable": "revocationReason", + "value": "$.ProcessInstances[?(@.action=='REVOCATE')].comment" + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/buildingpermit-low.json b/configs/pdf-service/data-config/buildingpermit-low.json new file mode 100644 index 00000000..c3e298cb --- /dev/null +++ b/configs/pdf-service/data-config/buildingpermit-low.json @@ -0,0 +1,623 @@ +{ + "key": "buildingpermit-low", + "DataConfigs": { + "serviceName": "rainmaker-bpa", + "version": "1.0.0", + "baseKeyPath": "$.Bpa.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "planPermissionNo", + "value": { + "path": "$.permitOrderNo" + } + }, + { + "variable": "edcrNo", + "value": { + "path": "$.edcrNumber" + } + }, + { + "variable": "createdDate", + "value": { + "path": "$.auditDetails.createdTime" + }, + "type": "date" + }, + { + "variable": "favourOf", + "value": { + "path": "$.owners.*.name" + } + }, + { + "variable": "holdingNo", + "value": { + "path": "$.holdingNo" + } + }, + { + "variable": "validityDate", + "value": { + "path": "$.validityDate" + }, + "type": "date" + }, + { + "variable": "conditions", + "value": { + "path": "$.additionalDetails" + }, + "type": "array-column", + "format": { + "scema": [ + { + "key": "pendingapproval", + "type" : "array-orderedlist" + } + ] + } + }, + { + "variable": "reServeyPlotNo", + "value": { + "path": "$.additionalDetails.reSurveyPlotNo" + } + }, + { + "variable": "townPlanningScheme", + "value": { + "path": "$.additionalDetails.townPlanningScheme" + } + }, + { + "variable": "proposedLandUse", + "value": { + "path": "$.additionalDetails.proposedLandUse" + } + }, + { + "variable": "WRT_TXT", + "value": { + "path": "BOA_PDF_WRT_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "tenantName", + "value": { + "path": "$.tenantId" + }, + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "GENERATED_ON", + "value": { + "path": "BPA_PDF_GENERATED_ON" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "orderGeneratedOn", + "value": { + "path": "$.orderGeneratedDate" + }, + "type": "date" + }, + { + "variable": "Muncipal_Council", + "value": { + "path": "BPA_PDF_MUNCIPAL" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BPA_FORM", + "value": { + "path": "BPA_PDF_FORM" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BPA_FORM_APPROVAL", + "value": { + "path": "BPA_PDF_FORM_APPROVAL_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BPA_BYELAWS", + "value": { + "path": "BPA_PDF_BYELAWS" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PLAN_PERMISION_NO", + "value": { + "path": "BPA_PDF_PLANPERMISSION_NO" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Dated", + "value": { + "path": "BPA_PDF_DATED" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "dated", + "value": { + "path": "BPA_PDF_DATED_SMALL" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PERMISSION_GRANT_TXT", + "value": { + "path": "BPA_PDF_PERMISSION_GRANT_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SALUTATION", + "value": { + "path": "BPA_PDF_SALUTATION" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "FOR", + "value": { + "path": "BPA_PDF_FOR" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "DSCR1", + "value": { + "path": "BPA_PDF_DSCR" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PLOT_NO", + "value": { + "path": "BPA_PDF_PLOTNO_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "CS_PLOT", + "value": { + "path": "BPA_PDF_CS_PLOT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "MSP_PLOT", + "value": { + "path": "BPA_PDF_MSP_PLOT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "KHATA_NO", + "value": { + "path": "BPA_PDF_KHATANO_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "HOLDING_NO", + "value": { + "path": "BPA_PDF_HOLDINGNO_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SERVEY_NO", + "value": { + "path": "BPA_PDF_SERVEYNO_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "TOWNPLANNING_TXT", + "value": { + "path": "BPA_PDF_TOWN_PLANNING_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PROPOSE_LAND", + "value": { + "path": "BPA_PDF_PROPOSE_LAND" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "OF", + "value": { + "path": "BPA_PDF_OF" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "CONDNS_TXT", + "value": { + "path": "BPA_PDF_CONDNS_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PERMIT_DETAILS_TXT", + "value": { + "path": "BPA_PDF_PERMITFEE_DETAILS_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "FEE_DSCR", + "value": { + "path": "BPA_PDF_FEE_DSCR" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AMOUNT", + "value": { + "path": "BPA_PDF_AMOUNT_TXT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "TOTAL", + "value": { + "path": "BPA_PDF_TOTAL" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BY_ORDER", + "value": { + "path": "BPA_PDF_BY_ORDER" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AUTH_OFFICER", + "value": { + "path": "BPA_PDF_COMMISSIONER" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "VALIDITY_DSCR", + "value": { + "path": "BPA_PDF_VALIDITY_DSCR" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "ONLY", + "value": { + "path": "BPA_PDF_ONLY" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "NOTE", + "value": { + "path": "BPA_PDF_NOTE" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SUMMARY1", + "value": { + "path": "BPA_PDF_SUMMARY1" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SUMMARY2", + "value": { + "path": "BPA_PDF_SUMMARY2" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AUTH_DSCR", + "value": { + "path": "BPA_PDF_AUTH_DSCR" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Bihar_Tenant", + "value": { + "path": "BIHAR_TENANT" + }, + "type" : "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "applicantName", + "value": { + "path": "$.edcrDetail[0].planDetail.planInformation.applicantName" + } + }, + { + "variable": "applicationDate", + "value": { + "path": "$.edcrDetail[0].planDetail.applicationDate" + }, + "type": "date" + }, + { + "variable": "plotNo", + "value": { + "path": "$.edcrDetail[0].planDetail.planInformation.plotNo" + } + }, + { + "variable": "khataNo", + "value": { + "path": "$.edcrDetail[0].planDetail.planInformation.khataNo" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://collection-services:8080/collection-services/payments/_search", + "queryParam": "tenantId=$.tenantId,consumerCodes=$.applicationNo", + "apiRequest": null, + "responseMapping": [ + { + "variable": "paymentDetails", + "value": "$.Payments[0].paymentDetails[0].bill.billDetails[0].billAccountDetails.*", + "type" : "array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "headCode", + "value":"taxHeadCode", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "amnt", + "value":"amount" + } + ] + } + }, + { + "variable" : "totalDue", + "value" : "$.Payments[0].paymentDetails[0].bill.billDetails[0].amount" + } + ] + } + ] + }, + { + "qrcodeConfig": [ + { + "variable": "qrCode", + "value": "Applicant Name: {{favourOf}}, Permit Order Number : {{planPermissionNo}}, Permit Order Date : {{orderGeneratedOn}}, eDCR Scrutiny Number: {{edcrNo}}" + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/buildingpermit.json b/configs/pdf-service/data-config/buildingpermit.json new file mode 100644 index 00000000..ddbb4eaa --- /dev/null +++ b/configs/pdf-service/data-config/buildingpermit.json @@ -0,0 +1,642 @@ +{ + "key": "buildingpermit", + "DataConfigs": { + "serviceName": "rainmaker-bpa", + "version": "1.0.0", + "baseKeyPath": "$.Bpa.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "planPermissionNo", + "value": { + "path": "$.permitOrderNo" + } + }, + { + "variable": "edcrNo", + "value": { + "path": "$.edcrNumber" + } + }, + { + "variable": "createdDate", + "value": { + "path": "$.auditDetails.createdTime" + }, + "type": "date" + }, + { + "variable": "favourOf", + "value": { + "path": "$.owners.*.name" + } + }, + { + "variable": "holdingNo", + "value": { + "path": "$.holdingNo" + } + }, + { + "variable": "validityDate", + "value": { + "path": "$.validityDate" + }, + "type": "date" + }, + { + "variable": "conditions", + "value": { + "path": "$.additionalDetails" + }, + "type": "array-column", + "format": { + "scema": [ + { + "key": "pendingapproval", + "type" : "array-orderedlist" + } + ] + } + }, + { + "variable": "reServeyPlotNo", + "value": { + "path": "$.additionalDetails.reSurveyPlotNo" + } + }, + { + "variable": "townPlanningScheme", + "value": { + "path": "$.additionalDetails.townPlanningScheme" + } + }, + { + "variable": "proposedLandUse", + "value": { + "path": "$.additionalDetails.proposedLandUse" + } + }, + { + "variable": "WRT_TXT", + "value": { + "path": "BOA_PDF_WRT_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "tenantName", + "value": { + "path": "$.tenantId" + }, + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "GENERATED_ON", + "value": { + "path": "BPA_PDF_GENERATED_ON" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "orderGeneratedOn", + "value": { + "path": "$.orderGeneratedDate" + }, + "type": "date" + }, + { + "variable": "Muncipal_Council", + "value": { + "path": "BPA_PDF_MUNCIPAL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BPA_FORM", + "value": { + "path": "BPA_PDF_FORM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BPA_FORM_APPROVAL", + "value": { + "path": "BPA_PDF_FORM_APPROVAL_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BPA_BYELAWS", + "value": { + "path": "BPA_PDF_BYELAWS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PLAN_PERMISION_NO", + "value": { + "path": "BPA_PDF_PLANPERMISSION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Dated", + "value": { + "path": "BPA_PDF_DATED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "dated", + "value": { + "path": "BPA_PDF_DATED_SMALL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PERMISSION_GRANT_TXT", + "value": { + "path": "BPA_PDF_PERMISSION_GRANT_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SALUTATION", + "value": { + "path": "BPA_PDF_SALUTATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "FOR", + "value": { + "path": "BPA_PDF_FOR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "DSCR1", + "value": { + "path": "BPA_PDF_DSCR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PLOT_NO", + "value": { + "path": "BPA_PDF_PLOTNO_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "CS_PLOT", + "value": { + "path": "BPA_PDF_CS_PLOT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "MSP_PLOT", + "value": { + "path": "BPA_PDF_MSP_PLOT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "KHATA_NO", + "value": { + "path": "BPA_PDF_KHATANO_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "HOLDING_NO", + "value": { + "path": "BPA_PDF_HOLDINGNO_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SERVEY_NO", + "value": { + "path": "BPA_PDF_SERVEYNO_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "TOWNPLANNING_TXT", + "value": { + "path": "BPA_PDF_TOWN_PLANNING_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PROPOSE_LAND", + "value": { + "path": "BPA_PDF_PROPOSE_LAND" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "OF", + "value": { + "path": "BPA_PDF_OF" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "CONDNS_TXT", + "value": { + "path": "BPA_PDF_CONDNS_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "PERMIT_DETAILS_TXT", + "value": { + "path": "BPA_PDF_PERMITFEE_DETAILS_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "FEE_DSCR", + "value": { + "path": "BPA_PDF_FEE_DSCR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AMOUNT", + "value": { + "path": "BPA_PDF_AMOUNT_TXT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "TOTAL", + "value": { + "path": "BPA_PDF_TOTAL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "BY_ORDER", + "value": { + "path": "BPA_PDF_BY_ORDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AUTH_OFFICER", + "value": { + "path": "BPA_PDF_AUTH_OFFICER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "VALIDITY_DSCR", + "value": { + "path": "BPA_PDF_VALIDITY_DSCR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "ONLY", + "value": { + "path": "BPA_PDF_ONLY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "NOTE", + "value": { + "path": "BPA_PDF_NOTE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SUMMARY1", + "value": { + "path": "BPA_PDF_SUMMARY1" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "SUMMARY2", + "value": { + "path": "BPA_PDF_SUMMARY2" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "AUTH_DSCR", + "value": { + "path": "BPA_PDF_AUTH_DSCR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "Bihar_Tenant", + "value": { + "path": "BIHAR_TENANT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-bpa" + } + }, + { + "variable": "applicantName", + "value": { + "path": "$.edcrDetail[0].planDetail.planInformation.applicantName" + } + }, + { + "variable": "applicationDate", + "value": { + "path": "$.edcrDetail[0].planDetail.applicationDate" + }, + "type": "date" + }, + { + "variable": "plotNo", + "value": { + "path": "$.edcrDetail[0].planDetail.planInformation.plotNo" + } + }, + { + "variable": "khataNo", + "value": { + "path": "$.edcrDetail[0].planDetail.planInformation.khataNo" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://collection-services:8080/collection-services/payments/_search", + "queryParam": "tenantId=$.tenantId,consumerCodes=$.applicationNo", + "apiRequest": null, + "responseMapping": [ + { + "variable": "sanHeadCode", + "value": "$.Payments[0].paymentDetails[0].bill.billDetails[0].billAccountDetails[0].taxHeadCode", + "localisation": { + "required": true, + "prefix": "BPA", + "module": "rainmaker-bpa" + } + }, + { + "variable": "sanFee", + "value": "$.Payments[0].paymentDetails[0].bill.billDetails[0].billAccountDetails[0].amount" + }, + { + "variable": "appHeadCode", + "value": "$.Payments[1].paymentDetails[0].bill.billDetails[0].billAccountDetails[0].taxHeadCode", + "localisation": { + "required": true, + "prefix": "BPA", + "module": "rainmaker-bpa" + } + }, + { + "variable": "appFee", + "value": "$.Payments[1].paymentDetails[0].bill.billDetails[0].billAccountDetails[0].amount" + } + ] + }, + { + "path": "http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search", + "queryParam": "tenantId=$.tenantId,businessIds=$.applicationNo,history=true", + "apiRequest": null, + "responseMapping": [ + { + "variable": "approvedBy", + "value": "$.ProcessInstances[?(@.action=='APPROVE')].assigner.name", + "isUpperCaseRequired": true + } + ] + } + ] + }, + { + "derived": [ + { + "variable": "totalDue", + "formula": "{{sanFee}}+{{appFee}}" + } + ] + }, + { + "qrcodeConfig": [ + { + "variable": "qrCode", + "value": "Applicant Name: {{favourOf}}, Permit Order Number : {{planPermissionNo}}, Permit Order Date : {{orderGeneratedOn}}, eDCR Scrutiny Number: {{edcrNo}}, Approver Name : {{approvedBy}}" + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/consolidated-pdf1.json b/configs/pdf-service/data-config/consolidated-pdf1.json new file mode 100644 index 00000000..14d85ad1 --- /dev/null +++ b/configs/pdf-service/data-config/consolidated-pdf1.json @@ -0,0 +1,124 @@ +{ + "key": "consolidated-pdf1", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Receipt.*", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "variable1", + "value": { + "path": "$.Bill[0].payerName" + } + }, + { + "variable": "variable2", + "value": { + "path": "$.Bill[0].mobileNumber" + } + }, + { + "variable": "variable3", + "value": { + "path": "$.Bill[0].billDetails[0].receiptNumber" + } + }, + { + "variable": "variable4", + "value": { + "path": "$.Bill[0].taxAndPayments[0].businessService" + } + }, + { + "variable": "variable5", + "value": { + "path": "$.Bill[0].taxAndPayments[0].amountPaid" + } + }, + { + "variable": "variable6", + "value": { + "path": "$.Bill[0].billDetails[0].fromPeriod" + } + }, + { + "variable": "variable7", + "value": { + "path": "$.Bill[0].billDetails[0].toPeriod" + } + }, + { + "variable": "variable8", + "value": { + "path": "$.Bill[0].billDetails[0].billDate" + } + }, + { + "variable": "variable9", + "value": { + "path": "$.instrument.instrumentType.name" + } + }, + { + "variable": "variable10", + "value": { + "path": "$.Bill[0].billDetails[0].manualReceiptNumber" + } + }, + { + "variable": "variable11", + "value": { + "path": "$.Bill[0].billDetails[0].manualReceiptDate" + } + }, + { + "variable": "variable12", + "value": { + "path": "$.Bill[0].billDetails[0].totalAmount" + } + }, + { + "variable": "variable13", + "value": { + "path": "$.Receipt[0].instrument.transactionDateInput" + } + }, + { + "variable": "variable14", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "variable15", + "value": { + "path": "$.transactionId" + } + }, + { + "variable": "variable16", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + } + ] + }, + { + "derived": [ + { + "variable": "variable19", + "formula": "{{variable12}}-{{variable5}}" + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/consolidated-pdf2.json b/configs/pdf-service/data-config/consolidated-pdf2.json new file mode 100644 index 00000000..ef1fb938 --- /dev/null +++ b/configs/pdf-service/data-config/consolidated-pdf2.json @@ -0,0 +1,124 @@ +{ + "key": "consolidated-pdf2", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Receipt.*", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "variable1", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "variable2", + "value": { + "path": "$.Bill[0].payerName" + } + }, + { + "variable": "variable3", + "value": { + "path": "$.Bill[0].mobileNumber" + } + }, + { + "variable": "variable4", + "value": { + "path": "$.Bill[0].payerAddress" + } + }, + { + "variable": "variable5", + "value": { + "path": "$.Bill[0].billDetails[0].billNumber" + } + }, + { + "variable": "variable6", + "value": { + "path": "$.Bill[0].billDetails[0].fromPeriod" + } + }, + { + "variable": "variable7", + "value": { + "path": "$.Bill[0].billDetails[0].toPeriod" + } + }, + { + "variable": "variable8", + "value": { + "path": "$.Bill[0].billDetails[0].billDate" + } + }, + { + "variable": "variable9", + "value": { + "path": "$.Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_PENALTY')].amount" + } + }, + { + "variable": "variable10", + "value": { + "path": "$.Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + } + }, + { + "variable": "variable11", + "value": { + "path": "$.Bill[0].billDetails[0].totalAmount" + } + }, + { + "variable": "variable12", + "value": { + "path": "$.transactionId" + } + }, + { + "variable": "variable13", + "value": { + "path": "$.Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + } + }, + { + "variable": "variable14", + "value": { + "path": "$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TAX')].amount" + } + }, + { + "variable": "variable15", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "variable16", + "value": { + "path": "$.Bill[0].billDetails[0].amountPaid" + } + } + ] + }, + { + "derived": [ + { + "variable": "variable19", + "formula": "{{variable16}}-{{variable17}}" + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/consolidatedbill.json b/configs/pdf-service/data-config/consolidatedbill.json new file mode 100644 index 00000000..0944cf75 --- /dev/null +++ b/configs/pdf-service/data-config/consolidatedbill.json @@ -0,0 +1,702 @@ +{ + "key": "consolidatedbill", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath":"$.billNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "total_amount_due", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_AMOUNT_DUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_MOBILE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "bill_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_due_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_DUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_summary_property_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILLING_SUMMARY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "property_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PROPERTY_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ARREARS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "charge_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CHARGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PENALTY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_REBATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "others_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OTHERS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "important_message", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IMPORTANT_MESSAGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_received", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYMENT_RECEIVED" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_document", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_DOCUMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_is_a", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_IS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "assessment_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ASSESSSMENT_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "please_deposit", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PLEASE_DEPOSIT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "if_the_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IF_THE_TAX" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "acknowledgement_for", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ACKNOWLEDGEMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "name_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_NAME_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receivers_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_RECEIVERS_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "totalAmountDue", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "total", + "value": { + "path": "$.totalAmount" + } + }, + + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + + { + "variable": "mobileNo", + "value": { + "path": "$.mobileNumber" + } + }, + + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "nameAddress", + "value": { + "path": "$.payerAddress" + } + }, + + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + }, + "type": "date" + }, + + { + "variable": "billIssueDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + + { + "variable": "billDueDate", + "value": { + "path": "$.billDetails[0].expiryDate" + }, + "type": "date" + }, + { + "variable": "billdate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + + { + "variable": "propertyID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "taxCharge", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TAX' || @.taxHeadCode == 'TL_TAX' || @.taxHeadCode == 'FIRENOC_TAXES' || @.taxHeadCode == 'WS_CHARGE' || @.taxHeadCode == 'SW_CHARGE' )].amount" + } + }, + { + "variable": "timeRebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_REBATE' || @.taxHeadCode == 'WS_TIME_REBATE' || @.taxHeadCode == 'SW_TIME_REBATE')].amount" + } + }, + { + "variable": "adhocRebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_REBATE' || @.taxHeadCode == 'TL_ADHOC_REBATE' || @.taxHeadCode == 'FIRENOC_ADHOC_REBATE')].amount" + } + }, + + { + "variable": "timePenalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_PENALTY' || @.taxHeadCode == 'WS_TIME_PENALTY' || @.taxHeadCode == 'SW_TIME_PENALTY')].amount" + } + }, + { + "variable": "adhocPenalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_PENALTY' || @.taxHeadCode == 'TL_ADHOC_PENALTY' || @.taxHeadCode == 'FIRENOC_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "firecess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_FIRE_CESS')].amount" + } + }, + { + "variable": "usageExemption", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_UNIT_USAGE_EXEMPTION')].amount" + } + }, + { + "variable": "roundoff", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ROUNDOFF' || @.taxHeadCode == 'TL_ROUNDOFF' || @.taxHeadCode == 'FIRENOC_ROUNDOFF' || @.taxHeadCode == 'WS_Round_Off' || @.taxHeadCode == 'SW_Round_Off')].amount" + } + }, + { + "variable": "fees", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'FIRENOC_FEES')].amount" + } + }, + { + "variable": "ownerExemption", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_OWNER_EXEMPTION')].amount" + } + }, + { + "variable": "cancerCess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_CANCER_CESS')].amount" + } + }, + { + "variable": "waterCess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'WS_WATER_CESS')].amount" + } + }, + { + "variable": "timeInterest", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_INTEREST' || @.taxHeadCode == 'WS_TIME_INTEREST' || @.taxHeadCode == 'SW_TIME_INTEREST')].amount" + } + }, + { + "variable": "ceilingDebit", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_DEBIT')].amount" + } + }, + { + "variable": "ceilingCredit", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_CREDIT')].amount" + } + }, + { + "variable": "carryForward", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADVANCE_CARRYFORWARD')].amount" + } + }, + + { + "variable": "consumerID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "date", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "totalPayment", + "value": { + "path": "$.billDetails[0].amountPaid" + } + }, + { + "variable": "WS_arrears", + "value":{ + "path": "$.arrearAmount" + } + }, + { + "variable":"scissorImage", + "url":"http://www.pngall.com/wp-content/uploads/2016/03/Scissor-PNG-Clipart.png", + "type":"image" + } + ] + }, + { + "derived": [ + { + "variable": "charge", + "formula": "{{taxCharge}}+{{fees}}" + }, + { + "variable": "penalty", + "formula": "{{timePenalty}}+{{adhocPenalty}}" + }, + { + "variable": "rebate", + "formula": "{{timeRebate}}+{{adhocRebate}}" + }, + { + "variable": "others", + "formula": "{{cancerCess}}+{{roundoff}}+{{timeInterest}}+{{ceilingDebit}}+{{ceilingCredit}}+{{firecess}}+{{waterCess}}" + }, + { + "variable": "arrears", + "formula": "{{WS_arrears}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable": "logo_header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/consolidatedreceipt.json b/configs/pdf-service/data-config/consolidatedreceipt.json new file mode 100644 index 00000000..d0b8aba8 --- /dev/null +++ b/configs/pdf-service/data-config/consolidatedreceipt.json @@ -0,0 +1,606 @@ +{ + "key": "consolidatedreceipt", + "documentType":"CONSOLIDATED_RECEIPT", + "DataConfigs": { + "moduleName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "PaidBy", + "value": { + "path": "$.paidBy" + } + }, + { + "variable": "chequeDD", + "value": { + "path": "$.instrumentNumber" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fieldFee", + "value": { + "path": "$.paymentDetails[0].additionalDetails.fieldfee" + } + }, { + "variable": "taxAmount", + "value": { + "path": "$.paymentDetails[0].additionalDetails.tax" + } + }, { + "variable": "cgst", + "value": { + "path": "$.paymentDetails[0].additionalDetails.cgst" + } + }, { + "variable": "sgst", + "value": { + "path": "$.paymentDetails[0].additionalDetails.sgst" + } + }, + + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "chequeDDDate", + "value": { + "path": "$.instrumentDate" + }, + "type":"date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "payerAddress", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].additionalDetails.address" + } + }, + { + "variable": "oldPayerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "oldComments", + "value": { + "path": "$.additionalDetails.comment" + } + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "ReceiptDate", + "value": { + "path": "$.paymentDetails[0].receiptDate" + }, + "type": "date" + }, { + "variable": "bankName", + "value": { + "path": "$.additionalDetails[0].bankName" + } + }, { + "variable": "branchName", + "value": { + "path": "$.additionalDetails[0].branchName" + } + }, { + "variable": "ifsc", + "value": { + "path": "$.ifscCode" + } + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "cheque_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHEQUE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + { + "path": "http://echallan-services:8080/echallan-services/eChallan/v1/_search", + "queryParam": "tenantId=$.tenantId,challanNo=$.paymentDetails[0].bill.consumerCode,businessService=$.paymentDetails[0].businessService,offset=0", + "apiRequest": null, + "responseMapping":[ + { + "variable":"comments", + "value":"$.challans[0].description" + }, + { + "variable":"consumerName", + "value":"$.challans[0].citizen.name" + }, + { + "variable": "doorHouseNo", + "value": "$.challans[0].address.doorNo" + }, + { + "variable": "streetName", + "value": "$.challans[0].address.street" + + }, + { + "variable": "buildingName", + "value": "$.challans[0].address.buildingName" + }, + { + "variable": "pinCode", + "value":"$.challans[0].address.pincode" + } + ] + } + + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/consolidatedreceiptold.json b/configs/pdf-service/data-config/consolidatedreceiptold.json new file mode 100644 index 00000000..b754b62b --- /dev/null +++ b/configs/pdf-service/data-config/consolidatedreceiptold.json @@ -0,0 +1,579 @@ +{ + "key": "consolidatedreceiptold", + "documentType":"CONSOLIDATED_RECEIPT", + "DataConfigs": { + "moduleName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "PaidBy", + "value": { + "path": "$.paidBy" + } + }, + { + "variable": "chequeDD", + "value": { + "path": "$.instrumentNumber" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fieldFee", + "value": { + "path": "$.paymentDetails[0].additionalDetails.fieldfee" + } + }, { + "variable": "taxAmount", + "value": { + "path": "$.paymentDetails[0].additionalDetails.tax" + } + }, { + "variable": "cgst", + "value": { + "path": "$.paymentDetails[0].additionalDetails.cgst" + } + }, { + "variable": "sgst", + "value": { + "path": "$.paymentDetails[0].additionalDetails.sgst" + } + }, + + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "chequeDDDate", + "value": { + "path": "$.instrumentDate" + }, + "type":"date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "payerAddress", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].additionalDetails.address" + } + }, + { + "variable": "oldPayerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "oldComments", + "value": { + "path": "$.additionalDetails.comment" + } + }, + { + "variable": "comments", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].additionalDetails.comment" + } + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "ReceiptDate", + "value": { + "path": "$.paymentDetails[0].receiptDate" + }, + "type": "date" + }, { + "variable": "bankName", + "value": { + "path": "$.additionalDetails[0].bankName" + } + }, { + "variable": "branchName", + "value": { + "path": "$.additionalDetails[0].branchName" + } + }, { + "variable": "ifsc", + "value": { + "path": "$.ifscCode" + } + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "cheque_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHEQUE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/firenoc-receipt.json b/configs/pdf-service/data-config/firenoc-receipt.json new file mode 100644 index 00000000..9a89b2e5 --- /dev/null +++ b/configs/pdf-service/data-config/firenoc-receipt.json @@ -0,0 +1,245 @@ +{ + "key":"firenoc-receipt", + "DataConfigs": { + "serviceName": "rainmaker-noc", + "version": "1.0.0", + "baseKeyPath": "$.FireNOCs.*", + "entityIdPath":"$.fireNOCNumber", + "isCommonTableBorderRequired":true, + "mappings": [ + { + "topic": "noc-pdf-generation", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "variable1", + "value": { + "path":"$.fireNOCDetails.applicationNumber" + } + }, + { + "variable": "variable32", + "url":"https://s3.ap-south-1.amazonaws.com/pb-egov-assets/pb.amritsar/logo.png", + "type":"image" + }, + { + "variable": "variable3", + "value": { + "path":"$.fireNOCDetails.applicantDetails.ownerShipType" + }, + "type":"function", + "format":"return type.startsWith('INSTITUTION')" + }, + { + "variable": "variable21", + "value": { + "path":"$.fireNOCDetails.applicantDetails.ownerShipType" + }, + "localisation":{ + "required":true, + "prefix":"COMMON_MASTERS_OWNERSHIPCATEGORY", + "module":"rainmaker-common" + } + }, + { + "variable": "variable22", + "value": { + "path":"$.fireNOCDetails.applicantDetails.additionalDetail.institutionName" + } + }, + { + "variable": "variable23", + "value": { + "path":"$.fireNOCDetails.applicantDetails.additionalDetail.telephoneNumber" + } + }, + { + "variable": "variable24", + "value": { + "path":"$.fireNOCDetails.applicantDetails.owners[0].name" + } + }, + { + "variable": "variable25", + "value": { + "path":"$.fireNOCDetails.applicantDetails.additionalDetail.institutionDesignation" + } + }, + { + "variable": "variable26", + "value": { + "path":"$.fireNOCDetails.applicantDetails.owners[0].mobileNumber" + } + }, + { + "variable": "variable27", + "value": { + "path":"$.fireNOCDetails.applicantDetails.owners[0].emailId" + } + }, + { + "variable": "variable28", + "value": { + "path":"$.fireNOCDetails.applicantDetails.owners[0].correspondenceAddress" + } + }, + { + "variable": "variable20", + "value": { + "path":"$.tenantId" + }, + "localisation":{ + "required":true, + "prefix":"TENANT_TENANTS", + "module":"rainmaker-common" + }, + "isUpperCaseRequired":true + }, + { + "variable": "variable2", + "value":{ + "path":"$.fireNOCDetails.applicantDetails.owners.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "key":"name" + }, + { + "key":"mobileNumber" + }] + } + } + ] + }, + { + "derived": [ + { + "variable": "variable31", + "formula": "{{variable29}}+{{variable30}}" + } + ] + }, + { + "externalAPI": [ + + { + + "path": "http://collection-services:8080/collection-services/receipts/_search", + "queryParam": "consumerCode=$.fireNOCDetails.applicationNumber", + "apiRequest": null, + + "responseMapping":[ + { + "variable":"variable6", + "value":"$.Receipt[0].instrument.transactionDateInput" + }, + { + "variable":"variable7", + "value":"$.Receipt[0].receiptNumber" + }, + { + "variable":"variable8", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='FIRENOC_FEES')].amount" + }, + { + "variable":"variable9", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='FIRENOC_TAXES')].amount" + }, + { + "variable":"variable29", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='FIRENOC_ADHOC_PENALTY')].amount" + }, + { + "variable":"variable30", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='FIRENOC_ADHOC_REBATE')].amount" + }, + { + "variable":"variable10", + "value":"$.Receipt[0].Bill[0].billDetails[0].totalAmount" + }, + { + "variable":"variable11", + "value":"$.Receipt[0].instrument.transactionType" + }, + { + "variable":"variable12", + "value":"$.Receipt[0].transactionId" + }, + { + "variable":"variable13", + "value":"$.Receipt[0].instrument.bank.name" + }, + { + "variable":"variable15", + "value":"$.Receipt[0].Bill[0].billDetails[0].receiptNumber" + }, + { + "variable":"variable16", + "value":"$.Receipt[0].Bill[0].billDetails[0].receiptDate" + }, + { + "variable":"variable17", + "value":"$.Receipt[0].Bill[0].billDetails[0].amountPaid" + }, + { + "variable":"variable18", + "value":"$.Receipt[0].instrument.instrumentType.name" + }, + { + "variable":"variable19", + "value":"$.Receipt[0].instrument.transactionNumber" + } + ] + } + ] + }, + { + "qrcodeConfig": [ + { + "variable": "variable14", + "value":"Application: {{variable1}}, Receipt number: {{variable15}}, Date of payment: {{variable16}}, Fees Paid: {{variable17}}, Payment mode: {{variable18}}, Transaction ID: {{variable19}}" + } + ] + }, + { + "mdmsDenormalization": [ + { + "variable": "$variable", + "moduleName": "common-masters", + "masterName": "Department", + "tenantId": "pb", + "filter": "[?(@.code == $department)]", + "filterMapping": [ + { + "variable": "$department", + "valueJsonpath": "$.department" + } + ], + "valueJsonPath": "$.TenantBoundary[0].boundary[0].name" + }, + { + "variable": "$variable", + "moduleName": "common-masters", + "masterName": "Department", + "tenantId": "pb", + "filter": "[?(@.code == $department)]", + "filterMapping": [ + { + "variable": "$department", + "valueJsonpath": "$.department" + } + ], + "valueJsonPath": "$.TenantBoundary[0].boundary[0].name" + } + ] + } + ] + } + ] + } + } diff --git a/configs/pdf-service/data-config/firenocreceipt.json b/configs/pdf-service/data-config/firenocreceipt.json new file mode 100644 index 00000000..f5c4258b --- /dev/null +++ b/configs/pdf-service/data-config/firenocreceipt.json @@ -0,0 +1,578 @@ +{ + "key": "firenocreceipt", + "documentType":"FIRENOC_RECEIPT", + "DataConfigs": { + "moduleName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "PaidBy", + "value": { + "path": "$.paidBy" + } + }, + { + "variable": "chequeDD", + "value": { + "path": "$.instrumentNumber" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fieldFee", + "value": { + "path": "$.paymentDetails[0].additionalDetails.fieldfee" + } + }, { + "variable": "taxAmount", + "value": { + "path": "$.paymentDetails[0].additionalDetails.tax" + } + }, { + "variable": "cgst", + "value": { + "path": "$.paymentDetails[0].additionalDetails.cgst" + } + }, { + "variable": "sgst", + "value": { + "path": "$.paymentDetails[0].additionalDetails.sgst" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "chequeDDDate", + "value": { + "path": "$.instrumentDate" + }, + "type":"date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "payerAddress", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].additionalDetails.address" + } + }, + { + "variable": "oldPayerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "oldComments", + "value": { + "path": "$.additionalDetails.comment" + } + }, + { + "variable": "comments", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].additionalDetails.comment" + } + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "ReceiptDate", + "value": { + "path": "$.paymentDetails[0].receiptDate" + }, + "type": "date" + }, { + "variable": "bankName", + "value": { + "path": "$.additionalDetails[0].bankName" + } + }, { + "variable": "branchName", + "value": { + "path": "$.additionalDetails[0].branchName" + } + }, { + "variable": "ifsc", + "value": { + "path": "$.ifscCode" + } + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "cheque_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHEQUE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] +} + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/mcollect-bill.json b/configs/pdf-service/data-config/mcollect-bill.json new file mode 100644 index 00000000..c27d60ac --- /dev/null +++ b/configs/pdf-service/data-config/mcollect-bill.json @@ -0,0 +1,674 @@ +{ + "key": "mcollect-bill", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath": "$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "challanNo", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "challan_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "challan", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "type": "splitString", + "localisation": { + "required": true, + "prefix": "BILLINGSERVICE_BUSINESSSERVICE", + "module": "rainmaker-uc", + "isCategoryRequired": true + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "letter-code", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_CODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "address_label", + "value": { + "path": "PT_COMMON_COL_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "letter-header", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_HEAD" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "letter-section", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_SECTION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "cantonment-board", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "form-number", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_FORM_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rule-number", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_RULENO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "letter-code", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation": { + "required": true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "billDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "city", + "value": { + "path": "$..tradeLicenseDetail.address.city" + }, + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "doorHouseNo", + "value": { + "path": "$.address.doorNo" + }, + "type": "setEmpty" + }, + { + "variable": "buildingColonyName", + "value": { + "path": "$.address.buildingName" + }, + "type": "setEmpty" + }, + { + "variable": "streetName", + "value": { + "path": "$.address.street" + }, + "type": "setEmpty" + }, + { + "variable": "buildingName", + "value": { + "path": "$.address.buildingName" + }, + "type": "setEmpty" + }, + { + "variable": "pinCode", + "value": { + "path": "$.address.pincode" + }, + "type": "setEmpty" + }, + { + "variable": "mohalla", + "value": { + "path": "$.address.locality" + }, + "localisation": { + "required": true, + "prefix": "TENANTS_MOHALLA", + "module": "rainmaker-common" + } + }, + { + "variable": "serviceCategory", + "value": { + "path": "$.businessService" + }, + "localisation": { + "required": true, + "prefix": "BILLINGSERVICE_BUSINESSSERVICE", + "module": "rainmaker-uc" + } + }, + { + "variable": "mcollect_comment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_MCOLLECT_COMMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE_UC" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "GL_Code", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GL_CODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_date", + "value": { + "path": "ABG_COMMON_TABLE_COL_BILL_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_Name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_CONTACT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service_category", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_SERVICE_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "validity_from", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_LICENSE_VALIDITY_FROM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "validity_to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_LICENSE_VALIDITY_TO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bank_transaction_no", + "value": { + "path": "NOC_PAYMENT_BANK_TRANSACTION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_Name", + "value": { + "path": "NOC_PAYMENT_PAYER_NAME_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "challan_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "variable10", + "value": { + "path": "$.billDetails[0].billAccountDetails.*" + }, + "type": "array", + "format": { + "type": "string", + "scema": [ + { + "variable": "trade_license_tax", + "value": "taxHeadCode", + "type": "string", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-uc" + } + }, + { + "variable": "tradeLicenseTax", + "value": "amount" + } + ] + } + }, + { + "variable": "totalAmount", + "value": { + "path": "$.totalAmount" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pg&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "cb-name", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + }, + { + "path": "http://echallan-services:8080/echallan-services/eChallan/v1/_search", + "queryParam": "challanNo=$.consumerCode,tenantId=$.tenantId", + "apiRequest": null, + "responseMapping": [ + { + "variable": "challanDate", + "value": "$.challans[0].auditDetails.lastModifiedTime", + "type": "date" + } + ] + } + ] + }, + { + "qrcodeConfig": [ + { + "variable": "qrcodeimage", + "value": "Payer Name : {{payerName}},BillNo: {{billNumber}}, Challan number: {{challanNo}}, Bill Date: {{billDate}}, Total Amount: {{totalAmount}}, Billing Period: {{fromPeriod}} to {{toPeriod}}" + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/mcollect-challan.json b/configs/pdf-service/data-config/mcollect-challan.json new file mode 100644 index 00000000..fa102fe8 --- /dev/null +++ b/configs/pdf-service/data-config/mcollect-challan.json @@ -0,0 +1,723 @@ +{ + "key": "mcollect-challan", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Challan", + "entityIdPath": "$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "consumerName", + "value": { + "path": "$.citizen.name" + } + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "challanNo", + "value": { + "path": "$.challanNo" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation": { + "required": true, + "prefix": "BILLINGSERVICE_BUSINESSSERVICE", + "module": "rainmaker-uc" + } + }, + { + "variable": "serviceCategory", + "value": { + "path": "$.serviceType" + }, + "localisation": { + "required": true, + "prefix": "BILLINGSERVICE_BUSINESSSERVICE", + "module": "rainmaker-uc" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.taxPeriodFrom" + }, + "type": "date" + }, + { + "variable": "billNo", + "value": { + "path": "$.billNo" + } + }, + { + "variable": "billDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.taxPeriodTo" + }, + "type": "date" + }, + { + "variable": "bill", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_date", + "value": { + "path": "ABG_COMMON_TABLE_COL_BILL_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "letter-code", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_CODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_category", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_SERVICE_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "address_label", + "value": { + "path": "PT_COMMON_COL_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "remarks_label", + "value": { + "path": "PT_COMMON_COL_REMARK" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "letter-header", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_HEAD" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "letter-section", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_LETTER_SECTION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "cantonment-board", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "form-number", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN_FORM_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "rule-number", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN_RULE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "challan", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "letter-code", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "NOC_COMMON_TABLE_COL_APP_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation": { + "required": true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module":"rainmaker-common" + } + }, + { + "variable": "challanDate", + "value": { + "path": "$.auditDetails.lastModifiedTime" + }, + "type": "date" + }, + { + "variable": "city", + "value": { + "path": "$..tradeLicenseDetail.address.city" + }, + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "doorHouseNo", + "value": { + "path": "$.address.doorNo" + }, + "type": "setEmpty" + }, + { + "variable": "buildingColonyName", + "value": { + "path": "$.address.buildingName" + }, + "type": "setEmpty" + }, + { + "variable": "streetName", + "value": { + "path": "$.address.street" + }, + "type": "setEmpty" + }, + { + "variable": "buildingName", + "value": { + "path": "$.address.buildingName" + }, + "type": "setEmpty" + }, + { + "variable": "pinCode", + "value": { + "path": "$.address.pincode" + }, + "type": "setEmpty" + }, + { + "variable": "challanStatus", + "value": { + "path": "$.applicationStatus" + }, + "type": "challanStatus" + }, + { + "variable": "challanRemarks", + "value": { + "path": "$.description" + + } + }, + { + "variable": "mohalla", + "value": { + "path": "$.address.locality.code" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": "TENANTS_MOHALLA", + "module": "rainmaker-common", + "prefixCbName": true + + } + }, + { + "variable": "mcollect_comment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_MCOLLECT_COMMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE_UC" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "challan_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "GL_Code", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GL_CODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "challan_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CHALLAN_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_CONTACT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "validity_from", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_LICENSE_VALIDITY_FROM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "validity_to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_LICENSE_VALIDITY_TO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bank_transaction_no", + "value": { + "path": "NOC_PAYMENT_BANK_TRANSACTION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_Name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "variable10", + "value": { + "path": "$.amount.*" + }, + "type": "array", + "format": { + "type": "string", + "scema": [ + { + "variable": "trade_license_tax", + "value": "taxHeadCode", + "type": "string", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-uc" + } + }, + { + "variable": "tradeLicenseTax", + "value": "amount" + } + ] + } + }, + { + "variable": "totalAmount", + "value": { + "path": "$.totalAmount" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "cb-name", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + } + ] + }, + { + "path": "http://egov-location:8080/egov-location/location/v11/boundarys/_search", + "queryParam": "tenantId=$.tenantId,hierarchyTypeCode=ADMIN,boundaryType=Locality,codes=$.address.locality.code", + "apiRequest": null, + "responseMapping":[ + { + "variable":"mohalla", + "value":"$.address.locality.code" + } + ] + } + ] + }, + { + "qrcodeConfig": [ + { + "variable": "qrcodeimage", + "value": "Payer Name : {{consumnerName}},Challan number: {{challanNo}}, Challan Date: {{billDate}}, Total Amount: {{totalAmount}}, Billing Period: {{fromPeriod}} to {{toPeriod}}" + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/misc-receipt.json b/configs/pdf-service/data-config/misc-receipt.json new file mode 100644 index 00000000..c0fd312b --- /dev/null +++ b/configs/pdf-service/data-config/misc-receipt.json @@ -0,0 +1,511 @@ +{ + "key": "misc-receipt", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.paymentDetails[0].receiptNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"BILLINGSERVICE_BUSINESSSERVICE", + "module":"rainmaker-bpa" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_info", + "value": { + "path": "PDF_STATIC_LABEL_RECEIPT_INFO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_info", + "value": { + "path": "PDF_STATIC_LABEL_PAYER_INFO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_info", + "value": { + "path": "PDF_STATIC_LABEL_PAYMENT_INFO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=bh&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-pgr" + } + } + ] + } + ] + } + ] + } + ] + } + } diff --git a/configs/pdf-service/data-config/passvehicle-certificate.json b/configs/pdf-service/data-config/passvehicle-certificate.json new file mode 100644 index 00000000..38f83596 --- /dev/null +++ b/configs/pdf-service/data-config/passvehicle-certificate.json @@ -0,0 +1,555 @@ +{ + "key": "tlcertificate", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Licenses.*", + "entityIdPath":"$.licenseNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + }, + { + "variable": "tradeLicenseNo", + "value": { + "path": "$.licenseNumber" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNumber" + } + }, + { + "variable": "financialYear", + "value": { + "path": "$.financialYear" + } + }, + { + "variable": "tradeName", + "value": { + "path": "$.tradeName" + } + }, + { + "variable": "tradeOwnerName", + "value": { + "path": "$.tradeLicenseDetail.owners[0].name" + } + }, + { + "variable": "tradeOwnerContact", + "value": { + "path": "$.tradeLicenseDetail.owners[0].mobileNumber" + } + }, + { + "variable": "tradeAddress", + "value": { + "path": "$.tradeLicenseDetail.address.locality.name" + } + }, + { + "variable": "city", + "value": { + "path": "$.tradeLicenseDetail.address.city" + }, + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "tradeType", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "passSubCategory", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isMainTypeRequired":true + } + }, + { + "variable": "accessories", + "value": { + "path": "$.tradeLicenseDetail.accessories[0].accessoryCategory" + }, + "localisation":{ + "required":true, + "prefix": "TL", + "module": "rainmaker-tl" + } + }, + { + "variable": "purpose_content", + "value": { + "path": "$.tradeLicenseDetail.additionalDetail.purpose" + } + }, + { + "variable": "licenseIssueDate", + "value": { + "path": "$.issuedDate" + }, + "type": "date" + }, + { + "variable": "licenseValidityFrom", + "value": { + "path": "$.validFrom" + }, + "type": "date" + }, + { + "variable": "licenseValidityTo", + "value": { + "path": "$.validTo" + }, + "type": "date" + }, + { + "variable": "vehicleNumber", + "value": { + "path": "$.tradeLicenseDetail.additionalDetail.vehicleNumber" + } + }, + { + "variable": "vehicleCompany", + "value": { + "path": "$.tradeLicenseDetail.additionalDetail.vehicleCompany" + } + }, + { + "variable": "vehicleModel", + "value": { + "path": "$.tradeLicenseDetail.additionalDetail.vehicleModel" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "vehicle_number_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_VEHICLE_NUMBER_LABLE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "vehicle_company_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_VEHICLE_COMPANY_LABLE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "vehicle_model_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_VEHICLE_MODEL_LABLE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "municipal_corportaion", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_CITY_POLICE_LABLE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclaimer_heading", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_DISCLAIMER_HEADING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclaimer_body", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_DISCLAIMER_BODY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "corporation_website", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_WEBSITE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_email", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_EMAIL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_certifcate", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_CERTIFICATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPLICATION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "reciept_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_RECIEPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "financial_year", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_FINANCIAL_YEAR" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_owner_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_OWNER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_owner_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_OWNER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_TRADE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pass_subCategory", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_TRADE_SUB_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "purpose_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_PURPOSE_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accessories_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_ACCESSORIES_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_fee", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_LICENSE_FEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_validity", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_VALIDITY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_validity_from", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_LICENSE_VALIDITY_FROM" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_validity_to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_PASS_LICENSE_VALIDITY_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "approved_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPROVED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_COMMISSIONER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable":"userpic", + "url":"https://egov-covid-assets.s3.ap-south-1.amazonaws.com/Bangalore_Police.jpeg", + "type":"image" + }, + { + "variable": "tenantID", + "value": { + "path": "$.tenantId" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search", + "queryParam": "businessIds=$.applicationNumber,history=true,tenantId=$.tenantId", + "apiRequest": null, + "responseMapping":[ + { + "variable":"approvedBy", + "value":"$.ProcessInstances[?(@.action == 'APPROVE')].assigner.name" + } + + ] + } + + ] + }, + { + "qrcodeConfig": [ + { + "variable": "qr", + "value":"https://egov-micro-qa.egovernments.org/employee/tradelicence/search-preview?applicationNumber={{applicationNo}}&tenantId={{tenantID}}" + } + ] + } + ] + + } + ] + } + } \ No newline at end of file diff --git a/configs/pdf-service/data-config/property-bill.json b/configs/pdf-service/data-config/property-bill.json new file mode 100644 index 00000000..1ed8778d --- /dev/null +++ b/configs/pdf-service/data-config/property-bill.json @@ -0,0 +1,888 @@ +{ + "key": "property-bill", + "documentType": "PROPERTYBILL", + "DataConfigs": { + "moduleName": "PT", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "total_amount_due", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_AMOUNT_DUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_MOBILE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "bill_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_due_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_DUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_summary_property_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILLING_SUMMARY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "tl_application_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TL_APPLICATION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ARREARS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "charge_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CHARGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PENALTY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_REBATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "others_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OTHERS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "important_message", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IMPORTANT_MESSAGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_received", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYMENT_RECEIVED" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_document", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_DOCUMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_is_a", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_IS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "assessment_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ASSESSSMENT_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "please_deposit", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PLEASE_DEPOSIT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "if_the_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IF_THE_TAX" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "acknowledgement_for", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ACKNOWLEDGEMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_ID", + "module":"rainmaker-common" + } + }, + { + "variable": "name_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_NAME_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receivers_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_RECEIVERS_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "totalAmountDue", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "total", + "value": { + "path": "$.totalAmount" + } + }, + + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + + { + "variable": "mobileNo", + "value": { + "path": "$.mobileNumber" + } + }, + + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "nameAddress", + "value": { + "path": "$.payerAddress" + } + }, + + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + }, + "type": "date" + }, + + { + "variable": "billIssueDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + + { + "variable": "billDueDate", + "value": { + "path": "$.billDetails[0].expiryDate" + }, + "type": "date" + }, + { + "variable": "billdate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + + { + "variable": "propertyID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "fees", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_TAX')].amount" + } + }, + { + "variable": "pt_penalty", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_PENALTY')].amount" + } + }, + { + "variable": "pt_rebate", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_REBATE')].amount" + } + }, + { + "variable": "pt_adhoc_penalty", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "pt_adhoc_rebate", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_REBATE')].amount" + } + }, + { + "variable": "pt_owner_exemption", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_OWNER_EXEMPTION')].amount" + } + }, + { + "variable": "pt_unit_usage_exemption", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_UNIT_USAGE_EXEMPTION')].amount" + } + }, + { + "variable": "pt_fire_cess", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_FIRE_CESS')].amount" + } + }, + { + "variable": "pt_cancer_cess", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_CANCER_CESS')].amount" + } + }, + { + "variable": "pt_time_interest", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_INTEREST')].amount" + } + }, + { + "variable": "pt_decimal_ceiling_debit", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_DEBIT')].amount" + } + }, + { + "variable": "pt_decimal_ceiling_credit", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_CREDIT')].amount" + } + }, + { + "variable": "pt_roundoff", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_ROUNDOFF')].amount" + } + }, + { + "variable": "pt_arrearrs", + "value":{ + "path": "$.billDetails[(@.length-1)].amount" + } + }, + { + "variable": "pt_advance_carryforward", + "value":{ + "path": "$.billDetails[(@.length-1)].billAccountDetails[?(@.taxHeadCode == 'PT_ADVANCE_CARRYFORWARD')].amount" + } + }, + { + "variable": "consumerID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "date", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "totalPayment", + "value": { + "path": "$.billDetails[0].amountPaid" + } + }, + { + "variable":"scissorImage", + "url":"http://www.pngall.com/wp-content/uploads/2016/03/Scissor-PNG-Clipart.png", + "type":"image" + }, + + { + "variable": "adhoc_penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ADHOC_PENALTY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "adhoc_rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ADHOC_REBATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "owner_exemption_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OWNER_EXEMPTION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "unit_usage_exemption_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_UNIT_USAGE_EXEMPTION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "fire_cess_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_FIRE_CESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "cancer_cess_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CANCER_CESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "time_interest_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TIME_INTEREST" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "decimal_ceiling_debit_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DECIMAL_CEILING_DEBIT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "decimal_ceiling_credit_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DECIMAL_CEILING_CREDIT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "advance_carryforward_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DECIMAL_ADVANCE_CARRYFORWARD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "roundoff_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DECIMAL_ADVANCE_ROUNDOFF" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DECIMAL_ARREARS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "charge", + "formula": "{{fees}}" + }, + { + "variable": "penalty", + "formula": "{{pt_penalty}}" + }, + { + "variable": "rebate", + "formula": "{{pt_rebate}}" + }, + { + "variable": "adhoc_penalty", + "formula": "{{pt_adhoc_penalty}}" + }, + { + "variable": "adhoc_rebate", + "formula": "{{pt_adhoc_rebate}}" + }, + { + "variable": "owner_exemption", + "formula": "{{pt_owner_exemption}}" + }, + { + "variable": "unit_usage_exemption", + "formula": "{{pt_unit_usage_exemption}}" + }, + { + "variable": "fire_cess", + "formula": "{{pt_owner_exemption}}" + }, + { + "variable": "cancer_cess", + "formula": "{{pt_cancer_cess}}" + }, + { + "variable": "time_interest", + "formula": "{{pt_time_interest}}" + }, + { + "variable": "decimal_ceiling_debit", + "formula": "{{pt_decimal_ceiling_debit}}" + }, + { + "variable": "decimal_ceiling_credit", + "formula": "{{pt_decimal_ceiling_credit}}" + }, + { + "variable": "advance_carryforward", + "formula": "{{pt_advance_carryforward}}" + }, + { + "variable": "roundoff", + "formula": "{{pt_roundoff}}" + }, + { + "variable": "arrearrs", + "formula": "{{totalAmountDue}} - {{pt_arrearrs}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable": "logo_header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].billFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/property-receipt.json b/configs/pdf-service/data-config/property-receipt.json new file mode 100644 index 00000000..79102e7a --- /dev/null +++ b/configs/pdf-service/data-config/property-receipt.json @@ -0,0 +1,977 @@ +{ + "key": "property-receipt", + "documentType": "PROPERTYRECEIPT", + "DataConfigs": { + "moduleName": "PT", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.paidBy" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "paymentStatus", + "value": { + "path": "$.paymentStatus" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.totalAmountPaid" + } + }, + { + "variable": "assessmentYear", + "value": { + "path": "$.paymentDetails[0].additionalDetails.assessmentYears" + } + }, { + "variable": "ifsc", + "value": { + "path": "$.ifscCode" + } + },{ + "variable": "bank", + "value": { + "path": "$.additionalDetails[0].bankName" + } + },{ + "variable": "branch", + "value": { + "path": "$.additionalDetails[0].branchName" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "assessmentYear1", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date", + "format": "YYYY" + }, + { + "variable": "assessmentYear2", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date", + "format": "YYYY" + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.instrumentNumber" + } + }, { + "variable": "transactionDate", + "value": { + "path": "$.instrumentDate" + }, + "type": "date" + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].bill.totalAmount" + } + }, + { + "variable": "approvedBy", + "value": { + "path": "$.paymentDetails[0].bill.additionalDetails.lastModifier" + } + }, + { + "variable": "penaltyReason", + "value": { + "path": "$.paymentDetails[0].bill.additionalDetails.adhocPenaltyReason" + } + }, + { + "variable": "rebateReason", + "value": { + "path": "$.paymentDetails[0].bill.additionalDetails.adhocRebateReason" + } + }, + { + "variable": "PropertyTax", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TAX')].amount" + } + }, + { + "variable": "FireCess", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_FIRE_CESS')].amount" + } + }, + { + "variable": "CancerCess", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_CANCER_CESS')].amount" + } + }, + { + "variable": "Penalty", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_PENALTY')].amount" + } + }, + { + "variable": "Arrears1", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[1].amount" + } + }, { + "variable": "Arrears2", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[2].amount" + } + }, { + "variable": "Arrears3", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[3].amount" + } + }, { + "variable": "Arrears4", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[4].amount" + } + }, { + "variable": "Arrears5", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[5].amount" + } + }, { + "variable": "Arrears6", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[6].amount" + } + }, { + "variable": "Arrears7", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[7].amount" + } + }, { + "variable": "Arrears8", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[8].amount" + } + }, + { + "variable": "adhocPenalty", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "adhocRebate", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_ADHOC_REBATE')].amount" + } + }, + { + "variable": "Rebate", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + } + }, + { + "variable": "Interest", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_INTEREST')].amount" + } + }, + { + "variable": "UsageExemption", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_UNIT_USAGE_EXEMPTION')].amount" + } + }, + { + "variable": "SpecialCategoryExemption", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_OWNER_EXEMPTION')].amount" + } + }, + { + "variable": "RoundOff", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_ROUNDOFF')].amount" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID", + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "payment_status", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_STATUS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "var_bills", + "value":{ + "path":"$.paymentDetails[0].additionalDetails.arrearArray.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"year", + "value": "year" + + },{ + "variable":"tax", + "value": "tax" + + },{ + "variable":"firecess", + "value": "firecess" + + },{ + "variable":"cancercess", + "value": "cancercess" + + },{ + "variable":"penalty", + "value": "penalty" + + },{ + "variable":"interest", + "value": "interest" + + },{ + "variable":"rebate", + "value": "rebate" + + }, + { + "variable":"usage_exemption", + "value": "usage_exemption" + + },{ + "variable":"special_category_exemption", + "value": "special_category_exemption" + + },{ + "variable":"adhoc_penalty", + "value": "adhoc_penalty" + + },{ + "variable":"adhoc_rebate", + "value": "adhoc_rebate" + + },{ + "variable":"roundoff", + "value": "roundoff" + + },{ + "variable":"total", + "value": "total" + + } + ] + } + }, + { + "variable": "var_tax", + "value":{ + "path":"$.paymentDetails[0].additionalDetails.taxArray.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"year", + "value": "year" + + },{ + "variable":"tax", + "value": "tax" + + },{ + "variable":"firecess", + "value": "firecess" + + },{ + "variable":"cancercess", + "value": "cancercess" + + },{ + "variable":"penalty", + "value": "penalty" + + },{ + "variable":"interest", + "value": "interest" + + },{ + "variable":"rebate", + "value": "rebate" + + }, + { + "variable":"usage_exemption", + "value": "usage_exemption" + + },{ + "variable":"special_category_exemption", + "value": "special_category_exemption" + + },{ + "variable":"adhoc_penalty", + "value": "adhoc_penalty" + + },{ + "variable":"adhoc_rebate", + "value": "adhoc_rebate" + + },{ + "variable":"roundoff", + "value": "roundoff" + + },{ + "variable":"total", + "value": "total" + + } + ] + } + }, + + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + }, + { + "variable": "DisclaimerText", + "value": { + "path": "PT_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common", + "locale":"en_IN" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + }, + { + "variable": "Arrears", + "formula": "{{Arrears1}}+{{Arrears2}}+{{Arrears3}}+{{Arrears4}}+{{Arrears5}}+{{Arrears6}}+{{Arrears7}}+{{Arrears8}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common", + "locale":"en_IN" + } + } + ] + }, + { + "path": "http://property-services.egov:8080/property-services/property/_search", + "queryParam": "propertyIds=$.paymentDetails[0].bill.consumerCode,tenantId=$.tenantId", + "apiRequest": null, + "responseMapping":[ + { "variable":"institutionName", + "value":"$.Properties[0].institution.name" + }, + { + "variable":"vasikaNo", + "value":"$.Properties[0].additionalDetails.vasikaNo" + },{ + "variable":"vasikaDate", + "value":"$.Properties[0].additionalDetails.vasikaDate", + "type":"date" + }, { + "variable":"allotmentNo", + "value":"$.Properties[0].additionalDetails.allotmentNo" + }, { + "variable":"allotmentDate", + "value":"$.Properties[0].additionalDetails.allotmentDate", + "type":"date" + }, { + "variable":"businessName", + "value":"$.Properties[0].additionalDetails.businessName" + }, { + "variable":"remarks", + "value":"$.Properties[0].additionalDetails.remrks" + }, { + "variable":"fatherHusbandName", + "value":"$.Properties[0].owners[0].fatherOrHusbandName" + }, { + "variable":"propertyUsage", + "value":"$.Properties[0].usageCategory", + "localisation": { + "required": true, + "prefix": "COMMON_PROPUSGTYPE", + "module": "rainmaker-pt", + "locale":"en_IN" + } + }, + { + "variable":"doorNo", + "value":"$.Properties[0].address.doorNo" + }, + { + "variable":"buildingName", + "value":"$.Properties[0].address.buildingName" + }, + { + "variable":"streetName", + "value":"$.Properties[0].address.street" + }, + { + "variable":"locality", + "value":"$.Properties[0].address.locality.name" + }, + { + "variable":"landArea", + "value":"$.Properties[0].landArea" + }, + { + "variable":"propertyType", + "value":"$.Properties[0].propertyType", + "localisation": { + "required": true, + "prefix": "WS_PROPTYPE", + "module": "rainmaker-ws", + "locale":"en_IN" + } + }, + { + "variable":"oldPropertyId", + "value":"$.Properties[0].oldPropertyId" + }, + { + "variable":"surveyId", + "value":"$.Properties[0].surveyId" + }, + { + "variable":"ownerMobileNumber", + "value":"$.Properties[0].owners[?(@.status== 'ACTIVE')].mobileNumber" + }, + { + "variable": "var_owners", + "value":"$.Properties[0].owners[?(@.active== true && @.status== 'ACTIVE')]", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"name2", + "value":"name" + }, + { + "variable":"fatherOrHusbandName2", + "value":"fatherOrHusbandName" + }, + { + "variable":"ownerShipPercentage", + "value":"ownerShipPercentage" + }, + { + "variable":"ownerType", + "value":"ownerType" + } + ] + } + }, + { + "variable": "var_floors", + "value":"$.Properties[0].units[?(@.active== true)]", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"floor_no", + "value":"floorNo", + "localisation": { + "required": true, + "prefix": "PROPERTYTAX_FLOOR", + "module": "rainmaker-pt", + "locale":"en_IN" + } + }, + { + "variable":"usage_category", + "value":"usageCategory", + "localisation": { + "required": true, + "prefix": "COMMON_PROPUSGTYPE", + "module": "rainmaker-pt", + "locale":"en_IN" + } + }, + { + "variable":"sub_usage_category", + "value":"usageCategory", + "localisation": { + "required": true, + "prefix": "COMMON_PROPSUBUSGTYPE", + "module": "rainmaker-pt", + "isSubTypeRequired":true, + "locale":"en_IN" + } + }, + { + "variable":"occupancy_type", + "value":"occupancyType" + }, + { + "variable":"builtup_area", + "value":"constructionDetail.builtUpArea" + }, + { + "variable":"arv_rent", + "value":"arv" + }, + { + "variable":"additional_details", + "value":"additionalDetails" + } + + ] + } + } + + + ] + }, + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.paymentDetails[0].businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].receiptFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/pt-receipt.json b/configs/pdf-service/data-config/pt-receipt.json new file mode 100644 index 00000000..56e0706e --- /dev/null +++ b/configs/pdf-service/data-config/pt-receipt.json @@ -0,0 +1,273 @@ +{ + + "key":"pt-receipt", + "DataConfigs": { + "serviceName": "rainmaker-pt", + "version": "1.0.0", + "baseKeyPath": "$.Properties.*", + "entityIdPath":"$.propertyId", + "isCommonTableBorderRequired":true, + "mappings": [ + { + "topic": "pt-pdf-generation", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "variable1", + "value": { + "path":"$.propertyDetails[0].financialYear" + } + }, + { + "variable": "variable38", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + }, + { + "variable": "variable35", + "value": { + "path":"$.tenantId" + }, + "localisation":{ + "required":true, + "prefix":"TENANT_TENANTS", + "module":"rainmaker-common" + }, + "isUpperCaseRequired":true + }, + { + "variable": "variable36", + "type":"citizen-employee-title" + }, + { + "variable":"variable2", + "value":{ + "path":"$.oldPropertyId" + } + }, + { + "variable": "variable3", + "value":{ + "path":"$.propertyId" + } + }, + { + "variable": "variable4", + "value":{ + "path":"$.propertyDetails[0].assessmentNumber" + } + }, + { + "variable": "variable5", + "value":{ + "path":"$.address.doorNo" + } + }, + { + "variable": "variable6", + "value":{ + "path":"$.address.buildingName" + } + }, + { + "variable": "variable7", + "value":{ + "path":"$.address.street" + } + }, + { + "variable": "variable8", + "value":{ + "path":"$.address.locality.name" + } + }, + { + "variable": "variable9", + "value":{ + "path":"$.propertyDetails[0].landArea" + } + }, + { + "variable": "variable10", + "value":{ + "path":"$.propertyDetails[0].propertySubType" + }, + "localisation":{ + "required":true, + "prefix":"PROPERTYTAX_BILLING_SLAB", + "module":"rainmaker-pt" + } + }, + { + "variable": "variable11", + "value":{ + "path":"$.propertyDetails[0].owners.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "key":"name" + }, + { + "key":"fatherOrHusbandName" + }] + } + }, + { + "variable": "variable12", + "value":{ + "path":"$.propertyDetails[0].units.*" + }, + "type":"array-column", + "format":{ + "type":"string", + "scema":[ + { + "key":"floorNo", + "localisation":{ + "required":true, + "prefix":"PROPERTYTAX_FLOOR", + "module":"rainmaker-pt" + } + + }, + { + "key":"usageCategoryMinor", + "localisation":{ + "required":true, + "prefix":"PROPERTYTAX_BILLING_SLAB", + "module":"rainmaker-pt" + } + + }, + { + "key":"usageCategoryDetail", + "localisation":{ + "required":true, + "prefix":"PROPERTYTAX_BILLING_SLAB", + "module":"rainmaker-pt" + } + }, + { + "key":"occupancyType", + "localisation":{ + "required":true, + "prefix":"PROPERTYTAX_OCCUPANCYTYPE", + "module":"rainmaker-pt" + } + }, + { + "key":"unitArea" + }] + } + } + ] + }, + { + "derived": [ + { + "variable": "variable37", + "formula": "{{variable34}}-{{variable27}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://collection-services:8080/collection-services/receipts/_search", + "queryParam": "consumerCode=$.propertyId:$.propertyDetails[0].assessmentNumber", + "apiRequest": null, + "responseMapping":[ + { + "variable":"variable15", + "value":"$.Receipt[0].receiptNumber" + }, + { + "variable":"variable16", + "value":"$.Receipt[0].receiptDate" + }, + { + "variable":"variable17", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TAX')].amount" + }, + { + "variable":"variable18", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_FIRE_CESS')].amount" + }, + { + "variable":"variable19", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_CANCER_CESS')].amount" + }, + { + "variable":"variable20", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_PENALTY')].amount" + }, + { + "variable":"variable21", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + }, + { + "variable":"variable22", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_INTEREST')].amount" + }, + { + "variable":"variable23", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_UNIT_USAGE_EXEMPTION')].amount" + }, + { + "variable":"variable24", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_OWNER_EXEMPTION')].amount" + }, + { + "variable":"variable25", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_ROUNDOFF')].amount" + }, + { + "variable":"variable26", + "value":"$.Receipt[0].Bill[0].billDetails[0].totalAmount" + }, + { + "variable":"variable27", + "value":"$.Receipt[0].Bill[0].billDetails[0].amountPaid" + }, + { + "variable":"variable28", + "value":"$.Receipt[0].instrument.instrumentType.name" + }, + { + "variable":"variable29", + "value":"$.Receipt[0].instrument.bank.name" + }, + { + "variable":"variable30", + "value":"$.Receipt[0].transactionId" + }, + { + "variable":"variable31", + "value":"$.Receipt[0].instrument.transactionDateInput" + }, + { + "variable":"variable32", + "value":"$.Receipt[0].Bill[0].billDetails[0].manualReceiptNumber" + }, + { + "variable":"variable33", + "value":"$.Receipt[0].Bill[0].billDetails[0].manualReceiptDate" + }, + { + "variable":"variable34", + "value":"$.Receipt[0].Bill[0].billDetails[0].totalAmount" + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ptmutationcertificate.json b/configs/pdf-service/data-config/ptmutationcertificate.json new file mode 100644 index 00000000..7f9f3af2 --- /dev/null +++ b/configs/pdf-service/data-config/ptmutationcertificate.json @@ -0,0 +1,380 @@ +{ + "key": "ptmutationcertificate", + "documentType": "PTMUTATION", + "DataConfigs": { + "moduleName": "PT", + "version": "1.0.0", + "baseKeyPath": "$.Properties.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + + { + "variable": "municipal_corportaion", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_fax", + "value": { + "path": "PDF_STATIC_LABEL_MUTATION_FAX" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_website", + "value": { + "path": "PDF_STATIC_LABEL_MUTATION_WEBSITE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_email", + "value": { + "path": "PDF_STATIC_LABEL_MUTATION_EMAIL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Mutation_Approval_Certificate", + "value": { + "path": "PDF_STATIC_LABEL_MUATATION_APPROVAL_CERTIFICATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Property_ID_Label", + "value": { + "path": "PDF_STATIC_LABEL_MUATATION_PROPERTY_ID_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Mutation_Number_Label", + "value": { + "path": "PDF_STATIC_LABEL_MUATATION_NUMBER_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Application_Number_Label", + "value": { + "path": "PDF_STATIC_LABEL_APPLICATION_NUMBER_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Receipt_Number_Label", + "value": { + "path": "PDF_STATIC_LABEL_RECEIPT_NUMBER_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Approval_Date_Label", + "value": { + "path": "PDF_STATIC_LABEL_APPROVAL_DATE_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Order_Label", + "value": { + "path": "PDF_STATIC_LABEL_ORDER_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Mutation_Declaration_Label", + "value": { + "path": "$.tenantId" + }, + "localisation":{ + "required":true, + "prefix": "PDF_STATIC_LABEL_MUTATION_DECLARATION_LABEL", + "module":"rainmaker-common" + } + }, + { + "variable": "Transferrer_Details_Label", + "value": { + "path": "PDF_STATIC_LABEL_TRANSFERRER_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Transferree_Details_Label", + "value": { + "path": "PDF_STATIC_LABEL_TRANSFERREE_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Mutation_To_Label", + "value": { + "path": "PDF_STATIC_LABEL_MUTATION_TO_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Shri_Smt_Label", + "value": { + "path": "PDF_STATIC_LABEL_SHRI_SMT_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "approved_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPROVED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_COMMISSIONER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Property_ID", + "value": { + "path": "$.propertyId" + } + }, + { + "variable": "Mutation_Number", + "value": { + "path": "$.acknowldgementNumber" + } + }, + { + "variable": "Application_Number", + "value": { + "path": "$.acknowldgementNumber" + } + }, + { + "variable": "Transferrer_Name", + "value": { + "path": "$.owners[?(@.status == 'INACTIVE')].name" + } + }, + { + "variable": "Transferrer_Relation", + "value": { + "path": "$.owners[?(@.status == 'INACTIVE')].relationship" + }, + "localisation":{ + "required":true, + "prefix": "PT_MUTATION", + "module": "rainmaker-common" + } + }, + { + "variable": "Transferrer_Relative_Name", + "value": { + "path": "$.owners[?(@.status == 'INACTIVE')].fatherOrHusbandName" + } + }, + { + "variable": "Transferree_Name", + "value": { + "path": "$.owners[?(@.status == 'ACTIVE')].name" + } + }, + { + "variable": "Transferree_Relation", + "value": { + "path": "$.owners[?(@.status == 'ACTIVE')].relationship" + }, + "localisation":{ + "required":true, + "prefix": "PT_MUTATION", + "module": "rainmaker-common" + } + }, + { + "variable": "Transferree_Relative_Name", + "value": { + "path": "$.owners[?(@.status == 'ACTIVE')].fatherOrHusbandName" + } + }, + { + "variable": "Transferree_Address", + "value": { + "path": "$.owners[?(@.status == 'ACTIVE')].permanentAddress" + } + }, + { + "variable": "Transferree_City", + "value": { + "path": "$.owners[?(@.status == 'ACTIVE')].permanentCity" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"ULB_LOGO", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"ULB_ADDRESS", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"ULB_CITY", + "value":"$.MdmsRes.tenant.tenants[0].name" + }, + { + "variable":"CorporationContact_Value", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"corporationWebsite", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"corporationEmail", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + } + ] + }, + { + "path": "http://collection-services:8080/collection-services/payments/PT/_search", + "queryParam": "tenantId=$.tenantId,consumerCodes=$.acknowldgementNumber,businessServices=PT.MUTATION", + "apiRequest": null, + "responseMapping":[ + { + "variable":"Receipt_Number", + "value":"$.Payments[0].paymentDetails[0].receiptNumber" + } + + ] + }, + { + "path": "http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search", + "queryParam": "businessIds=$.acknowldgementNumber,history=true,tenantId=$.tenantId", + "apiRequest": null, + "responseMapping":[ + { + "variable":"approved_by_value", + "value":"$.ProcessInstances[?(@.action == 'APPROVE')].assigner.name" + }, + { + "variable":"Approval_Date", + "value":"$.ProcessInstances[?(@.action == 'APPROVE')].auditDetails.lastModifiedTime", + "type": "date" + } + + ] + } + + ] + } + ] + +} +] +} +} diff --git a/configs/pdf-service/data-config/sewerage-bill-amendment-note.json b/configs/pdf-service/data-config/sewerage-bill-amendment-note.json new file mode 100644 index 00000000..6123217b --- /dev/null +++ b/configs/pdf-service/data-config/sewerage-bill-amendment-note.json @@ -0,0 +1,617 @@ +{ + "key": "sw-bill-amendment-credit-note", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Amendments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.additionalDetails.ownerName" + } + }, + { + "variable": "permanentAddress", + "value": { + "path": "$.additionalDetails.ownerAddress" + } + }, + { + "variable": "date", + "value": { + "path": "$.userInfo.createdDate" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "paymentStatus", + "value": { + "path": "$.paymentStatus" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "sewerageInterest", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'SW_TIME_INTEREST')].taxAmount" + } + }, + { + "variable": "water_cess", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WATER_CESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "interest", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_INTEREST" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "penalty", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sewerage_charge", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_SEWERAGE_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "seweragePenalty", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'SW_TIME_PENALTY')].taxAmount" + } + }, + { + "variable": "arrears", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ARREARS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sewerageCharge", + "value": { + "path": "$.demandDetails[?(@.taxHeadMasterCode == 'SW_CHARGE')].taxAmount" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_amendment_application", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_APPLICATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demand_revision_basis_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_DEM_REV_BAS_DET" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demand_revision_basis", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_DEM_REV_BASIS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "court_order_no", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_COURT_ORDER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "with_effect_from", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WITH_EFFECT_FROM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "demandRevisionBasis", + "value": { + "path": "$.amendmentReason" + } + }, + { + "variable": "courtOrderNo", + "value": { + "path": "$.reasonDocumentNumber" + } + }, + { + "variable": "withEffectFrom", + "value": { + "path": "$.effectiveFrom" + } + }, + { + "variable": "court_order", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_COURT_ORDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "note_id", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "note_date", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "against", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_AGAINST" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "adjustment_amount_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_ADJUSTMENT_AMOUNT_DETAILS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rs", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_RS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "box_note", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_BOX_NOTE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "box_validity", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_NOTE_BOX_VALIDITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "self_declaration", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_SELF_DECLARATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "past_bills", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_PAST_BILLS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "courtOrder", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "selfDeclaration", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "pastBills", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "bill_amendment_application_number", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_APPLICATION_NUMBER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "adjustment_amount_details", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_ADJUSTMENT_AMOUNT_DETAILS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + + }, + { + "variable": "sl_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERIAL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "tax_heads", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_TAX_HEADS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "reduced_amount", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_REDUCED_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "note_type", + "value": { + "path": "$.additionalDetails.noteType" + }, + "localisation": { + "required": true, + "prefix": "PDF_STATIC_LABEL_BILL_AMENDMENT", + "module": "rainmaker-common" + } + }, + { + "variable": "water_tax", + "value": { + "path": "PDF_STATIC_LABEL_BILL_AMENDMENT_WATER_TAX" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "totalAmount", + "formula": "{{sewerageCharge}}+{{sewerageInterest}}+{{seweragePenalty}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].receiptFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/sw-bill.json b/configs/pdf-service/data-config/sw-bill.json new file mode 100644 index 00000000..c4b001aa --- /dev/null +++ b/configs/pdf-service/data-config/sw-bill.json @@ -0,0 +1,842 @@ +{ + "key": "sw-bill", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath": "$.billNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "total_amount_due", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_AMOUNT_DUE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_MOBILE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_PERIOD" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ISSUE_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_due_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_DUE_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "billing_summary_property_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILLING_SUMMARY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "property_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PROPERTY_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ARREARS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "advanceAdjusted_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ADVANCEADJUSTED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "advanceAvailable_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ADVANCEAVAILABLE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "charge_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_REBATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "others_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OTHERS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "important_message", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IMPORTANT_MESSAGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payment_received", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_PAYMENT_RECEIVED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "this_document", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_THIS_DOCUMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "this_is_a", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_THIS_IS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "assessment_payment", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_ASSESSSMENT_PAYMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "please_deposit", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_PLEASE_DEPOSIT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "if_the_tax", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_IF_THE_TAX" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "acknowledgement_for", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ACKNOWLEDGEMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "name_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_NAME_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_PAYMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "receivers_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_RECEIVERS_SIGNATURE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "totalAmountDue", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "total", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "mobileNo", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "oldConnectionNo", + "value": { + "path": "$.connection.oldConnectionNo" + } + }, { + "variable": "rate", + "value": { + "path": "$.additionalDetails.penaltyRate" + } + }, + { + "variable": "ledgerId", + "value": { + "path": "$.connection.additionalDetails.ledgerId" + } + }, + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "tenant", + "value": { + "path": "$.tenantId" + } + }, + { + "variable": "nameAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "billIssueDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "billDueDate", + "value": { + "path": "$.billDetails[0].expiryDate" + }, + "type": "date" + }, + { + "variable": "billdate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "consumerCode", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "taxCharge", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TAX' || @.taxHeadCode == 'TL_TAX' || @.taxHeadCode == 'FIRENOC_TAXES' || @.taxHeadCode == 'WS_CHARGE' || @.taxHeadCode == 'SW_CHARGE' )].amount" + } + }, + { + "variable": "timeRebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_REBATE' || @.taxHeadCode == 'WS_TIME_REBATE' || @.taxHeadCode == 'SW_TIME_REBATE')].amount" + } + }, + { + "variable": "adhocRebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_REBATE' || @.taxHeadCode == 'TL_ADHOC_REBATE' || @.taxHeadCode == 'FIRENOC_ADHOC_REBATE')].amount" + } + }, + { + "variable": "timePenalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_PENALTY' || @.taxHeadCode == 'WS_TIME_PENALTY' || @.taxHeadCode == 'SW_TIME_PENALTY')].amount" + } + }, + { + "variable": "adhocPenalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_PENALTY' || @.taxHeadCode == 'TL_ADHOC_PENALTY' || @.taxHeadCode == 'FIRENOC_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "firecess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_FIRE_CESS')].amount" + } + }, + { + "variable": "usageExemption", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_UNIT_USAGE_EXEMPTION')].amount" + } + }, + { + "variable": "roundoff", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ROUNDOFF' || @.taxHeadCode == 'TL_ROUNDOFF' || @.taxHeadCode == 'FIRENOC_ROUNDOFF' || @.taxHeadCode == 'WS_Round_Off' || @.taxHeadCode == 'SW_Round_Off')].amount" + } + }, + { + "variable": "fees", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'FIRENOC_FEES')].amount" + } + }, + { + "variable": "ownerExemption", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_OWNER_EXEMPTION')].amount" + } + }, + { + "variable": "cancerCess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_CANCER_CESS')].amount" + } + }, + { + "variable": "waterCess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'WS_WATER_CESS' || @.taxHeadCode == 'SW_SEWERAGE_CESS')].amount" + } + }, + { + "variable": "timeInterest", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_INTEREST' || @.taxHeadCode == 'WS_TIME_INTEREST' || @.taxHeadCode == 'SW_TIME_INTEREST')].amount" + } + }, + { + "variable": "ceilingDebit", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_DEBIT')].amount" + } + }, + { + "variable": "ceilingCredit", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_CREDIT')].amount" + } + }, + { + "variable": "carryForward", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'WS_ADVANCE_CARRYFORWARD' || @.taxHeadCode == 'SW_ADVANCE_CARRYFORWARD')].amount" + } + }, + { + "variable": "consumerID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "date", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "totalPayment", + "value": { + "path": "$.billDetails[0].amountPaid" + } + }, + { + "variable": "WS_arrears", + "value": { + "path": "$.arrearAmount" + } + }, + { + "variable": "WS_AdvanceAdjusted", + "value": { + "path": "$.AdvanceAdjustedValue" + } + }, + { + "variable": "scissorImage", + "url": "http://www.pngall.com/wp-content/uploads/2016/03/Scissor-PNG-Clipart.png", + "type": "image" + } + ] + }, + { + "derived": [ + { + "variable": "charge", + "formula": "{{ws_charge}}" + }, + { + "variable": "penalty", + "formula": "{{timePenalty}}+{{adhocPenalty}}" + }, + { + "variable": "rebate", + "formula": "{{timeRebate}}+{{adhocRebate}}" + }, + { + "variable": "billOthers", + "formula": "{{cancerCess}}+{{roundoff}}+{{timeInterest}}+{{ceilingDebit}}+{{ceilingCredit}}+{{firecess}}+{{waterCess}}" + }, + { + "variable": "demandTotalAmount", + "formula": "{{ws_roundoff}}+{{ws_charge}}+{{ws_water_cess}}+{{ws_time_interest}}+{{ws_time_penalty}}" + }, + { + "variable": "billTotalAmount", + "formula": "{{total}}" + }, + { + "variable": "arrears", + "formula": "{{billTotalAmount}}>{{demandTotalAmount}}?({{billTotalAmount}}-{{demandTotalAmount}}).toFixed(2):0" + }, + { + "variable": "advanceAdjusted", + "formula": "{{billTotalAmount}}>=0?({{billTotalAmount}}<{{demandTotalAmount}}?({{billTotalAmount}}-{{demandTotalAmount}}).toFixed(2):0):{{demandTotalAmount}} * -1" + }, + { + "variable": "advanceAvailable", + "formula": "{{billTotalAmount}}<0?{{billTotalAmount}}*-1:0" + }, + { + "variable": "others", + "formula": "({{ws_roundoff}}+{{ws_water_cess}}+{{ws_time_interest}}).toFixed(2)" + }, + { + "variable": "calculatedTotal", + "formula": "{{billTotalAmount}}>0?{{billTotalAmount}}:0" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "address", + "value": "$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable": "phoneNumber", + "value": "$.MdmsRes.tenant.tenants[0].contactNumber" + }, { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "website", + "value": "$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable": "email", + "value": "$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable": "logo_header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + }, + { + "path": "http://billing-service:8080/billing-service/demand/_search", + "queryParam": "tenantId=$.tenantId,consumerCode=$.consumerCode,businessService=SW,filter=%5B?(@.status=='ACTIVE')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "ws_advanceAmount", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'SW_ADVANCE_CARRYFORWARD')].taxAmount" + }, + { + "variable": "ws_roundoff", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'SW_Round_Off')].taxAmount" + }, + { + "variable": "ws_charge", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'SW_CHARGE')].taxAmount" + }, + { + "variable": "ws_water_cess", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'SW_WATER_CESS')].taxAmount" + }, + { + "variable": "ws_time_interest", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'SW_TIME_INTEREST')].taxAmount" + }, + { + "variable": "ws_time_penalty", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'SW_TIME_PENALTY')].taxAmount" + } + ] + }, + { + "path": "http://property-services.egov:8080/property-services/property/_search", + "queryParam": "tenantId=$.tenantId,propertyIds=$.connection.propertyId", + "apiRequest": null, + "responseMapping": [ + { + "variable": "usageType", + "value": "$.Properties[0].usageCategory" + }, + { + "variable": "plotSize", + "value": "$.Properties[0].landArea" + }, + { + "variable": "houseNo", + "value": "$.Properties[0].address.doorNo" + }, + { + "variable": "streetName", + "value": "$.Properties[0].address.street" + }, + { + "variable": "locality", + "value": "$.Properties[0].address.locality.name" + }, + { + "variable": "landmark", + "value": "$.Properties[0].address.landmark" + }, + { + "variable": "ownerName", + "value": "$.Properties[0].owners[0].name" + }, + { + "variable": "guardianName", + "value": "$.Properties[0].owners[0].fatherOrHusbandName" + } + + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/testconsolidatedreceipt.json b/configs/pdf-service/data-config/testconsolidatedreceipt.json new file mode 100644 index 00000000..7e996bb4 --- /dev/null +++ b/configs/pdf-service/data-config/testconsolidatedreceipt.json @@ -0,0 +1,476 @@ +{ + "key": "testconsolidatedreceipt", + "documentType":"CONSOLIDATED_RECEIPT", + "DataConfigs": { + "moduleName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/testlocalconsolidatedbill.json b/configs/pdf-service/data-config/testlocalconsolidatedbill.json new file mode 100644 index 00000000..a9d8bf77 --- /dev/null +++ b/configs/pdf-service/data-config/testlocalconsolidatedbill.json @@ -0,0 +1,535 @@ +{ + "key": "testlocalconsolidatedbill", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath":"$.billNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "logo_header", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_LOGO_HEADER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_amount_due", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_AMOUNT_DUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_MOBILE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "bill_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_due_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_DUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_summary_property_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILLING_SUMMARY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "property_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PROPERTY_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ARREARS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "charge_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CHARGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PENALTY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_REBATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "others_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OTHERS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "important_message", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IMPORTANT_MESSAGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_received", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYMENT_RECEIVED" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_document", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_DOCUMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_is_a", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_IS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "assessment_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ASSESSSMENT_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "please_deposit", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PLEASE_DEPOSIT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "if_the_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IF_THE_TAX" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "acknowledgement_for", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ACKNOWLEDGEMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "name_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_NAME_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receivers_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_RECEIVERS_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "totalAmountDue", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "total", + "value": { + "path": "$.totalAmount" + } + }, + + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + + { + "variable": "mobileNo", + "value": { + "path": "$.mobileNumber" + } + }, + + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "nameAddress", + "value": { + "path": "$.payerAddress" + } + }, + + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + } + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + } + }, + + { + "variable": "billIssueDate", + "value": { + "path": "$.billDate" + } + }, + + { + "variable": "billDueDate", + "value": { + "path": "$.billDetails[0].expiryDate" + } + }, + + { + "variable": "propertyID", + "value": { + "path": "$.consumerCode" + } + }, + + { + "variable": "arrears", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_PENALTY')].amount" + } + }, + + { + "variable": "charge", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + } + }, + + { + "variable": "rebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + } + }, + + { + "variable": "penalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TIME_REBATE')].amount" + } + }, + + { + "variable": "others", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode=='PT_TAX')].amount" + } + }, + + { + "variable": "consumerID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "date", + "value": { + "path": "$.billDate" + } + }, + { + "variable": "totalPayment", + "value": { + "path": "$.billDetails[0].amountPaid" + } + }, + { + "variable":"scissorImage", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + } + ] + }, + { + "derived": [ + { + "variable": "variable19", + "formula": "{{totalPayment}}-{{totalPayment}}" + } + ] + } + ] + } + ] + } + } \ No newline at end of file diff --git a/configs/pdf-service/data-config/testlocalconsolidatedreceipt.json b/configs/pdf-service/data-config/testlocalconsolidatedreceipt.json new file mode 100644 index 00000000..1c5af18a --- /dev/null +++ b/configs/pdf-service/data-config/testlocalconsolidatedreceipt.json @@ -0,0 +1,457 @@ +{ + "key": "consolidatedreceipt", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.paymentDetails[0].receiptNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + } + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + } + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].manualReceiptDate" + } + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + } + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "logoImage", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + }, + { + "variable": "logo-header", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT.LOGO.HEADER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": "", + "module":"rainmaker-common" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='$.tenantId')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + } + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/configs/pdf-service/data-config/tl-receipt.json b/configs/pdf-service/data-config/tl-receipt.json new file mode 100644 index 00000000..a97933bd --- /dev/null +++ b/configs/pdf-service/data-config/tl-receipt.json @@ -0,0 +1,236 @@ +{ + "key":"tl-receipt", + "DataConfigs": { + "serviceName": "rainmaker-tl", + "version": "1.0.0", + "baseKeyPath": "$.Licenses.*", + "entityIdPath":"$.applicationNumber", + "isCommonTableBorderRequired":true, + "mappings": [ + { + "topic": "tl-pdf-generation", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + + { + "variable": "variable1", + "value": { + "path":"$.tradeLicenseDetail.additionalDetail.applicationType" + }, + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_APPLICATIONTYPE", + "module":"rainmaker-tl" + } + }, + { + "variable": "variable33", + "url":"https://s3.ap-south-1.amazonaws.com/pb-egov-assets/pb.amritsar/logo.png", + "type":"image" + }, + { + "variable": "variable30", + "value": { + "path":"$.tenantId" + }, + "localisation":{ + "required":true, + "prefix":"TENANT_TENANTS", + "module":"rainmaker-common" + }, + "isUpperCaseRequired":true + }, + { + "variable": "variable31", + "type":"citizen-employee-title" + }, + { + "variable": "variable2", + "value": { + "path":"$.oldLicenseNumber" + } + }, + { + "variable": "variable3", + "value":{ + "path":"$.applicationNumber" + } + }, + { + "variable": "variable4", + "value": { + "path":"$.financialYear" + } + }, + { + "variable": "variable5", + "value": { + "path":"$.tradeName" + } + }, + { + "variable": "variable6", + "value": { + "path":"$.tradeLicenseDetail.tradeUnits[*].tradeType" + }, + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_TRADETYPE", + "module":"rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "variable7", + "value": { + "path":"$.tradeLicenseDetail.tradeUnits[*].tradeType" + }, + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_TRADETYPE", + "module":"rainmaker-tl", + "isMainTypeRequired":true, + "isSubTypeRequired":true + } + }, + { + "variable": "variable8", + "value": { + "path":"$.tradeLicenseDetail.accessories[*].accessoryCategory" + }, + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_ACCESSORIESCATEGORY", + "module":"rainmaker-tl" + } + }, + { + "variable": "variable9", + "value": { + "path":"$.tradeLicenseDetail.address.doorNo" + } + }, + { + "variable": "variable10", + "value": { + "path":"$.tradeLicenseDetail.address.buildingName" + } + }, + { + "variable": "variable11", + "value": { + "path":"$.tradeLicenseDetail.address.street" + } + }, + { + "variable": "variable12", + "value": { + "path":"$.tradeLicenseDetail.address.locality.name" + } + }, + { + "variable": "variable13", + "value":{ + "path":"$.tradeLicenseDetail.owners.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "key":"name" + }, + { + "key":"mobileNumber" + }] + } + } + ] + }, + { + "derived": [ + { + "variable": "variable32", + "formula": "{{variable19}}-{{variable20}}" + } + ] + }, + { + "externalAPI": [ + + { + + "path": "http://collection-services:8080/collection-services/receipts/_search", + "queryParam": "consumerCode=$.applicationNumber", + + + "apiRequest": null, + + "responseMapping":[ + { + "variable":"variable16", + "value":"$.Receipt[0].receiptNumber" + }, + { + "variable":"variable17", + "value":"$.Receipt[0].instrument.transactionDateInput" + }, + { + "variable":"variable18", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='TL_TAX')].amount" + }, + { + "variable":"variable19", + "value":"$.Receipt[0].Bill[0].billDetails[0].totalAmount" + }, + { + "variable":"variable20", + "value":"$.Receipt[0].Bill[0].billDetails[0].amountPaid" + }, + { + "variable":"variable21", + "value":"$.Receipt[0].instrument.instrumentType.name" + }, + { + "variable":"variable22", + "value":"$.Receipt[0].transactionId" + }, + { + "variable":"variable23", + "value":"$.Receipt[0].instrument.bank.name" + }, + { + "variable":"variable24", + "value":"$.Receipt[0].Bill[0].billDetails[0].manualReceiptNumber" + }, + { + "variable":"variable25", + "value":"$.Receipt[0].Bill[0].billDetails[0].manualReceiptDate" + }, + { + "variable":"variable26", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='TL_TIME_PENALTY')].amount" + }, + { + "variable":"variable27", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='TL_TIME_REBATE')].amount" + }, + { + "variable":"variable28", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='TL_ADHOC_PENALTY')].amount" + }, + { + "variable":"variable29", + "value":"$.Receipt[0].Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode=='TL_ADHOC_REBATE')].amount" + } + ] + } + ] + } + ] + } + ] + } + } diff --git a/configs/pdf-service/data-config/tlapplication.json b/configs/pdf-service/data-config/tlapplication.json new file mode 100644 index 00000000..7673bf3f --- /dev/null +++ b/configs/pdf-service/data-config/tlapplication.json @@ -0,0 +1,1073 @@ +{ + "key": "tlapplication", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Licenses.*", + "entityIdPath":"$.applicationNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "applicationNumber", + "value": { + "path": "$.applicationNumber" + } + }, + { + "variable": "applicationType", + "value": { + "path": "$.applicationType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_APPLICATIONTYPE", + "module": "rainmaker-tl" + } + }, + { + "variable": "oldLicenseNumber", + "value": { + "path": "$.oldLicenseNumber" + } + }, + { + "variable": "licenseType", + "value": { + "path": "$.licenseType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_LICENSETYPE", + "module": "rainmaker-tl" + } + }, + { + "variable": "tradeName", + "value": { + "path": "$.tradeName" + } + }, + { + "variable": "structureType", + "value": { + "path": "$.tradeLicenseDetail.structureType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "structureSubType", + "value": { + "path": "$.tradeLicenseDetail.structureType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "commencementDate", + "value": { + "path": "$.commencementDate" + }, + "type": "date" + }, + { + "variable": "tradeGstNo", + "value": { + "path": "$.tradeLicenseDetail.additionalDetail.gstNo" + } + }, + { + "variable": "operationalArea", + "value": { + "path": "$.tradeLicenseDetail.operationalArea" + } + }, + { + "variable": "noOfEmployees", + "value": { + "path": "$.tradeLicenseDetail.noOfEmployees" + } + }, + { + "variable": "tradeCategory", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "tradeType1", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isMainTypeRequired":true + } + }, + { + "variable": "tradeSubType", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "uomMeasurement", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].uom" + } + }, + { + "variable": "uomValue1", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].uomValue" + } + }, + { + "variable": "propertyAssessmentId", + "value": { + "path": "$.propertyId" + } + }, + { + "variable": "city", + "value": { + "path": "$..tradeLicenseDetail.address.city" + }, + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + + }, + { + "variable": "doorHouseNo", + "value": { + "path": "$.tradeLicenseDetail.address.doorNo" + } + }, + { + "variable": "buildingColonyName", + "value": { + "path": "$.tradeLicenseDetail.address.buildingName" + } + }, + { + "variable": "streetName", + "value": { + "path": "$.tradeLicenseDetail.address.street" + } + }, + { + "variable": "pincode", + "value": { + "path": "$.tradeLicenseDetail.address.pincode" + } + }, + { + "variable": "ownershipProof", + "value": { + "path": "$.additionalDetails.documents[?(@.title == 'TL_OWNERSHIPPROOF')].name" + } + }, + { + "variable": "ownersIdProof", + "value": { + "path": "$.additionalDetails.documents[?(@.title == 'TL_OWNERIDPROOF')].name" + } + }, + { + "variable": "ownerPhoto", + "value": { + "path": "$.additionalDetails.documents[?(@.title == 'TL_OWNERPHOTO')].name" + } + }, + { + "variable": "electricityConnectionNo", + "value": { + "path": "$.tradeLicenseDetail.additionalDetail.electricityConnectionNo" + } + }, + { + "variable": "typeOfOwnership", + "value": { + "path": "$.tradeLicenseDetail.subOwnerShipCategory" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_OWNERSHIPCATEGORY", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + + }, + { + "variable": "typeOfSubOwnership", + "value": { + "path": "$.tradeLicenseDetail.subOwnerShipCategory" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_OWNERSHIPCATEGORY", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "mobileNo", + "value": { + "path": "$..tradeLicenseDetail.owners[0].mobileNumber" + } + }, + { + "variable": "altContactNumber", + "value": { + "path": "$.tradeLicenseDetail.owners[0].altContactNumber" + } + }, + { + "variable": "name", + "value": { + "path": "$.tradeLicenseDetail.owners[0].name" + } + }, + { + "variable": "fatherHusbandName", + "value": { + "path": "$.tradeLicenseDetail.owners[0].fatherOrHusbandName" + } + }, + { + "variable": "relationship", + "value": { + "path": "$.tradeLicenseDetail.owners[0].relationship" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_RELATION", + "module": "rainmaker-tl" + } + }, + { + "variable": "gender", + "value": { + "path": "$.tradeLicenseDetail.owners[0].gender" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_GENDER", + "module": "rainmaker-common" + } + }, + { + "variable": "dateOfBirth", + "value": { + "path": "$.tradeLicenseDetail.owners[0].dob" + }, + "type": "date" + }, + { + "variable": "email", + "value": { + "path": "$.tradeLicenseDetail.owners[0].emailId" + } + }, + { + "variable": "panNo", + "value": { + "path": "$.tradeLicenseDetail.owners[0].pan" + } + }, + { + "variable": "correspondenceAddress", + "value": { + "path": "$.tradeLicenseDetail.owners[0].permanentAddress" + } + }, + { + "variable": "specialOwnerCategory", + "value": { + "path": "$.tradeLicenseDetail.owners[0].ownerType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_OWNERTYPE", + "module":"rainmaker-common" + } + + }, + { + "variable": "trade_license_application", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_LOGO_HEADER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_APPLICATION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TOTAL_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_LICENSE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_REBATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_PENALTY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_details", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_DETAILS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "application_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_APPLICATION_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "old_application_number", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_OLD_APPLICATION_NUMBER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "licence_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_LICENSE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "structure_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_STRUCTURE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "structure_sub_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_STRUCTURE_SUB_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_commencement", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_COMMENCEMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_gst_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_GST" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "operational_area", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_OPERATIONAL_AREA" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_of_employees", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_NO_OF_EMPLOYEES" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_category", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_CATEGORY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_sub_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_SUB_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_measurement", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM_MEASUREMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accesory_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ACCESORY_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_value", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM_VALUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accessory_count", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ACCESORY_COUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "property_assessment_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_PROPERTY_ASSESSMENT_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "city_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_CITY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "door_house_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_DOOR_HOUSE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "building_colony_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_BUILDING_COLONY_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "street_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_STREET_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "mohalla_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_MOHALLA" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pincode_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_PINCODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "electricity_connection_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ELECTRICITY_CONNECTION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "owner_details", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_OWNER_DETAILS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "type_of_ownership", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TYPE_OF_OWNERSHIP" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "type_of_sub_ownership", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_SUB_OWNERSHIP" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_MOBILE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "name_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "father_husband", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_FATHER_HUSBAND" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "relationship_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RELATIONSHIP" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "gender_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_GENDER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "date_of_birth", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_DATE_OF_BIRTH" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "email_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_EMAIL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pan_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_PAN_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "correspondance_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_CORRESPONDANCE_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "special_owner", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_SPECIAL_OWNER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "documents_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_DOCUMENTS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "ownership_proof", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_OWNERSHIP_PROOF" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "owners_id_proof", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_OWNERS_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "owner_photo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_OWNERSHIP_PHOTO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "variable13", + "value":{ + "path":"$.tradeLicenseDetail.tradeUnits.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "tradeCat", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "tradetyp", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isMainTypeRequired":true + } + }, + { + "variable": "tradesub", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "UOM-measurement", + "value":"uom" + }, + { + "variable":"uomValue", + "value":"uomValue" + } + ] + } + }, + { + "variable": "variable14", + "value":{ + "path":"$.tradeLicenseDetail.accessories.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "accesoryType", + "value": "accessoryCategory", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_ACCESSORIESCATEGORY", + "module": "rainmaker-tl" + } + }, + { + "variable": "accessoryUomValue", + "value": "uomValue" + }, + + { + "variable": "uom", + "value": "uom" + }, + { + "variable": "accessoryCount", + "value": "count" + } + + ] + } + } + + + + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-location:8080/egov-location/location/v11/boundarys/_search", + "queryParam": "tenantId=$.tenantId,hierarchyTypeCode=REVENUE,boundaryType=Locality,codes=$.tradeLicenseDetail.address.locality.code", + "apiRequest": null, + "responseMapping":[ + { + "variable":"mohalla", + "value":"$.TenantBoundary[0].boundary[0].name" + } + ] + }, + { + "path": "http://billing-service:8080/billing-service/bill/v2/_search", + "queryParam": "tenantId=$.tenantId,consumerCode=$.applicationNumber,businessService=TL", + "apiRequest": null, + "responseMapping":[ + { + "variable":"totalAmount", + "value":"$.Bill[0].totalAmount" + }, + { + "variable":"tradeLicenseTax", + "value":"$.Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_TAX')].amount" + }, + { + "variable":"billStatus", + "value":"$.Bill[0].status" + }, + { + "variable":"rebate", + "value":"$.Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ADHOC_REBATE')].amount" + }, + { + "variable":"penalty", + "value":"$.Bill[0].billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ADHOC_PENALTY')].amount" + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/tlcertificate.json b/configs/pdf-service/data-config/tlcertificate.json new file mode 100644 index 00000000..2756e470 --- /dev/null +++ b/configs/pdf-service/data-config/tlcertificate.json @@ -0,0 +1,731 @@ +{ + "key": "tlcertificate", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Licenses.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + }, + { + "variable": "tradeLicenseNo", + "value": { + "path": "$.licenseNumber" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNumber" + } + }, + { + "variable": "financialYear", + "value": { + "path": "$.financialYear" + } + }, + { + "variable": "tradeName", + "value": { + "path": "$.tradeName" + } + }, + { + "variable": "tradeOwnerName", + "value": { + "path": "$.tradeLicenseDetail.owners[0].name" + } + }, + { + "variable": "tradeOwnerContact", + "value": { + "path": "$.tradeLicenseDetail.owners[0].mobileNumber" + } + }, + { + "variable": "tradeAddress", + "value": { + "path": "$.tradeLicenseDetail.address.locality.code" + } + }, + { + "variable": "doorNo", + "value": { + "path": "$.tradeLicenseDetail.address.doorNo" + } + }, + { + "variable": "structureType", + "value": { + "path": "$.tradeLicenseDetail.structureType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "structureSubType", + "value": { + "path": "$.tradeLicenseDetail.structureType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "streetName", + "value": { + "path": "$.tradeLicenseDetail.address.street" + } + }, + { + "variable": "buildingName", + "value": { + "path": "$.tradeLicenseDetail.address.buildingName" + } + }, + { + "variable": "city", + "value": { + "path": "$.tradeLicenseDetail.address.city" + }, + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "tradeType", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl" + } + }, + + { + "variable": "variable13", + "value":{ + "path":"$.tradeLicenseDetail.tradeUnits.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "tradeCat", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "tradetyp", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isMainTypeRequired":true + } + }, + { + "variable": "tradesub", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "UOM-measurement", + "value":"uom" + }, + { + "variable":"uomValue", + "value":"uomValue" + } + ] + } + }, + { + "variable": "variable14", + "value":{ + "path":"$.tradeLicenseDetail.accessories.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "accesoryType", + "value": "accessoryCategory", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_ACCESSORIESCATEGORY", + "module": "rainmaker-tl" + } + }, + { + "variable": "accessoryUomValue", + "value": "uomValue" + }, + + { + "variable": "uom", + "value": "uom" + }, + { + "variable": "accessoryCount", + "value": "count" + } + + ] + } + + }, + { + "variable": "variable_owners", + "value": {"path":"$.tradeLicenseDetail.owners[?(@.active== true && @.userActive== true)]"}, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "name", + "value": "name", + "type":"string" + }, + { + "variable": "fatherOrHusbandName", + "value": "fatherOrHusbandName", + "type":"string" + }, + + { + "variable": "permanentAddress", + "value": "permanentAddress", + "type":"string" + }, + { + "variable": "mobileNumber", + "value": "mobileNumber", + "type":"string" + } + + ] + } + }, + + + { + "variable": "accessories", + "value": { + "path": "$.tradeLicenseDetail.accessories[0].accessoryCategory" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_ACCESSORIESCATEGORY", + "module": "rainmaker-tl" + } + + }, + { + "variable": "licenseIssueDate", + "value": { + "path": "$.issuedDate" + }, + "type": "date" + }, + { + "variable": "licenseValidityFrom", + "value": { + "path": "$.validFrom" + }, + "type": "date" + }, + { + "variable": "licenseValidityTo", + "value": { + "path": "$.validTo" + }, + "type": "date" + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "municipal_corportaion", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_website", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_WEBSITE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_category", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_CATEGORY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_sub_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_SUB_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_measurement", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM_MEASUREMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accesory_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ACCESORY_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_value", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM_VALUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accessory_count", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ACCESORY_COUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_email", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_EMAIL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_certificate", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CERTIFICATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPLICATION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "reciept_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_RECIEPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "financial_year", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_FINANCIAL_YEAR" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_owner_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_OWNER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_owner_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_OWNER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accessories_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_ACCESSORIES_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_fee", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_LICENSE_FEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_validity", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_VALIDITY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "approved_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPROVED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_COMMISSIONER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclaimer", + "value": { + "path": "TL_CERTIFICATE_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"ulb-address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"corporationContact", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"corporationWebsite", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"corporationEmail", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + } + ] + }, + { + "path": "http://collection-services:8080/collection-services/payments/TL/_search", + "queryParam": "tenantId=$.tenantId,consumerCodes=$.applicationNumber,businessServices=TL", + "apiRequest": null, + "responseMapping":[ + { + "variable":"tradeLicenseFee", + "value":"$.Payments[0].totalAmountPaid" + }, + { + "variable":"recieptNo", + "value":"$.Payments[0].paymentDetails[0].receiptNumber" + } + + ] + }, + { + "path": "http://egov-location:8080/egov-location/location/v11/boundarys/_search", + "queryParam": "tenantId=$.tenantId,hierarchyTypeCode=REVENUE,boundaryType=Locality,codes=$.tradeLicenseDetail.address.locality.code", + "apiRequest": null, + "responseMapping":[ + { + "variable":"localityNName", + "value":"$.TenantBoundary[0].boundary[0].name" + } + ] + }, + + { + "path": "http://egov-filestore:8080/filestore/v1/files/url", + "queryParam": "tenantId=pb,fileStoreIds=$.tradeLicenseDetail.applicationDocuments[?(@.documentType== 'OWNERPHOTO')].fileStoreId", + "apiRequest": null, + "requesttype": "GET", + "responseMapping":[ + { + "variable":"userpic", + "value":"$.fileStoreIds[0].url", + "type": "image" + } + ] + }, + { + "path": "http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search", + "queryParam": "businessIds=$.applicationNumber,history=true,tenantId=$.tenantId", + "apiRequest": null, + "responseMapping":[ + { + "variable":"approvedBy", + "value":"$.ProcessInstances[?(@.action == 'APPROVE')].assigner.name" + } + + ] + } + + ] + } + ] + +} +] +} +} diff --git a/configs/pdf-service/data-config/tlrenewalcertificate.json b/configs/pdf-service/data-config/tlrenewalcertificate.json new file mode 100644 index 00000000..92f21289 --- /dev/null +++ b/configs/pdf-service/data-config/tlrenewalcertificate.json @@ -0,0 +1,729 @@ +{ + "key": "tlrenewalcertificate", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Licenses.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "mappings": [ + { + "direct": [ + { + "variable": "logoImage", + "url":"https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type":"image" + }, + { + "variable": "tradeLicenseNo", + "value": { + "path": "$.licenseNumber" + } + }, + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNumber" + } + }, + { + "variable": "financialYear", + "value": { + "path": "$.financialYear" + } + }, + { + "variable": "tradeName", + "value": { + "path": "$.tradeName" + } + }, + { + "variable": "tradeOwnerName", + "value": { + "path": "$.tradeLicenseDetail.owners[0].name" + } + }, + { + "variable": "tradeOwnerContact", + "value": { + "path": "$.tradeLicenseDetail.owners[0].mobileNumber" + } + }, + { + "variable": "tradeAddress", + "value": { + "path": "$.tradeLicenseDetail.address.locality.code" + } + }, + { + "variable": "doorNo", + "value": { + "path": "$.tradeLicenseDetail.address.doorNo" + } + }, + { + "variable": "structureType", + "value": { + "path": "$.tradeLicenseDetail.structureType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "structureSubType", + "value": { + "path": "$.tradeLicenseDetail.structureType" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "streetName", + "value": { + "path": "$.tradeLicenseDetail.address.street" + } + }, + { + "variable": "buildingName", + "value": { + "path": "$.tradeLicenseDetail.address.buildingName" + } + }, + { + "variable": "city", + "value": { + "path": "$.tradeLicenseDetail.address.city" + }, + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + }, + { + "variable": "tradeType", + "value": { + "path": "$.tradeLicenseDetail.tradeUnits[0].tradeType" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl" + } + }, + + { + "variable": "variable13", + "value":{ + "path":"$.tradeLicenseDetail.tradeUnits.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "tradeCat", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "tradetyp", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isMainTypeRequired":true + } + }, + { + "variable": "tradesub", + "value":"tradeType", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "UOM-measurement", + "value":"uom" + }, + { + "variable":"uomValue", + "value":"uomValue" + } + ] + } + }, + { + "variable": "variable14", + "value":{ + "path":"$.tradeLicenseDetail.accessories.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "accesoryType", + "value": "accessoryCategory", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_ACCESSORIESCATEGORY", + "module": "rainmaker-tl" + } + }, + { + "variable": "accessoryUomValue", + "value": "uomValue" + }, + + { + "variable": "uom", + "value": "uom" + }, + { + "variable": "accessoryCount", + "value": "count" + } + + ] + } + + }, + { + "variable": "variable_owners", + "value": {"path":"$.tradeLicenseDetail.owners[?(@.active== true && @.userActive== true)]"}, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "name", + "value": "name", + "type":"string" + }, + { + "variable": "fatherOrHusbandName", + "value": "fatherOrHusbandName", + "type":"string" + }, + + { + "variable": "permanentAddress", + "value": "permanentAddress", + "type":"string" + }, + { + "variable": "mobileNumber", + "value": "mobileNumber", + "type":"string" + } + + ] + } + }, + { + "variable": "accessories", + "value": { + "path": "$.tradeLicenseDetail.accessories[0].accessoryCategory" + }, + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_ACCESSORIESCATEGORY", + "module": "rainmaker-tl" + } + + }, + { + "variable": "licenseIssueDate", + "value": { + "path": "$.issuedDate" + }, + "type": "date" + }, + { + "variable": "licenseValidityFrom", + "value": { + "path": "$.validFrom" + }, + "type": "date" + }, + { + "variable": "licenseValidityTo", + "value": { + "path": "$.validTo" + }, + "type": "date" + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "municipal_corportaion", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_website", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_WEBSITE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_category", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_CATEGORY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_sub_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TRADE_SUB_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_measurement", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM_MEASUREMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accesory_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ACCESORY_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "uom_value", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_UOM_VALUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accessory_count", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_ACCESORY_COUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "corporation_email", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CORPORATION_EMAIL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_certifcate", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_CERTIFICATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPLICATION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "reciept_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_RECIEPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "financial_year", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_FINANCIAL_YEAR" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_owner_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_OWNER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_owner_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_OWNER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "accessories_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_ACCESSORIES_LABEL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "trade_license_fee", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_TRADE_LICENSE_FEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "license_validity", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_LICENSE_VALIDITY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "approved_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_APPROVED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLCERTIFICATE_COMMISSIONER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclaimer", + "value": { + "path": "TL_CERTIFICATE_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"ulb-address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"corporationContact", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"corporationWebsite", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"corporationEmail", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + } + ] + }, + { + "path": "http://collection-services:8080/collection-services/payments/TL/_search", + "queryParam": "tenantId=$.tenantId,consumerCodes=$.applicationNumber,businessServices=TL", + "apiRequest": null, + "responseMapping":[ + { + "variable":"tradeLicenseFee", + "value":"$.Payments[0].totalAmountPaid" + }, + { + "variable":"recieptNo", + "value":"$.Payments[0].paymentDetails[0].receiptNumber" + } + + ] + }, + { + "path": "http://egov-location:8080/egov-location/location/v11/boundarys/_search", + "queryParam": "tenantId=$.tenantId,hierarchyTypeCode=REVENUE,boundaryType=Locality,codes=$.tradeLicenseDetail.address.locality.code", + "apiRequest": null, + "responseMapping":[ + { + "variable":"localityNName", + "value":"$.TenantBoundary[0].boundary[0].name" + } + ] + }, + + { + "path": "http://egov-filestore:8080/filestore/v1/files/url", + "queryParam": "tenantId=pb,fileStoreIds=$.tradeLicenseDetail.applicationDocuments[?(@.documentType== 'OWNERPHOTO')].fileStoreId", + "apiRequest": null, + "requesttype": "GET", + "responseMapping":[ + { + "variable":"userpic", + "value":"$.fileStoreIds[0].url", + "type": "image" + } + ] + }, + { + "path": "http://egov-workflow-v2.egov:8080/egov-workflow-v2/egov-wf/process/_search", + "queryParam": "businessIds=$.applicationNumber,history=true,tenantId=$.tenantId", + "apiRequest": null, + "responseMapping":[ + { + "variable":"approvedBy", + "value":"$.ProcessInstances[?(@.action == 'APPROVE')].assigner.name" + } + + ] + } + + ] + } + ] + +} +] +} +} diff --git a/configs/pdf-service/data-config/tradelicense-bill.json b/configs/pdf-service/data-config/tradelicense-bill.json new file mode 100644 index 00000000..0e012f7d --- /dev/null +++ b/configs/pdf-service/data-config/tradelicense-bill.json @@ -0,0 +1,644 @@ +{ + "key": "tradelicense-bill", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "total_amount_due", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_AMOUNT_DUE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_MOBILE_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "bill_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ISSUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "bill_due_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_DUE_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_summary_property_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILLING_SUMMARY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "tl_application_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TL_APPLICATION_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ARREARS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "charge_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CHARGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PENALTY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_REBATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "others_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OTHERS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "important_message", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IMPORTANT_MESSAGE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_received", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYMENT_RECEIVED" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_document", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_DOCUMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "this_is_a", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_THIS_IS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "assessment_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ASSESSSMENT_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "please_deposit", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PLEASE_DEPOSIT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "if_the_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IF_THE_TAX" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "acknowledgement_for", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ACKNOWLEDGEMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "$.businessService" + }, + "localisation":{ + "required":true, + "prefix": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_ID", + "module":"rainmaker-common" + } + }, + { + "variable": "name_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_NAME_ADDRESS" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "total_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_PAYMENT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receivers_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_RECEIVERS_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "totalAmountDue", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "total", + "value": { + "path": "$.totalAmount" + } + }, + + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + + { + "variable": "mobileNo", + "value": { + "path": "$.mobileNumber" + } + }, + + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "nameAddress", + "value": { + "path": "$.payerAddress" + } + }, + + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + }, + "type": "date" + }, + + { + "variable": "billIssueDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + + { + "variable": "billDueDate", + "value": { + "path": "$.billDetails[0].expiryDate" + }, + "type": "date" + }, + { + "variable": "billdate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + + { + "variable": "propertyID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "fees", + "value":{ + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_TAX' || @.taxHeadCode == 'TL_RENEWAL_TAX')].amount" + } + }, + { + "variable": "tl_penalty", + "value":{ + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_PENALTY' || @.taxHeadCode == 'TL_RENEWAL_PENALTY')].amount" + } + }, + { + "variable": "tl_rebate", + "value":{ + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_REBATE' || @.taxHeadCode == 'TL_RENEWAL_REBATE')].amount" + } + }, + { + "variable": "tl_adhoc_penalty", + "value":{ + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ADHOC_PENALTY' || @.taxHeadCode == 'TL_RENEWAL_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "tl_adhoc_rebate", + "value":{ + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ADHOC_REBATE' || @.taxHeadCode == 'TL_RENEWAL_ADHOC_REBATE')].amount" + } + }, + { + "variable": "tl_roundoff", + "value":{ + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ROUNDOFF')].amount" + } + }, + { + "variable": "consumerID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "date", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "totalPayment", + "value": { + "path": "$.billDetails[0].amountPaid" + } + }, + { + "variable":"scissorImage", + "url":"http://www.pngall.com/wp-content/uploads/2016/03/Scissor-PNG-Clipart.png", + "type":"image" + } + ] + }, + { + "derived": [ + { + "variable": "charge", + "formula": "{{fees}}" + }, + { + "variable": "penalty", + "formula": "{{tl_penalty}}+{{tl_adhoc_penalty}}" + }, + { + "variable": "rebate", + "formula": "{{tl_rebate}}+{{tl_adhoc_rebate}}" + }, + { + "variable": "others", + "formula": "{{tl_roundoff}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable": "logo_header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].billFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + } + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/configs/pdf-service/data-config/tradelicense-receipt.json b/configs/pdf-service/data-config/tradelicense-receipt.json new file mode 100644 index 00000000..0ac82d6c --- /dev/null +++ b/configs/pdf-service/data-config/tradelicense-receipt.json @@ -0,0 +1,747 @@ +{ + "key": "tradelicense-receipt", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath":"$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type":"selectFromRequestInfo" + }, + { + "variable": "userName", + "value": { + "path": "$.additionalDetails.collectedBy" + } + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "ifsc", + "value": { + "path": "$.ifscCode" + } + }, + { + "variable": "bank", + "value": { + "path": "$.additionalDetails[0].bankName" + } + }, + { + "variable": "branch", + "value": { + "path": "$.additionalDetails[0].branchName" + } + }, + { + "variable": "add", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].additionalDetails.address" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix":"MODULE", + "module":"rainmaker-common" + } + }, + { + "variable": "renewalTradeFee", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_RENEWAL_TAX')].amount" + } + }, + { + "variable": "newTradeFee", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_TAX')].amount" + } + }, + { + "variable": "renewalPenalty", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_RENEWAL_PENALTY')].amount" + } + }, + { + "variable": "adhocRebate", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ADHOC_REBATE')].amount" + } + }, + { + "variable": "adhocPenalty", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'TL_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "chequeNo", + "value": { + "path": "$.instrumentNumber" + } + }, + { + "variable": "chequeDate", + "value": { + "path": "$.instrumentDate" + }, + "type": "date" + }, + { + "variable": "chequeNo", + "value": { + "path": "$.instrumentNumber" + } + }, + { + "variable": "chequeDate", + "value": { + "path": "$.instrumentDate" + }, + "type": "date" + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "G8ReceiptNo", + "value": { + "path": "$.paymentDetails[0].manualReceiptNumber" + } + }, + { + "variable": "G8ReceiptDate", + "value": { + "path": "$.paymentDetails[0].manualReceiptDate" + }, + "type": "date" + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].bill.totalAmount" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation":{ + "required":true, + "prefix": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_ID", + "module":"rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_NO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "g8_receipt_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_G8_RECEIPT_DATE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{dueAmount}}-{{paidAmount}}" + }, + { + "variable": "tradeFee", + "formula": "{{renewalTradeFee}}+{{newTradeFee}}" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable":"address", + "value":"$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.ulbType" + }, + { + "variable":"phoneNumber", + "value":"$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable":"website", + "value":"$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable":"email", + "value":"$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type":"image" + }, + { + "variable": "logo-header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + }, + + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=footer&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}' %26%26 @.service=='{$.paymentDetails[0].businessService}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "variable11", + "value": "$.MdmsRes.tenant.footer[0].receiptFooterContent.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"disclaimerContent", + "value":"disclaimer", + "type":"string", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + } + } + ] + }, + { + "path": "http://tl-services.egov:8080/tl-services/v1/_search", + "queryParam": "tenantId=$.tenantId,applicationNumber=$.paymentDetails[0].bill.consumerCode", + "apiRequest": null, + "responseMapping":[ + { + "variable":"applicationType", + "value":"$.Licenses[0].applicationType" + }, + { + "variable":"penaltyComments", + "value":"$.Licenses[0].tradeLicenseDetail.additionalDetail.penaltyComments" + }, + { + "variable":"rebateComments", + "value":"$.Licenses[0].tradeLicenseDetail.additionalDetail.rebateComments" + }, + { + "variable":"licenseNumber", + "value":"$.Licenses[0].licenseNumber" + }, + { + "variable":"oldLicenseNumber", + "value":"$.Licenses[0].oldLicenseNumber" + }, + { + "variable":"financialYear", + "value":"$.Licenses[0].financialYear" + }, + { + "variable":"tradeName", + "value":"$.Licenses[0].tradeName" + },{ + "variable":"tradeBuilding", + "value":"$.Licenses[0].tradeLicenseDetail.address.buildingName" + },{ + "variable":"tradeDoor", + "value":"$.Licenses[0].tradeLicenseDetail.address.doorNo" + },{ + "variable":"tradeStreet", + "value":"$.Licenses[0].tradeLicenseDetail.address.street" + }, + { + "variable":"adhocRebateReason", + "value":"$.Licenses[0].tradeLicenseDetail.adhocExemptionReason", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-tl" + } + }, + { + "variable":"adhocPenaltyReason", + "value":"$.Licenses[0].tradeLicenseDetail.adhocPenaltyReason", + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-tl" + } + }, + { + "variable": "structureType", + "value": "$.Licenses[0].tradeLicenseDetail.structureType", + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "structureSubType", + "value": "$.Licenses[0].tradeLicenseDetail.structureType", + "localisation":{ + "required":true, + "prefix": "COMMON_MASTERS_STRUCTURETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + }, + { + "variable": "variable_acc", + "value": "$.Licenses[0].tradeLicenseDetail.accessories.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "accesoryType", + "value": "accessoryCategory", + "type":"string", + "localisation":{ + "required":true, + "prefix": "TRADELICENSE_ACCESSORIESCATEGORY", + "module": "rainmaker-tl" + } + }, + { + "variable": "accessoryUomValue", + "value": "uomValue", + "type":"string" + }, + + { + "variable": "uom", + "value": "uom", + "type":"string" + }, + { + "variable": "accessoryCount", + "value": "count", + "type":"string" + } + + ] + } + }, + { + "variable": "variable_owners", + "value": "$.Licenses[0].tradeLicenseDetail.owners[?(@.active== true && @.userActive== true)]", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "name", + "value": "name", + "type":"string" + }, + { + "variable": "fatherOrHusbandName", + "value": "fatherOrHusbandName", + "type":"string" + }, + + { + "variable": "permanentAddress", + "value": "permanentAddress", + "type":"string" + }, + { + "variable": "mobileNumber", + "value": "mobileNumber", + "type":"string" + } + + ] + } + }, + { + "variable": "variable13", + "value": "$.Licenses[0].tradeLicenseDetail.tradeUnits.*", + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "tradeCat", + "value": "tradeType", + "type":"string", + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isCategoryRequired":true + } + }, + { + "variable": "tradeTyp", + "value": "tradeType", + "type":"string", + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isMainTypeRequired":true + } + }, + { + "variable": "tradeSub", + "value": "tradeType", + "type":"string", + "localisation":{ + "required":true, + "prefix":"TRADELICENSE_TRADETYPE", + "module": "rainmaker-tl", + "isSubTypeRequired":true + } + } + ] + } + } + ] + },{ + "path": "http://egov-location:8080/egov-location/location/v11/boundarys/_search", + "queryParam": "tenantId=$.tenantId,hierarchyTypeCode=REVENUE,boundaryType=Locality,codes=$.paymentDetails[0].bill.billDetails[0].additionalDetails.address", + "apiRequest": null, + "responseMapping":[ + { + "variable":"mohalla", + "value":"$.TenantBoundary[0].boundary[0].name" + } + ] + } + ] + + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ws-applicationsewerage.json b/configs/pdf-service/data-config/ws-applicationsewerage.json new file mode 100644 index 00000000..b80149f9 --- /dev/null +++ b/configs/pdf-service/data-config/ws-applicationsewerage.json @@ -0,0 +1,1028 @@ +{ + "key": "ws-applicationsewerage", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.SewerageConnection.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "status", + "value": { + "path": "$.status" + } + }, + { + "variable": "totalAmount", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "propertyId", + "value": { + "path": "$.property.propertyId" + } + }, + { + "variable": "propertyType", + "value": { + "path": "$.property.propertyType" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "propertyUsageType", + "value": { + "path": "$.property.usageCategory" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPUSGTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "propertyUsageSubType", + "value": { + "path": "$.property.propertySubUsageType" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPSUBUSGTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "plotSize", + "value": { + "path": "$.property.landArea" + } + }, + { + "variable": "noOfFloor", + "value": { + "path": "$.property.noOfFloors" + } + }, + { + "variable": "rainwaterHarvestingFacility", + "value": { + "path": "$.property.rainWaterHarvesting" + }, + "localisation": { + "required": true, + "prefix": "HARVESTING", + "module": "rainmaker-common" + } + }, + { + "variable": "cityName", + "value": { + "path": "$.property.address.city" + } + }, + { + "variable": "doorHouseNo", + "value": { + "path": "$.property.address.doorNo" + } + }, + { + "variable": "buildingColonyName", + "value": { + "path": "$.property.address.buildingName" + } + }, + { + "variable": "streetName", + "value": { + "path": "$.property.address.street" + } + }, + { + "variable": "localityMohalla", + "value": { + "path": "$.property.address.locality.name" + } + }, + { + "variable": "pinCode", + "value": { + "path": "$.property.address.pincode" + } + }, + { + "variable": "variable13", + "value":{ + "path":"$.property.owners.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "ownerName", + "value": "name" + }, + { + "variable": "ownerEmailId", + "value":"emailId" + }, + { + "variable": "gender", + "value": "gender" + }, + { + "variable": "ownerDob", + "value": "dob", + "type": "date" + }, + { + "variable": "guardianName", + "value": "fatherOrHusbandName" + }, + { + "variable": "relationshipLabel", + "value": "relationship" + }, + { + "variable": "specialApplicantCategory", + "value": "ownerType" + }, + { + "variable": "correspondenceAddress", + "value": "correspondenceAddress" + } + ] + } + + }, + { + "variable": "applyCategory", + "value": { + "path": "$.service" + } + }, + { + "variable": "noOfWaterClosetsProposed", + "value": { + "path": "$.proposedWaterClosets" + } + }, + { + "variable": "noOfWaterToiletsProposed", + "value": { + "path": "$.proposedToilets" + } + }, + { + "variable": "connectionType", + "value": { + "path": "$.connectionType" + } + }, + { + "variable": "noOfWaterClosets", + "value": { + "path": "$.noOfWaterClosets" + } + }, + { + "variable": "noOfToilets", + "value": { + "path": "$.noOfToilets" + } + }, + { + "variable": "plumberProvidedBy", + "value": { + "path": "$.additionalDetails.detailsProvidedBy" + } + }, + { + "variable": "plumberLicenceNo", + "value": { + "path": "$.plumberInfo[0].licenseNo" + } + }, + { + "variable": "plumberName", + "value": { + "path": "$.plumberInfo[0].name" + } + }, + { + "variable": "plumberMobileNo", + "value": { + "path": "$.plumberInfo[0].mobileNumber" + } + }, + { + "variable": "roadType", + "value": { + "path": "$.roadType" + } + }, + { + "variable": "area", + "value": { + "path": "$.roadCuttingArea" + } + }, + { + "variable": "connectionExecutionDate", + "value": { + "path": "$.connectionExecutionDate" + }, + "type": "date" + }, + { + "variable": "ownershipProof", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_OWNER.ADDRESSPROOF')].name" + } + }, + { + "variable": "ownersIdProof", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_OWNER.IDENTITYPROOF')].name" + } + }, + { + "variable": "electricityBill", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_ELECTRICITY_BILL')].name" + } + }, + { + "variable": "plumberReport", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_PLUMBER_REPORT_DRAWING')].name" + } + }, + { + "variable": "buildingPlan", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_BUILDING_PLAN_OR_COMPLETION_CERTIFICATE')].name" + } + }, + { + "variable": "ptTaxReciept", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_PROPERTY_TAX_RECIEPT')].name" + } + }, + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "logo_sub_header", + "value": { + "path": "PDF_STATIC_LABEL_SW_CONSOLIDATED_ACKNOWELDGMENT_LOGO_SUB_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APPLICATION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "status_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STATUS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "document_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_DOCUMENT_DETAIL_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "fee_estimate_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_FEES_ESTIMATE_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_id", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_usage_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_USAGE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_usage_sub_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_USAGE_SUB_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plot_size", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLOT_SIZE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_floor", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_FLOOR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rainwater_harvesting_facility", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_RAINWATER_HARVESTING_FACILITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_location_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_LOCATION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "city", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "door_house_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOOR_HOUSE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "building_colony_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_BUILDING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "street_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STREETNAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "locality_mohalla", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCALITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pin_code", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PINCODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_owner_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "email_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_EMAIL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "gender_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GENDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "dob_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOB" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "relationship_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_RELATIONSHIP" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "special_applicant_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SPECIAL_APPLICANT_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "apply_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APPLY_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_water_closets_proposed", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_WATER_CLOSETS_PROPOSED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_water_toilets_proposed", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_WATER_TOILETS_PROPOSED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "additional_connection_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ADDITIONAL_CONNECTION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_water_closets", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_WATER_CLOSETS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_toilets", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_TOILETS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_provided_by", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_PROVIDED_BY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_licence_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_LICENSE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_MOBILE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "road_charges_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ROAD_CHARGES_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "road_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ROAD_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "area_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_AREA_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "activation_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ACTIVATION_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_execution_date", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_EXECUTION_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "ownership_proof", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNERSHIP_PROOF" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owners_id_proof", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNERS_ID_PROOF" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "electricty_bill", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ELECTRICITY_BILL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_report", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_REPORT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "building_plan", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_BUILDING_PLAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_tax_reciept", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_TAX_RECEIPT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sewerage_application", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SEWERAGE_APPLICATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "correspondence_address", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CORRESPONDENCE_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.property.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "logo_header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ws-applicationwater.json b/configs/pdf-service/data-config/ws-applicationwater.json new file mode 100644 index 00000000..e4a22eb3 --- /dev/null +++ b/configs/pdf-service/data-config/ws-applicationwater.json @@ -0,0 +1,1107 @@ +{ + "key": "ws-applicationwater", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.WaterConnection.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "applicationNo", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "status", + "value": { + "path": "$.status" + } + }, + { + "variable": "totalAmount", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "propertyId", + "value": { + "path": "$.property.propertyId" + } + }, + { + "variable": "propertyType", + "value": { + "path": "$.property.propertyType" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "propertyUsageType", + "value": { + "path": "$.property.usageCategory" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPUSGTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "propertyUsageSubType", + "value": { + "path": "$.property.propertySubUsageType" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPSUBUSGTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "plotSize", + "value": { + "path": "$.property.landArea" + } + }, + { + "variable": "noOfFloor", + "value": { + "path": "$.property.noOfFloors" + } + }, + { + "variable": "rainwaterHarvestingFacility", + "value": { + "path": "$.property.rainWaterHarvesting" + }, + "localisation": { + "required": true, + "prefix": "HARVESTING", + "module": "rainmaker-common" + } + }, + { + "variable": "cityName", + "value": { + "path": "$.property.address.city" + } + }, + { + "variable": "doorHouseNo", + "value": { + "path": "$.property.address.doorNo" + } + }, + { + "variable": "buildingColonyName", + "value": { + "path": "$.property.address.buildingName" + } + }, + { + "variable": "streetName", + "value": { + "path": "$.property.address.street" + } + }, + { + "variable": "localityMohalla", + "value": { + "path": "$.property.address.locality.name" + } + }, + { + "variable": "pinCode", + "value": { + "path": "$.property.address.pincode" + } + }, + { + "variable": "variable13", + "value":{ + "path":"$.property.owners.*" + }, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable": "ownerName", + "value": "name" + }, + { + "variable": "ownerEmailId", + "value":"emailId" + }, + { + "variable": "gender", + "value": "gender" + }, + { + "variable": "ownerDob", + "value": "dob", + "type":"date" + }, + { + "variable": "guardianName", + "value": "fatherOrHusbandName" + }, + { + "variable": "relationshipLabel", + "value": "relationship" + }, + { + "variable": "specialApplicantCategory", + "value": "ownerType" + }, + { + "variable": "correspondenceAddress", + "value": "correspondenceAddress" + } + ] + } + + }, + { + "variable": "applyCategory", + "value": { + "path": "$.service" + } + }, + { + "variable": "noOfTapsProposed", + "value": { + "path": "$.proposedTaps" + } + }, + { + "variable": "pipeSizeProposed", + "value": { + "path": "$.proposedPipeSize" + } + }, + { + "variable": "connectionType", + "value": { + "path": "$.connectionType" + } + }, + { + "variable": "plumberProvidedBy", + "value": { + "path": "$.additionalDetails.detailsProvidedBy" + } + }, + { + "variable": "plumberLicenceNo", + "value": { + "path": "$.plumberInfo[0].licenseNo" + } + }, + { + "variable": "plumberName", + "value": { + "path": "$.plumberInfo[0].name" + } + }, + { + "variable": "plumberMobileNo", + "value": { + "path": "$.plumberInfo[0].mobileNumber" + } + }, + { + "variable": "roadType", + "value": { + "path": "$.roadType" + } + }, + { + "variable": "area", + "value": { + "path": "$.roadCuttingArea" + } + }, + { + "variable": "connectionExecutionDate", + "value": { + "path": "$.connectionExecutionDate" + }, + "type": "date" + }, + { + "variable": "noOfTaps", + "value": { + "path": "$.noOfTaps" + } + }, + { + "variable": "waterSource", + "value": { + "path": "$.waterSource" + } + }, + { + "variable": "waterSubSource", + "value": { + "path": "$.waterSubSource" + } + }, + { + "variable": "pipeSize", + "value": { + "path": "$.pipeSize" + } + }, + { + "variable": "ownershipProof", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_OWNER.ADDRESSPROOF')].name" + } + }, + { + "variable": "ownersIdProof", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_OWNER.IDENTITYPROOF')].name" + } + }, + { + "variable": "electricityBill", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_ELECTRICITY_BILL')].name" + } + }, + { + "variable": "plumberReport", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_PLUMBER_REPORT_DRAWING')].name" + } + }, + { + "variable": "buildingPlan", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_BUILDING_PLAN_OR_COMPLETION_CERTIFICATE')].name" + } + }, + { + "variable": "ptTaxReciept", + "value": { + "path": "$.pdfDocuments[?(@.title == 'WS_PROPERTY_TAX_RECIEPT')].name" + } + }, + { + "variable": "meterId", + "value": { + "path": "$.meterId" + } + }, + { + "variable": "meterInstallationDate", + "value": { + "path": "$.meterInstallationDate" + }, + "type": "date" + }, + { + "variable": "initialMeterReading", + "value": { + "path": "$.additionalDetails.initialMeterReading" + } + }, + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "logo_sub_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOGO_SUB_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "application_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APPLICATION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "status_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STATUS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "document_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_DOCUMENT_DETAIL_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_id", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_usage_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_USAGE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_usage_sub_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_USAGE_SUB_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plot_size", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLOT_SIZE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_floor", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_FLOOR" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rainwater_harvesting_facility", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_RAINWATER_HARVESTING_FACILITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_location_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_LOCATION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "city", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "door_house_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOOR_HOUSE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "building_colony_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_BUILDING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "street_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STREETNAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "locality_mohalla", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCALITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pin_code", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PINCODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_owner_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "email_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_EMAIL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "gender_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GENDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "dob_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOB" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "relationship_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_RELATIONSHIP" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "special_applicant_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SPECIAL_APPLICANT_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "apply_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APPLY_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "additional_connection_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ADDITIONAL_CONNECTION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_provided_by", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_PROVIDED_BY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_licence_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_LICENSE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_MOBILE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "road_charges_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ROAD_CHARGES_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "road_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ROAD_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "area_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_AREA_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "activation_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ACTIVATION_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_execution_date", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_EXECUTION_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_taps_proposed", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_TAPS_PROPOSED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pipe_size_proposed", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PIPE_SIZE_PROPOSED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_of_taps", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_NO_OF_TAPS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_source", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_WATER_SOURCE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_sub_source", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_WATER_SUB_SOURCE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pipe_size", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PIPE_SIZE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "ownership_proof", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNERSHIP_PROOF" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owners_id_proof", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNERS_ID_PROOF" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "electricty_bill", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ELECTRICITY_BILL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plumber_report", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLUMBER_REPORT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "building_plan", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_BUILDING_PLAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_tax_reciept", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_TAX_RECEIPT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "meter_id", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_METER_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "meter_installation_date", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_METER_INSTALLATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "initial_meter_reading", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_INITIAL_METER_READING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_application", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_WATER_APPLICATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "correspondence_address", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CORRESPONDENCE_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.property.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "logo_header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ws-bill.json b/configs/pdf-service/data-config/ws-bill.json new file mode 100644 index 00000000..1325d256 --- /dev/null +++ b/configs/pdf-service/data-config/ws-bill.json @@ -0,0 +1,843 @@ +{ + "key": "ws-bill", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Bill.*", + "entityIdPath": "$.billNumber", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-1", + "staticConfigPath": "https://raw.githubusercontent.com/egovernments/egov-services/vishal-feature-filestore/core/egov-indexer/src/main/resources/rainmaker-pgr-indexer.yml", + "mappings": [ + { + "direct": [ + { + "variable": "total_amount_due", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_AMOUNT_DUE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_MOBILE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_PERIOD" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PAYER_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_issue_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ISSUE_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_due_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILL_DUE_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "billing_summary_property_tax", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_BILLING_SUMMARY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.businessService" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "property_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PROPERTY_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "arrears_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ARREARS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "advanceAdjusted_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ADVANCEADJUSTED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "advanceAvailable_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ADVANCEAVAILABLE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "charge_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "penalty_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rebate_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_REBATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "others_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_OTHERS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "important_message", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_IMPORTANT_MESSAGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payment_received", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_PAYMENT_RECEIVED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "this_document", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_THIS_DOCUMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "this_is_a", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_THIS_IS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "assessment_payment", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_ASSESSSMENT_PAYMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "please_deposit", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_PLEASE_DEPOSIT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "if_the_tax", + "value": { + "path": "PDF_STATIC_LABEL_WS_BILL_IF_THE_TAX" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-ws" + } + }, + { + "variable": "acknowledgement_for", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_ACKNOWLEDGEMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_CONSUMER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "name_address", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_NAME_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_payment", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_TOTAL_PAYMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "receivers_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_BILL_RECEIVERS_SIGNATURE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "totalAmountDue", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "total", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "mobileNo", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "oldConnectionNo", + "value": { + "path": "$.connection.oldConnectionNo" + } + }, { + "variable": "rate", + "value": { + "path": "$.additionalDetails.penaltyRate" + } + }, + { + "variable": "ledgerId", + "value": { + "path": "$.connection.additionalDetails.ledgerId" + } + }, + { + "variable": "payerAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "tenant", + "value": { + "path": "$.tenantId" + } + }, + { + "variable": "nameAddress", + "value": { + "path": "$.payerAddress" + } + }, + { + "variable": "billNo", + "value": { + "path": "$.billNumber" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "billIssueDate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "billDueDate", + "value": { + "path": "$.billDetails[0].expiryDate" + }, + "type": "date" + }, + { + "variable": "billdate", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "consumerCode", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "taxCharge", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TAX' || @.taxHeadCode == 'TL_TAX' || @.taxHeadCode == 'FIRENOC_TAXES' || @.taxHeadCode == 'WS_CHARGE' || @.taxHeadCode == 'SW_CHARGE' )].amount" + } + }, + { + "variable": "timeRebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_REBATE' || @.taxHeadCode == 'WS_TIME_REBATE' || @.taxHeadCode == 'SW_TIME_REBATE')].amount" + } + }, + { + "variable": "adhocRebate", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_REBATE' || @.taxHeadCode == 'TL_ADHOC_REBATE' || @.taxHeadCode == 'FIRENOC_ADHOC_REBATE')].amount" + } + }, + { + "variable": "timePenalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_PENALTY' || @.taxHeadCode == 'WS_TIME_PENALTY' || @.taxHeadCode == 'SW_TIME_PENALTY')].amount" + } + }, + { + "variable": "adhocPenalty", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ADHOC_PENALTY' || @.taxHeadCode == 'TL_ADHOC_PENALTY' || @.taxHeadCode == 'FIRENOC_ADHOC_PENALTY')].amount" + } + }, + { + "variable": "firecess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_FIRE_CESS')].amount" + } + }, + { + "variable": "usageExemption", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_UNIT_USAGE_EXEMPTION')].amount" + } + }, + { + "variable": "roundoff", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_ROUNDOFF' || @.taxHeadCode == 'TL_ROUNDOFF' || @.taxHeadCode == 'FIRENOC_ROUNDOFF' || @.taxHeadCode == 'WS_Round_Off' || @.taxHeadCode == 'SW_Round_Off')].amount" + } + }, + { + "variable": "fees", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'FIRENOC_FEES')].amount" + } + }, + { + "variable": "ownerExemption", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_OWNER_EXEMPTION')].amount" + } + }, + { + "variable": "cancerCess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_CANCER_CESS')].amount" + } + }, + { + "variable": "waterCess", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'WS_WATER_CESS' || @.taxHeadCode == 'SW_SEWERAGE_CESS')].amount" + } + }, + { + "variable": "timeInterest", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_TIME_INTEREST' || @.taxHeadCode == 'WS_TIME_INTEREST' || @.taxHeadCode == 'SW_TIME_INTEREST')].amount" + } + }, + { + "variable": "ceilingDebit", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_DEBIT')].amount" + } + }, + { + "variable": "ceilingCredit", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'PT_DECIMAL_CEILING_CREDIT')].amount" + } + }, + { + "variable": "carryForward", + "value": { + "path": "$.billDetails[0].billAccountDetails[?(@.taxHeadCode == 'WS_ADVANCE_CARRYFORWARD' || @.taxHeadCode == 'SW_ADVANCE_CARRYFORWARD')].amount" + } + }, + { + "variable": "consumerID", + "value": { + "path": "$.consumerCode" + } + }, + { + "variable": "date", + "value": { + "path": "$.billDate" + }, + "type": "date" + }, + { + "variable": "totalPayment", + "value": { + "path": "$.billDetails[0].amountPaid" + } + }, + { + "variable": "WS_arrears", + "value": { + "path": "$.arrearAmount" + } + }, + { + "variable": "WS_AdvanceAdjusted", + "value": { + "path": "$.AdvanceAdjustedValue" + } + }, + { + "variable": "scissorImage", + "url": "http://www.pngall.com/wp-content/uploads/2016/03/Scissor-PNG-Clipart.png", + "type": "image" + } + ] + }, + { + "derived": [ + { + "variable": "charge", + "formula": "{{ws_charge}}" + }, + { + "variable": "penalty", + "formula": "{{timePenalty}}+{{adhocPenalty}}" + }, + { + "variable": "rebate", + "formula": "{{timeRebate}}+{{adhocRebate}}" + }, + { + "variable": "billOthers", + "formula": "{{cancerCess}}+{{roundoff}}+{{timeInterest}}+{{ceilingDebit}}+{{ceilingCredit}}+{{firecess}}+{{waterCess}}" + }, + { + "variable": "demandTotalAmount", + "formula": "{{ws_roundoff}}+{{ws_charge}}+{{ws_water_cess}}+{{ws_time_interest}}+{{ws_time_penalty}}" + }, + { + "variable": "billTotalAmount", + "formula": "{{total}}" + }, + { + "variable": "arrears", + "formula": "{{billTotalAmount}}>{{demandTotalAmount}}?({{billTotalAmount}}-{{demandTotalAmount}}).toFixed(2):0" + }, + { + "variable": "advanceAdjusted", + "formula": "{{billTotalAmount}}>=0?({{billTotalAmount}}<{{demandTotalAmount}}?({{billTotalAmount}}-{{demandTotalAmount}}).toFixed(2):0):{{demandTotalAmount}} * -1" + }, + { + "variable": "advanceAvailable", + "formula": "{{billTotalAmount}}<0?{{billTotalAmount}}*-1:0" + }, + { + "variable": "others", + "formula": "({{ws_roundoff}}+{{ws_water_cess}}+{{ws_time_interest}}).toFixed(2)" + }, + { + "variable": "calculatedTotal", + "formula": "{{billTotalAmount}}>0?{{billTotalAmount}}:0" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "address", + "value": "$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable": "phoneNumber", + "value": "$.MdmsRes.tenant.tenants[0].contactNumber" + }, { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "website", + "value": "$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable": "email", + "value": "$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable": "logo_header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + }, + { + "path": "http://billing-service:8080/billing-service/demand/_search", + "queryParam": "tenantId=$.tenantId,consumerCode=$.consumerCode,businessService=WS,filter=%5B?(@.status=='ACTIVE')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "ws_advanceAmount", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'WS_ADVANCE_CARRYFORWARD')].taxAmount" + }, + { + "variable": "ws_roundoff", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'WS_Round_Off')].taxAmount" + }, + { + "variable": "ws_charge", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'WS_CHARGE')].taxAmount" + }, + { + "variable": "ws_water_cess", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'WS_WATER_CESS')].taxAmount" + }, + { + "variable": "ws_time_interest", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'WS_TIME_INTEREST')].taxAmount" + }, + { + "variable": "ws_time_penalty", + "value": "$.Demands[(@.length-1)].demandDetails[?(@.taxHeadMasterCode == 'WS_TIME_PENALTY')].taxAmount" + } + ] + }, + { + "path": "http://property-services.egov:8080/property-services/property/_search", + "queryParam": "tenantId=$.tenantId,propertyIds=$.connection.propertyId", + "apiRequest": null, + "responseMapping": [ + { + "variable": "usageType", + "value": "$.Properties[0].usageCategory" + }, + { + "variable": "plotSize", + "value": "$.Properties[0].landArea" + }, + { + "variable": "houseNo", + "value": "$.Properties[0].address.doorNo" + }, + { + "variable": "streetName", + "value": "$.Properties[0].address.street" + }, + { + "variable": "locality", + "value": "$.Properties[0].address.locality.name" + }, + { + "variable": "landmark", + "value": "$.Properties[0].address.landmark" + }, + { + "variable": "ownerName", + "value": "$.Properties[0].owners[0].name" + }, + { + "variable": "guardianName", + "value": "$.Properties[0].owners[0].fatherOrHusbandName" + } + + + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ws-consolidatedacknowlegment.json b/configs/pdf-service/data-config/ws-consolidatedacknowlegment.json new file mode 100644 index 00000000..11439c33 --- /dev/null +++ b/configs/pdf-service/data-config/ws-consolidatedacknowlegment.json @@ -0,0 +1,687 @@ +{ + "key": "ws-consolidatedacknowlegment", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.WaterConnection.*", + "entityIdPath": "$.connectionNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "consumerNo", + "value": { + "path": "$.connectionNo" + } + }, + { + "variable": "status", + "value": { + "path": "$.status" + } + }, + { + "variable": "connectionCategory", + "value": { + "path": "$.connectionCategory" + } + }, + { + "variable": "connectionType", + "value": { + "path": "$.connectionType" + } + }, + { + "variable": "meterID", + "value": { + "path": "$.meterId" + } + }, + { + "variable": "pipeSize", + "value": { + "path": "$.pipeSize" + } + }, + { + "variable": "connectionExecutionDate", + "value": { + "path": "$.connectionExecutionDate" + }, + "type": "date" + }, + { + "variable": "rainwaterHarvestingFacility", + "value": { + "path": "$.rainWaterHarvesting" + }, + "localisation": { + "required": true, + "prefix": "HARVESTING", + "module": "rainmaker-common" + } + }, + { + "variable": "waterSource", + "value": { + "path": "$.waterSource" + } + }, + { + "variable": "waterSubSource", + "value": { + "path": "$.waterSubSource" + } + }, + { + "variable": "propertyType", + "value": { + "path": "$.property.propertyType" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "propertyUsageType", + "value": { + "path": "$.property.usageCategory" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPUSGTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "plotSize", + "value": { + "path": "$.property.landArea" + } + }, + { + "variable": "propertyID", + "value": { + "path": "$.property.propertyId" + } + }, + { + "variable": "city", + "value": { + "path": "$.property.address.city" + } + }, + { + "variable": "plot", + "value": { + "path": "$.property.address.doorNo" + } + }, + { + "variable": "building", + "value": { + "path": "$.property.address.buildingName" + } + }, + { + "variable": "streetName", + "value": { + "path": "$.property.address.street" + } + }, + { + "variable": "locality", + "value": { + "path": "$.property.address.locality.name" + } + }, + { + "variable": "pincode", + "value": { + "path": "$.property.address.pincode" + } + }, + { + "variable": "lat", + "value": { + "path": "$.property.address.locality.latitude" + } + }, + { + "variable": "long", + "value": { + "path": "$.property.address.locality.longitude" + } + }, + { + "variable": "ownerName", + "value": { + "path": "$.property.owners[0].name" + } + }, + { + "variable": "ownerMobileNumber", + "value": { + "path": "$.property.owners[0].mobileNumber" + } + }, + { + "variable": "gender", + "value": { + "path": "$.property.owners[0].gender" + }, + "localisation": { + "required": true, + "prefix": "COMMON_GENDER", + "module": "rainmaker-common" + } + }, + { + "variable": "guardian", + "value": { + "path": "$.property.owners[0].relationship" + } + }, + { + "variable": "guardianName", + "value": { + "path": "$.property.owners[0].fatherOrHusbandName" + } + }, + { + "variable": "ownerCategory", + "value": { + "path": "$.property.ownershipCategory" + }, + "localisation": { + "required": true, + "prefix": "WS_OWNERSHIPCATEGORY", + "module": "rainmaker-ws" + } + }, + { + "variable": "email", + "value": { + "path": "$.property.owners[0].emailId" + } + }, + { + "variable": "correspondenceAddress", + "value": { + "path": "$.property.owners[0].correspondenceAddress" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "logo_sub_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOGO_SUB_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONSUMER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "status_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STATUS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERVICE_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERVICE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_CAT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "meter_id", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_METER_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pipe_size", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PIPE_SIZE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_execution_date", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_EXECUTION_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rainwater_harvesting_facility", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_RAIN_HARV_FAC" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_source", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_WATER_SOURCE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_sub_source", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_WATER_SUB_SOURCE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_usage_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_USAGE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plot_size", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLOT_SIZE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_ID", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "city_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plot_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLOT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "building_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_BUILDING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "street_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STREET" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "locality_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCALITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pincode_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PINCODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "location_on_map", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCATION_ON_MAP" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_mobile_number", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_MOB_NUM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "gender_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GENDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "email_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_EMAIL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "correspondence_address", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CORR_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "water_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_WATER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.property.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "logo_header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + }} diff --git a/configs/pdf-service/data-config/ws-consolidatedsewerageconnection.json b/configs/pdf-service/data-config/ws-consolidatedsewerageconnection.json new file mode 100644 index 00000000..090d96fd --- /dev/null +++ b/configs/pdf-service/data-config/ws-consolidatedsewerageconnection.json @@ -0,0 +1,574 @@ +{ + "key": "ws-consolidatedsewerageconnection", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.SewerageConnections.*", + "entityIdPath": "$.connectionNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "consumerNo", + "value": { + "path": "$.connectionNo" + } + }, + { + "variable": "status", + "value": { + "path": "$.status" + } + }, + { + "variable": "connectionExecutionDate", + "value": { + "path": "$.connectionExecutionDate" + }, + "type": "date" + }, + { + "variable": "uom", + "value": { + "path": "$.uom" + } + }, + { + "variable": "propertyType", + "value": { + "path": "$.property.propertyType" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "propertyUsageType", + "value": { + "path": "$.property.usageCategory" + }, + "localisation": { + "required": true, + "prefix": "WS_PROPUSGTYPE", + "module": "rainmaker-ws" + } + }, + { + "variable": "plotSize", + "value": { + "path": "$.property.landArea" + } + }, + { + "variable": "propertyID", + "value": { + "path": "$.property.propertyId" + } + }, + { + "variable": "city", + "value": { + "path": "$.property.address.city" + } + }, + { + "variable": "plot", + "value": { + "path": "$.property.address.doorNo" + } + }, + { + "variable": "building", + "value": { + "path": "$.property.address.buildingName" + } + }, + { + "variable": "streetName", + "value": { + "path": "$.property.address.street" + } + }, + { + "variable": "locality", + "value": { + "path": "$.property.address.locality.name" + } + }, + { + "variable": "pincode", + "value": { + "path": "$.property.address.pincode" + } + }, + { + "variable": "lat", + "value": { + "path": "$.WaterConnection[0].property.address.locality.latitude" + } + }, + { + "variable": "long", + "value": { + "path": "$.WaterConnection[0].property.address.locality.longitude" + } + }, + { + "variable": "ownerName", + "value": { + "path": "$.property.owners[0].name" + } + }, + { + "variable": "ownerMobileNumber", + "value": { + "path": "$.property.owners[0].mobileNumber" + } + }, + { + "variable": "gender", + "value": { + "path": "$.property.owners[0].gender" + } + }, + { + "variable": "guardian", + "value": { + "path": "$.property.owners[0].relationship" + } + }, + { + "variable": "guardianName", + "value": { + "path": "$.property.owners[0].fatherOrHusbandName" + } + }, + { + "variable": "ownerCategory", + "value": { + "path": "$.property.ownershipCategory" + }, + "localisation": { + "required": true, + "prefix": "WS_OWNERSHIPCATEGORY", + "module": "rainmaker-ws" + } + }, + { + "variable": "email", + "value": { + "path": "$.property.owners[0].emailId" + } + }, + { + "variable": "correspondenceAddress", + "value": { + "path": "$.property.owners[0].correspondenceAddress" + } + }, + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation":{ + "required":true, + "prefix": null, + "module":"rainmaker-common" + } + }, + { + "variable": "logo_sub_header", + "value": { + "path": "PDF_STATIC_LABEL_SW_CONSOLIDATED_ACKNOWELDGMENT_LOGO_SUB_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONSUMER_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "status_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STATUS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERVICE_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERVICE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_execution_date", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_EXECUTION_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "unit_of_measurement", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_UNIT_OF_MEASUREMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_usage_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_USAGE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plot_size", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLOT_SIZE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "property_ID", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PROPERTY_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "city_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "plot_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PLOT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "building_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_BUILDING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "street_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_STREET" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "locality_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCALITY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pincode_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PINCODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "location_on_map", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCATION_ON_MAP" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_details_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_DETAILS_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_mobile_number", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_MOB_NUM" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "gender_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GENDER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "owner_category", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OWNER_CATEGORY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "email_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_EMAIL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "correspondence_address", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CORR_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sewarage_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SEWERAGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.property.tenantId}')%5D", + "apiRequest": null, + "responseMapping":[ + { + "variable": "logoImage", + "value":"$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "logo_header", + "value":"$.MdmsRes.tenant.tenants[0].code", + "localisation":{ + "required":true, + "prefix": "TENANT_TENANTS", + "module":"rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + }} diff --git a/configs/pdf-service/data-config/ws-estimationnotice.json b/configs/pdf-service/data-config/ws-estimationnotice.json new file mode 100644 index 00000000..5900f99c --- /dev/null +++ b/configs/pdf-service/data-config/ws-estimationnotice.json @@ -0,0 +1,532 @@ +{ + "key": "ws-estimationnotice", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.WnsConnection.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "appNo", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "appDate", + "value": { + "path": "$.connectionExecutionDate" + }, + "type":"date" + }, + { + "variable": "name", + "value": { + "path": "$.property.owners[0].name" + } + }, + { + "variable": "guardianName", + "value": { + "path": "$.property.owners[0].fatherOrHusbandName" + } + }, + { + "variable": "usageType", + "value": { + "path": "$.property.usageCategory" + }, + "localisation":{ + "required":true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "houseNo", + "value": { + "path": "$.property.address.doorNo" + } + }, + { + "variable": "mobileNumber", + "value": { + "path": "$.property.owners[0].mobileNumber" + } + }, + { + "variable": "address", + "value": { + "path": "$.property.address.locality.name" + } + }, + { + "variable": "pincode", + "value": { + "path": "$.property.address.pincode" + } + }, + { + "variable": "formFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'FORM_FEE')].estimateAmount" + } + }, + { + "variable": "ScrutinyFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'SCRUTINY_FEE')].estimateAmount" + } + }, + { + "variable": "otherCharge", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'OTHER_FEE')].estimateAmount" + } + }, + { + "variable": "securityCharge", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'SECURITY_DEPOSIT')].estimateAmount" + } + }, + { + "variable": "taxCess", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'TAX_AND_CESS')].estimateAmount" + } + }, + { + "variable": "roadCharge", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'ROAD_CUTTING_CHARGE')].estimateAmount" + } + }, + { + "variable": "oneTimeFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'ONE_TIME_FEE')].estimateAmount" + } + }, { + "variable": "connectionFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'CONNECTION_FEE')].estimateAmount" + } + }, { + "variable": "compositionFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'COMPOSITION_FEE')].estimateAmount" + } + },{ + "variable": "userCharges", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'USER_CHARGE')].estimateAmount" + } + }, + { + "variable": "penaltyAmount", + "value": { + "path": "$.additionalDetails.adhocPenalty" + } + }, + { + "variable": "rebateAmount", + "value": { + "path": "$.additionalDetails.adhocRebate" + } + }, + { + "variable": "penaltyComments", + "value": { + "path": "$.additionalDetails.adhocPenaltyComment" + } + }, + { + "variable": "totalAmount", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "service", + "value": { + "path": "$.service" + } + }, + { + "variable": "tenantName", + "value": { + "path": "$.tenantName" + } + }, + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "estimation_notice_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ESTIMATION_NOTICE_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "UAT", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_UAT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "app_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APPLICATION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "app_date", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APP_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "user_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_USER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "guardian_name", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GUARDIAN" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "usage_type", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_USAGE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "mobile_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_MOBILE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "house_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOOR_HOUSE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "user_address", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ADDRESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "estimation_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ESTIMATION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sl_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SERIAL_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "fee_estimate", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_FEES_ESTIMATE_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "amount", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "form_fee", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_FORM_FEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "scrutiny_fee", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SCRUTINY_FEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "other_charge", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OTHER_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "security_charge", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SECURITY_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "tax_cess", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_TAX_CESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "penalty", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rebate", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_REBATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "comments", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PENALTY_COMMENTS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "grand_total", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_GRAND_TOTAL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "approved_by", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_APPROVED_BY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "one_time_fee", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ONE_TIME_FEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "road_charge", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ROAD_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.property.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "logo_header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ws-onetime-receipt.json b/configs/pdf-service/data-config/ws-onetime-receipt.json new file mode 100644 index 00000000..889853da --- /dev/null +++ b/configs/pdf-service/data-config/ws-onetime-receipt.json @@ -0,0 +1,581 @@ +{ + "key": "ws-onetime-receipt", + "documentType": "CONSOLIDATED_RECEIPT", + "DataConfigs": { + "moduleName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.Payments.*", + "entityIdPath": "$.id", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "payerName", + "value": { + "path": "$.payerName" + } + }, + { + "variable": "UsageCategory", + "value": { + "path": "$.usageCategory" + } + }, + { + "variable": "ADdress", + "value": { + "path": "$.address" + } + }, + { + "variable": "LandArea", + "value": { + "path": "$.propertyDetail.landArea" + } + }, + { + "variable": "user-name", + "value": { + "path": "$.userInfo.name" + }, + "type": "selectFromRequestInfo" + }, + { + "variable": "payerContact", + "value": { + "path": "$.mobileNumber" + } + }, + { + "variable": "receiptNo", + "value": { + "path": "$.paymentDetails[0].receiptNumber" + } + }, + { + "variable": "serviceType", + "value": { + "path": "$.paymentDetails[0].businessService" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "serviceTypeTemp", + "value": { + "path": "$.paymentDetails[0].guardianName" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "propertyID", + "value": { + "path": "$.paymentDetails[0].propertyID" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "landMark", + "value": { + "path": "$.paymentDetails[0].landMark" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "communicationAddress", + "value": { + "path": "$.paymentDetails[0].communicationAddress" + }, + "localisation": { + "required": true, + "prefix": "MODULE", + "module": "rainmaker-common" + } + }, + { + "variable": "paidAmount", + "value": { + "path": "$.paymentDetails[0].totalAmountPaid" + } + }, + { + "variable": "fromPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].fromPeriod" + }, + "type": "date" + }, + { + "variable": "toPeriod", + "value": { + "path": "$.paymentDetails[0].bill.billDetails[0].toPeriod" + }, + "type": "date" + }, + { + "variable": "paymentMode", + "value": { + "path": "$.paymentMode" + }, + "localisation": { + "required": true, + "prefix": "COMMON_MASTERS_PAYMENTMODE", + "module": "rainmaker-common" + } + }, + { + "variable": "paymentDate", + "value": { + "path": "$.transactionDate" + }, + "type": "date" + }, + { + "variable": "consumerID", + "value": { + "path": "$.paymentDetails[0].bill.consumerCode" + } + }, + { + "variable": "transactionID", + "value": { + "path": "$.transactionNumber" + } + }, + { + "variable": "chequeDD", + "value": { + "path": "$.instrumentNumber" + } + }, + { + "variable": "chequeDDDate", + "value": { + "path": "$.instrumentDate" + }, + "type":"date" + }, + { + "variable": "bankName", + "value": { + "path": "$.additionalDetails[0].bankName" + } + }, { + "variable": "branchName", + "value": { + "path": "$.additionalDetails[0].branchName" + } + }, { + "variable": "ifsc", + "value": { + "path": "$.ifscCode" + } + }, + { + "variable": "var_paymentheads", + "value":{ + "path":"$.paymentDetails[0].additionalDetails.*"}, + "type":"array", + "format":{ + "type":"string", + "scema":[ + { + "variable":"taxheaddd", + "value": "taxhead" + }, + { + "variable":"amountt", + "value": "amount" + }] + } + }, + { + "variable": "dueAmount", + "value": { + "path": "$.paymentDetails[0].totalDue" + } + }, + { + "variable": "payment_receipt", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_RECEIPT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "receipt_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_RECEIPT_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "consumer_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_CONSUMER_NO_APP" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payment_date", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_name", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_NAME" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payer_contact", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYER_CONTACT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "service_type", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_SERVICE_TYPE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "billing_period", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILLING_PERIOD" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "paid_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAID_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "bill_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_BILL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "advance_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_ADVANCE_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "pending_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PENDING_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "payment_mode", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_PAYMENT_MODE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "transaction_id", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TRANSACTION_ID" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + + { + "variable": "generated_by", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_GENERATED_BY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "commissioner/eo", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_COMMISSIONER_EO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "no_signature", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_NO_SIGNATURE_WATER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer_1", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIRST_LINE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer_2", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_SECOND_LINE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer_3", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_THIRD_LINE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer_4", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FOURTH_LINE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "disclamer_5", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_DISCLAIMER_FIFTH_LINE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "to", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_RECEIPT_TO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_MDMS_MUNICIPAL_CORPORATION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "derived": [ + { + "variable": "pendingAmount", + "formula": "{{paidAmount}}>{{dueAmount}}?0:{{dueAmount}}-{{paidAmount}}" + }, + { + "variable": "advanceAmount", + "formula": "{{paidAmount}}>{{dueAmount}}?{{paidAmount}}-{{dueAmount}}:0" + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "address", + "value": "$.MdmsRes.tenant.tenants[0].address" + }, + { + "variable":"mcGradePwssb", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "phoneNumber", + "value": "$.MdmsRes.tenant.tenants[0].contactNumber" + }, + { + "variable": "website", + "value": "$.MdmsRes.tenant.tenants[0].domainUrl" + }, + { + "variable": "email", + "value": "$.MdmsRes.tenant.tenants[0].emailId" + }, + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable": "logo-header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + } +} diff --git a/configs/pdf-service/data-config/ws-sanctionletter.json b/configs/pdf-service/data-config/ws-sanctionletter.json new file mode 100644 index 00000000..be75c69d --- /dev/null +++ b/configs/pdf-service/data-config/ws-sanctionletter.json @@ -0,0 +1,972 @@ +{ + "key": "ws-sanctionletter", + "DataConfigs": { + "serviceName": "rainmaker-common", + "version": "1.0.0", + "baseKeyPath": "$.WnsConnection.*", + "entityIdPath": "$.applicationNo", + "isCommonTableBorderRequired": true, + "mappings": [ + { + "topic": "common-pdf-generation-3", + "mappings": [ + { + "direct": [ + { + "variable": "tenantName", + "value": { + "path": "$.tenantName" + } + }, + { + "variable": "logoImage", + "url": "https://raw.githubusercontent.com/egovernments/egov-web-app/master/web/rainmaker/dev-packages/egov-ui-kit-dev/src/assets/images/pblogo.png", + "type": "image" + }, + { + "variable": "municipalCouncil", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SUNAM_DEV_MUNICIPAL_COUNCIL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "door_no", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOOR_NO_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sanctionLetter", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SANCTION_LETTER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "dated", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_DATED_IN_LOWER_CASE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message4", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SEEKING_ESTIMATE_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message5", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_PREPARATION_NOTICE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message6", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SERVICE_PAYMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message7", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SAID_PREMISES" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message8", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_FURTHER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message9", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_CONNECTION_SANCTIONED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message10", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_PLUMBER_INFO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message11", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_BILLING_CYCLE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "estimation_notice_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ESTIMATION_NOTICE_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "UAT", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_UAT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "cityName", + "value": { + "path": "$.tenantName" + } + }, + { + "variable": "presentByName", + "value": { + "path": "$.commissionerName" + } + }, + { + "variable": "usageType", + "value": { + "path": "$.appUserType" + } + }, + { + "variable": "applicationNumber", + "value": { + "path": "$.applicationNo" + } + }, + { + "variable": "connectionExecutionDate", + "value": { + "path": "$.connectionExecutionDate" + }, + "type": "date" + }, + { + "variable": "applicationType", + "value": { + "path": "$.service" + } + }, + { + "variable": "service", + "value": { + "path": "$.service" + } + }, + { + "variable": "doorNo", + "value": { + "path": "$.property.address.doorNo" + } + }, + { + "variable": "locality", + "value": { + "path": "$.property.address.locality.name" + } + }, + { + "variable": "ownerName", + "value": { + "path": "$.property.owners[0].name" + } + }, + { + "variable": "plumberName", + "value": { + "path": "$.plumberInfo[0].name" + } + }, + { + "variable": "licenceNo", + "value": { + "path": "$.plumberInfo[0].licenseNo" + } + }, + { + "variable": "contactNo", + "value": { + "path": "$.plumberInfo[0].mobileNumber" + } + }, + { + "variable": "slaDate", + "value": { + "path": "$.slaDate" + }, + "type": "date" + }, + { + "variable": "order_message14", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_CONCERNED_PLUMBER_CONTACT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message15", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_SLA_DATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message12", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_CONCERNED_PLUMBER_ALLOTED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message13", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_CONCERNED_PLUMBER_LICENCE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "formFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'FORM_FEE')].estimateAmount" + } + }, + { + "variable": "ScrutinyFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'SCRUTINY_FEE')].estimateAmount" + } + }, + { + "variable": "otherCharge", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'OTHER_CHARGE')].estimateAmount" + } + }, + { + "variable": "securityCharge", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'SECURITY_CHARGE')].estimateAmount" + } + }, + { + "variable": "taxCess", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'TAX_AND_CESS')].estimateAmount" + } + }, + { + "variable": "roadCharge", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'ROAD_CUTTING_CHARGE')].estimateAmount" + } + }, + { + "variable": "oneTimeFee", + "value": { + "path": "$.pdfTaxhead[?(@.taxHeadCode == 'ONE_TIME_FEE')].estimateAmount" + } + }, + { + "variable": "penaltyAmount", + "value": { + "path": "$.additionalDetails.adhocPenalty" + } + }, + { + "variable": "rebateAmount", + "value": { + "path": "$.additionalDetails.adhocRebate" + } + }, + { + "variable": "totalAmount", + "value": { + "path": "$.totalAmount" + } + }, + { + "variable": "tenantName", + "value": { + "path": "$.tenantName" + } + }, + { + "variable": "date", + "value": { + "path": "$.connectionExecutionDate" + }, + "type": "date" + }, + { + "variable": "appCreatedDate", + "value": { + "path": "$.additionalDetails.appCreatedDate" + }, + "type": "date" + }, + { + "variable": "sanctionLetterDate", + "value": { + "path": "$.sanctionLetterDate" + }, + "type": "date" + }, + { + "variable": "estimationLetterDate", + "value": { + "path": "$.additionalDetails.estimationLetterDate" + }, + "type": "date" + }, + { + "variable": "total", + "value": { + "path": "PDF_STATIC_LABELWS_CONSOLIDATED_ACKNOWELDGMENT_TOTAL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Rs", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_RUPEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "Municipal_Corporation", + "value": { + "path": "PDF_STATIC_LABEL_WS_MDMS_MUNICIPAL_CORPORATION_LOGO_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "presented_by", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PRESENTED_BY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "commissioner_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_COMMISSIONER_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "app_no", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_ACKNOWELDGMENT_APPLICATION_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "date_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_DATE_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sub_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SUBJECT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "ref_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_REFERENCE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "total_amount", + "value": { + "path": "PDF_STATIC_LABEL_CONSOLIDATED_TLAPP_TOTAL_AMOUNT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sub_data1", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SUB_DATA1" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sub_data2", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SUB_DATA2" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "locality_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_LOCALITY_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_issued", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ORDER_ISSUED" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "ref_message1", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_REF_MESSAGE1" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "dated_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DATED_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "ref_message2", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ESTIMATION_NOTICE_NO" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ORDER_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "in_ref_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ORDER_DESCRIPTION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message1", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ORDER_MESSAGE1" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message2", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_SEEKING" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_message3", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_WATER_TAP_CONNECTION" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_data2", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ORDER_DATA2" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "order_data3", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ORDER_DATA3" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "for_commissioner_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_APPROVAL_EXECUTIVE_OFFICER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "to_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_TO_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "sri_smt_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SRI_SMT_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "door_no_label", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_DOOR_NO_LABEL" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "copy_message1", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_COPY_MESSAGE1" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "copy_message-sub1", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_COPY_MESSAGE_SUB1" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "copy_message2", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_COPY_MESSAGE2" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "UAT", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_UAT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "form_fee", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_FORM_FEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "scrutiny_fee", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SCRUTINY_FEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "other_charge", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_OTHER_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "security_charge", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_SECURITY_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "tax_cess", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_TAX_CESS" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "penalty", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_PENALTY" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "rebate", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_REBATE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "one_time_fee", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ONE_TIME_FEE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "approved_by", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_COMPUTER_GENERATED_DOCUMENT" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "connection_header", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_CONNECTION_HEADER" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + }, + { + "variable": "road_charge", + "value": { + "path": "PDF_STATIC_LABEL_WS_CONSOLIDATED_ACKNOWELDGMENT_ROAD_CHARGE" + }, + "type": "label", + "localisation": { + "required": true, + "prefix": null, + "module": "rainmaker-common" + } + } + ] + }, + { + "externalAPI": [ + { + "path": "http://egov-mdms-service:8080/egov-mdms-service/v1/_get", + "queryParam": "moduleName=tenant&masterName=tenants&tenantId=pb&filter=%5B?(@.code=='{$.property.tenantId}')%5D", + "apiRequest": null, + "responseMapping": [ + { + "variable": "logoImage", + "value": "$.MdmsRes.tenant.tenants[0].logoId", + "type": "image" + }, + { + "variable":"mcGrade", + "value":"$.MdmsRes.tenant.tenants[0].city.pwssbGrade" + }, + { + "variable": "logo_header", + "value": "$.MdmsRes.tenant.tenants[0].code", + "localisation": { + "required": true, + "prefix": "TENANT_TENANTS", + "module": "rainmaker-common" + } + } + ] + } + ] + } + ] + } + ] + }} diff --git a/configs/pdf-service/format-config/bill-amendment-note.json b/configs/pdf-service/format-config/bill-amendment-note.json new file mode 100644 index 00000000..e6d16b50 --- /dev/null +++ b/configs/pdf-service/format-config/bill-amendment-note.json @@ -0,0 +1,549 @@ +{ + "key": "bill-amendment-credit-note", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "color":"#484848", + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{note_type}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + + { + "style": "note-info", + "columns": [ + { + "text": [ + { + "text": "{{note_id}} ", + "bold": true + }, + { + "text": "{{applicationNo}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{note_date}}", + "bold": true + }, + { + "text": "{{date}}", + "bold": false + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + + { + "style": "header", + "columns": [ + { + "text": [ + { + "text": "{{against}}", + "bold": true + } + ], + "alignment": "left" + } + ] + }, + { + "style": "header-1", + "text": "{{user-name}}", + "alignment": "left" + }, + { + "style": "header-1", + "text": "{{permanentAddress}}", + "alignment": "left" + }, + { + "style": "header", + "text": " ", + "alignment": "left" + }, + + { + "style": "note-info-1", + "columns": [ + { + "text": [ + { + "text": "{{adjustment_amount_details}}", + "bold": true + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{total_amount}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -200, + 1 + ] + }, + { + "text": [ + { + "text": "{{rs}} {{totalAmount}}", + "bold": true + } + ], + "alignment": "right", + "fontSize": 20, + "margin": [ + 0, + 25, + -10, + 1 + ] + } + ] + }, + + { + "style": "ws-table", + "table": { + "widths": [ + "70%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "10%", + "30%", + "30%" + ], + "body": [ + [ + { + "text": "{{sl_no}}", + "alignment": "center" + }, + { + "text": "{{tax_heads}}", + "alignment": "left" + }, + { + "text": "{{reduced_amount}}", + "alignment": "right" + } + ], + [ + { + "text": "1.", + "alignment": "center" + }, + { + "text": "{{water_tax}}", + "alignment": "left" + }, + { + "text": "{{waterTax}}", + "alignment": "right" + } + ], + [ + { + "text": "2.", + "alignment": "center" + }, + { + "text": "{{water_cess}}", + "alignment": "left" + }, + { + "text": "{{waterCess}}", + "alignment": "right" + } + ], + [ + { + "text": "3.", + "alignment": "center" + }, + { + "text": "{{interest}}", + "alignment": "left" + }, + { + "text": "{{interestAmount}}", + "alignment": "right" + } + ], + [ + { + "text": "4.", + "alignment": "center" + }, + { + "text": "{{penalty}}", + "alignment": "left" + }, + { + "text": "{{penaltyAmount}}", + "alignment": "right" + } + ], + [ + { + "text": "5.", + "alignment": "center" + }, + { + "text": "{{arrears}}", + "alignment": "left" + }, + { + "text": "{{arrearsAmount}}", + "alignment": "right" + } + ], + [ + { + "text": " " + }, + { + "text": "{{total_amount}}", + "alignment": "left" + }, + { + "text": "{{totalAmount}}", + "alignment": "right" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + + { + "style": "ws-table-1", + "table": { + "widths": [ + "130%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "120%" + ], + "body": [ + [ + { + "text": "{{box_note}}", + "alignment": "left" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + + { + "style": "header", + "text": " ", + "alignment": "left" + }, + + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + + { + "style": "no-signature", + "text": "{{no_signature}}" + }, + + { + "style": "no-signature", + "text": "{{box_validity}}" + } + ], + + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 10 + ] + }, + "ws-table-1": { + "fontSize": 12, + "color": "#000000", + "margin": [ + 380, + -120, + 20, + 10 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 8 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 8, + 0, + 8 + ] + }, + "header": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + }, + "header-1": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "note-info": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 10, + -10, + 0 + ], + "color": "#000000" + }, + "note-info-1": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 10, + -10, + -45 + ], + "color": "#000000" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 10, + -10, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/bill-amendment.json b/configs/pdf-service/format-config/bill-amendment.json new file mode 100644 index 00000000..700c7dd9 --- /dev/null +++ b/configs/pdf-service/format-config/bill-amendment.json @@ -0,0 +1,546 @@ +{ + "key": "bill-amendment-summary", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "color":"#484848", + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} department", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + + { + "columns": [ + { + "text": "{{bill_amendment_application}}", + "style": "ws-header", + "margin": [ + 0, + 0, + 10, + 10 + ] + }, + { + "text": "{{bill_amendment_application_number}}", + "alignment": "right", + "margin": [ + 0, + 0, + -50, + 10 + ] + }, + { + "text": "{{applicationNo}}", + "alignment": "right", + "bold": true, + "margin": [ + -150, + 0, + -20, + 0 + ] + } + ], + "margin": [ + -26, + 10, + 0, + 0 + ] + }, + + { + "columns": [ + { + "text": "{{adjustment_amount_details}}", + "style": "header" + } + ] + }, + + { + "style": "ws-table", + "table": { + "widths": [ + "102%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "10%", + "45%", + "45%" + ], + "body": [ + [ + { + "text": "{{sl_no}}", + "alignment": "center" + }, + { + "text": "{{tax_heads}}", + "alignment": "center" + }, + { + "text": "{{reduced_amount}}", + "alignment": "center" + } + ], + [ + { + "text": "1.", + "alignment": "center" + }, + { + "text": "{{water_tax}}", + "alignment": "left" + }, + { + "text": "{{waterTax}}", + "alignment": "right" + } + ], + [ + { + "text": "2.", + "alignment": "center" + }, + { + "text": "{{water_cess}}", + "alignment": "left" + }, + { + "text": "{{waterCess}}", + "alignment": "right" + } + ], + [ + { + "text": "3.", + "alignment": "center" + }, + { + "text": "{{interest}}", + "alignment": "left" + }, + { + "text": "{{interestAmount}}", + "alignment": "right" + } + ], + [ + { + "text": "4.", + "alignment": "center" + }, + { + "text": "{{penalty}}", + "alignment": "left" + }, + { + "text": "{{penaltyAmount}}", + "alignment": "right" + } + ], + [ + { + "text": "5.", + "alignment": "center" + }, + { + "text": "{{arrears}}", + "alignment": "left" + }, + { + "text": "{{arrearsAmount}}", + "alignment": "right" + } + ], + [ + { + "text": " " + }, + { + "text": "{{total_amount}}", + "alignment": "left" + }, + { + "text": "{{totalAmount}}", + "alignment": "right" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{demand_revision_basis_details}}", + "bold": true, + "alignment": "left", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "102%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "33%", + "33%", + "33%" + ], + "body": [ + [ + { + "text": "{{demand_revision_basis}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{court_order_no}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{with_effect_from}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{demandRevisionBasis}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{courtOrderNo}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{withEffectFrom}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "Documents", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "102%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "33%", + "33%", + "33%" + ], + "body": [ + [ + { + "text": "{{court_order}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{self_declaration}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{past_bills}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{courtOrder}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{selfDeclaration}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pastBills}}", + "alignment": "center", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + } + ], + + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 10 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 8 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 8, + 0, + 8 + ] + }, + "header": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/bpa-revocation.json b/configs/pdf-service/format-config/bpa-revocation.json new file mode 100644 index 00000000..43731998 --- /dev/null +++ b/configs/pdf-service/format-config/bpa-revocation.json @@ -0,0 +1,171 @@ +{ + "key": "bpa-revocation", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "columns": [ + { + "image": "{{logoImage}}", + "width": 70, + "height": 70, + "alignment": "left" + }, + { + "stack": [ + { + "text": "{{tenantName}} {{Muncipal_Council}}", + "style": "header" + }, + { + "text": "{{Revocation_Title}}", + "style": "sub-header" + } + ] + }, + { + "image": "{{logoImage}}", + "width": 70, + "height": 70, + "alignment": "right" + } + ] + }, + { + "columns": [ + { + "text": [ + { + "text": "{{Dated}} : ", + "bold": true + }, + { + "text": "{{createdDate}}", + "bold": true + } + ], + "alignment": "right" + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{SALUTATION}} " + }, + { + "text": "{{ownerName}},", + "bold": true + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{Permision_Issued}} " + }, + { + "text": "{{planPermissionNo}}", + "bold": true, + "font": "Roboto" + }, + { + "text": " {{WRT_APPNO}} " + }, + { + "text": "{{applicationNo}}", + "bold": true, + "font": "Roboto" + }, + { + "text": " {{dated}} " + }, + { + "text": "{{createdDate}}", + "bold": true + }, + { + "text": " {{isRevocated}}. " + } + ], + "style": "top-low-margin" + }, + { + "text": [ + { + "text": "{{revocationReasonIs}}" + }, + { + "text": " {{revocationReason}}.", + "bold": true + }, + { + "text": " {{noAuthText}}." + } + ], + "style": "top-low-margin" + }, + { + "text": [ + { + "text": "{{contactULB}}." + } + ], + "style": "top-low-margin" + }, + { + "stack": [ + { + "text": "{{BY_ORDER}}", + "style": "top-margin" + }, + { + "text": "{{AUTH_OFFICER}}", + "margin": 2 + }, + { + "text": "{{revocatedBy}}", + "margin": 2 + } + ], + "alignment": "right", + "style": "top-margin" + } + ], + "styles": { + "header": { + "bold": true, + "alignment": "center" + }, + "sub-header": { + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 5 + ] + }, + "top-margin": { + "margin": [ + 0, + 30, + 0, + 0 + ] + }, + "top-low-margin": { + "margin": [ + 0, + 10, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/buildingpermit-low.json b/configs/pdf-service/format-config/buildingpermit-low.json new file mode 100644 index 00000000..f565545f --- /dev/null +++ b/configs/pdf-service/format-config/buildingpermit-low.json @@ -0,0 +1,328 @@ +{ + "key": "buildingpermit-low", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "text" : "{{GENERATED_ON}} : ", + "absolutePosition" : { + "x" : 400, + "y" : 5 + } + }, + { + "text" : " {{orderGeneratedOn}}", + "absolutePosition" : { + "x" : 500, + "y" : 5 + } + }, + { + "columns": [ + { + "image": "{{logoImage}}", + "width": 70, + "height": 70, + "alignment": "left" + }, + { + "stack": [ + { + "text": "{{tenantName}} {{Muncipal_Council}}", + "style": "header" + }, + { + "text": "{{BPA_FORM}}", + "style": "sub-header" + }, + { + "text": "{{BPA_FORM_APPROVAL}}", + "style": "header" + }, + { + "text": "{{BPA_BYELAWS}}", + "style": "sub-header" + } + ] + }, + { + "image": "{{logoImage}}", + "width": 70, + "height": 70, + "alignment": "right" + } + ] + }, + { + "columns": [ + { + "text": [ + { + "text": "{{PLAN_PERMISION_NO}} : ", + "bold": true + }, + { + "text": "{{planPermissionNo}}", + "bold": true, + "font": "Roboto" + } + ], + "alignment": "left", + "width": "*" + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{WRT_TXT}}" + }, + { + "text" : " {{applicationNo}}", + "bold" : true, + "font": "Roboto" + }, + { + "text" : " {{dated}}" + }, + { + "text" : " {{applicationDate}}" + }, + { + "text" : ", {{PERMISSION_GRANT_TXT}} : " + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{SALUTATION}} " + }, + { + "text": "{{favourOf}}", + "bold": true + }, + { + "text": " {{FOR}} " + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{DSCR1}} {{PLOT_NO}} {{CS_PLOT}}" + }, + { + "text": " {{plotNo}}", + "bold": true + }, + { + "text": " {{PLOT_NO}} {{MSP_PLOT}} " + }, + { + "text": "{{plotNo}}", + "bold": true + }, + { + "text": " {{KHATA_NO}} " + }, + { + "text": "{{khataNo}}", + "bold": true + }, + { + "text": " {{HOLDING_NO}} " + }, + { + "text": "{{holdingNo}}", + "bold": true + }, + { + "text" : " {{SERVEY_NO}} " + }, + { + "text" : "{{reServeyPlotNo}}", + "bold" : true + }, + { + "text" : " {{TOWNPLANNING_TXT}} " + }, + { + "text" : "{{townPlanningScheme}}", + "bold" : true + }, + { + "text" : " {{PROPOSE_LAND}} " + }, + { + "text" : "{{proposedLandUse}}", + "bold" : true + }, + { + "text": " {{OF}} " + }, + { + "text": "{{tenantName}} {{BPA_PDF_MUNCIPAL}}", + "bold": true + }, + { + "text": " {{CONDNS_TXT}}" + } + ] + }, + { + "separator": ")", + "ol": ["{{conditions}}"] + }, + { + "stack": [ + { + "text": "{{PERMIT_DETAILS_TXT}}," + } + ], + "bold": true, + "style": "top-margin" + }, + { + "table": { + "widths": [ + "auto", + "auto" + ], + "body": [ + [ + { + "text" : "{{FEE_DSCR}}", + "alignment" : "center", + "bold" : true + }, + { + "text" : "{{AMOUNT}}", + "bold" : true, + "alignment" : "right" + } + ], + "{{#paymentDetails}}[{ \"text\":\"{{headCode}}\", \"border\":[ true, true, true, true ],\"alignment\": \"center\"},{ \"text\":\"{{amnt}}\", \"border\":[ true, true, true, true ],\"alignment\": \"right\"}]{{/paymentDetails}}", + [ + { + "text" : "{{TOTAL}}", + "alignment" : "center" + }, + { + "text" : "{{totalDue}}", + "alignment" : "right" + } + ] + ] + }, + "margin": [ + 0, + 5, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{BY_ORDER}}", + "style": "top-margin" + }, + { + "text": "{{AUTH_OFFICER}}", + "margin": 2 + }, + { + "text": "{{tenantName}}", + "margin": 2 + } + ], + "alignment": "right", + "style": "top-margin" + }, + { + "text" : [ + { + "text" : "{{AUTH_DSCR}}" + } + ] + }, + { + "text": [ + { + "text": "{{VALIDITY_DSCR}} " + }, + { + "text": "{{validityDate}}" + }, + { + "text": " {{ONLY}}." + } + ], + "style": "top-margin", + "bold": true + }, + { + "text": "{{NOTE}} : ", + "bold": true, + "style": "top-margin" + }, + { + "text": [ + { + "text" : "{{SUMMARY1}}" + }, + { + "text" : " {{Bihar_Tenant}} " + }, + { + "text" : "{{SUMMARY2}}." + } + ], + "style": "top-margin" + }, + { + "image": "{{qrCode}}", + "alignment": "right", + "width": 100, + "height": 100 + } + ], + "styles": { + "header": { + "bold": true, + "alignment": "center" + }, + "sub-header": { + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 5 + ] + }, + "top-margin": { + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + "top-high-margin": { + "margin": [ + 0, + 30, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/buildingpermit.json b/configs/pdf-service/format-config/buildingpermit.json new file mode 100644 index 00000000..0bb95339 --- /dev/null +++ b/configs/pdf-service/format-config/buildingpermit.json @@ -0,0 +1,341 @@ +{ + "key": "buildingpermit", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "text" : "{{GENERATED_ON}} : ", + "absolutePosition" : { + "x" : 400, + "y" : 5 + } + }, + { + "text" : " {{orderGeneratedOn}}", + "absolutePosition" : { + "x" : 500, + "y" : 5 + } + }, + { + "columns": [ + { + "image": "{{logoImage}}", + "width": 70, + "height": 70, + "alignment": "left" + }, + { + "stack": [ + { + "text": "{{tenantName}} {{Muncipal_Council}}", + "style": "header" + }, + { + "text": "{{BPA_FORM}}", + "style": "sub-header" + }, + { + "text": "{{BPA_FORM_APPROVAL}}", + "style": "header" + }, + { + "text": "{{BPA_BYELAWS}}", + "style": "sub-header" + } + ] + }, + { + "image": "{{logoImage}}", + "width": 70, + "height": 70, + "alignment": "right" + } + ] + }, + { + "columns": [ + { + "text": [ + { + "text": "{{PLAN_PERMISION_NO}} : ", + "bold": true + }, + { + "text": "{{planPermissionNo}}", + "bold": true, + "font": "Roboto" + } + ], + "alignment": "left", + "width": "*" + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{WRT_TXT}}" + }, + { + "text": " {{applicationNo}}", + "bold": true, + "font": "Roboto" + }, + { + "text": " {{dated}}" + }, + { + "text": " {{applicationDate}}" + }, + { + "text": ", {{PERMISSION_GRANT_TXT}} : " + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{SALUTATION}} " + }, + { + "text": "{{favourOf}}", + "bold": true + }, + { + "text": " {{FOR}} " + } + ], + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{DSCR1}} {{PLOT_NO}} {{CS_PLOT}}" + }, + { + "text": " {{plotNo}}", + "bold": true + }, + { + "text": " {{PLOT_NO}} {{MSP_PLOT}} " + }, + { + "text": "{{plotNo}}", + "bold": true + }, + { + "text": " {{KHATA_NO}} " + }, + { + "text": "{{khataNo}}", + "bold": true + }, + { + "text": " {{HOLDING_NO}} " + }, + { + "text": "{{holdingNo}}", + "bold": true + }, + { + "text": " {{SERVEY_NO}} " + }, + { + "text": "{{reServeyPlotNo}}", + "bold": true + }, + { + "text": " {{TOWNPLANNING_TXT}} " + }, + { + "text": "{{townPlanningScheme}}", + "bold": true + }, + { + "text": " {{PROPOSE_LAND}} " + }, + { + "text": "{{proposedLandUse}}", + "bold": true + }, + { + "text": " {{OF}} " + }, + { + "text": "{{tenantName}} {{BPA_PDF_MUNCIPAL}}", + "bold": true + }, + { + "text": " {{CONDNS_TXT}}" + } + ] + }, + { + "separator": ")", + "ol": [ + "{{conditions}}" + ] + }, + { + "stack": [ + { + "text": "{{PERMIT_DETAILS_TXT}}," + } + ], + "bold": true, + "style": "top-margin" + }, + { + "table": { + "widths": [ + "auto", + "auto" + ], + "body": [ + [ + { + "text": "Fee Description", + "bold": true + }, + { + "text": "Amount (Rs)", + "bold": true, + "alignment": "right" + } + ], + [ + { + "text": "{{appHeadCode}}" + }, + { + "text": "{{appFee}}", + "alignment": "right" + } + ], + [ + { + "text": "{{sanHeadCode}}" + }, + { + "text": "{{sanFee}}", + "alignment": "right" + } + ], + [ + { + "text": "Total", + "bold": true + }, + { + "text": "{{totalDue}}", + "bold": true, + "alignment": "right" + } + ] + ] + }, + "margin": [ + 0, + 5, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{BY_ORDER}}", + "style": "top-margin" + }, + { + "text": "{{AUTH_OFFICER}}", + "margin": 2 + }, + { + "text": "{{approvedBy}}", + "margin": 2 + } + ], + "alignment": "right", + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{VALIDITY_DSCR}} " + }, + { + "text": "{{validityDate}}" + }, + { + "text": " {{ONLY}}." + } + ], + "style": "top-margin", + "bold": true + }, + { + "text": "{{NOTE}} : ", + "bold": true, + "style": "top-margin" + }, + { + "text": [ + { + "text": "{{SUMMARY1}}" + }, + { + "text": " {{Bihar_Tenant}} " + }, + { + "text": "{{SUMMARY2}}." + } + ], + "style": "top-margin" + }, + { + "image": "{{qrCode}}", + "alignment": "right", + "width": 100, + "height": 100 + } + ], + "footer": "(function(currentPage, pageCount) { return currentPage.toString() + ' of ' + pageCount; })", + "styles": { + "header": { + "bold": true, + "alignment": "center" + }, + "sub-header": { + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 5 + ] + }, + "top-margin": { + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + "top-high-margin": { + "margin": [ + 0, + 30, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/consolidated-pdf1.json b/configs/pdf-service/format-config/consolidated-pdf1.json new file mode 100644 index 00000000..d9197f53 --- /dev/null +++ b/configs/pdf-service/format-config/consolidated-pdf1.json @@ -0,0 +1,561 @@ +{ + "key": "consolidated-pdf1", + "config": { + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{variable16}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "Amritsar Municipal Corportaion", + "style": "receipt-logo-header" + }, + { + "text": "Property Tax payment Receipt", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "C Block, Ranjit Avenue, Amritsar" + }, + { + "text": " Tel. +91-183-2502339" + }, + { + "text": "website: www.amritsarcorp.com" + }, + { + "text": "Email: cmcasr@punjab.gov.in" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 0, + 0, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "Receipt No.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable3}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Consumer ID", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable14}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Payment Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable13}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Payer Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable1}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Payer Contact", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable2}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "", + "border": [ + false, + false, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "Service Type", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable4}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Billing Period", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable6}} to {{variable7}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Paid Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable5}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Pending Amount", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable19}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Payment Mode", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable9}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Transaction ID", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable15}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "G8 Receipt No.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable10}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "G8 Receipt Date", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable11}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "Generated by: ", + "bold": true + }, + { + "text": "Satplal Dhillon", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Commissioner/EO", + "bold": true + } + ], + "alignment": "right" + } + ] + }, + { + "style": "no-signature", + "text": "This is Computer generated receipt, Signature is not required" + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "Disclamer", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "Lorem ipsum dolor sit amet", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "Lorem ipsum dolor sit amet", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "Lorem ipsum dolor sit amet", + "bold": false, + "style": "pt-disclaimer-value" + } + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 16, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -30, + 45, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -30, + 28, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 8 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 8, + 0, + 8 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 0, + 5, + 0, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/consolidated-pdf2.json b/configs/pdf-service/format-config/consolidated-pdf2.json new file mode 100644 index 00000000..f41c0de5 --- /dev/null +++ b/configs/pdf-service/format-config/consolidated-pdf2.json @@ -0,0 +1,1030 @@ +{ + "key": "consolidated-pdf2", + "config": { + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{variable1}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "Amritsar Municipal Corportaion", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "C Block, Ranjit Avenue, Amritsar" + }, + { + "text": " Tel. +91-183-2502339" + }, + { + "text": "website: www.amritsarcorp.com" + }, + { + "text": "Email: cmcasr@punjab.gov.in" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "Total Amount due" + }, + { + "text": "{{variable11}}", + "style": "amount-due" + }, + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "image": "{{variable}}", + "width": 40, + "height": 40, + "border": [ + false, + false, + false, + false + ], + "style": "qr-image" + }, + { + "stack": [ + { + "text": "Scan Code to pay", + "style": "qr-text" + }, + { + "text": "Use any Bank/UPI App", + "style": "qr-text" + } + ], + "border": [ + false, + false, + false, + false + ] + } + ] + ], + "alignment": "right", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 2, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + 130, + 130, + -2, + 130, + 130 + ], + "body": [ + [ + { + "text": "Payer Name", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable2}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + }, + { + "text": "", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "Bill No.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable5}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Mobile No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable3}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": "", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "Bill Period", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable6}} - {{variable7}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Payer Address", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable4}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": "", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "Bill Issue Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable8}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + }, + { + "text": "", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "Bill Due Date", + "border": [ + true, + false, + false, + true + ], + "style": "right-receipt-table" + }, + { + "text": "{{variable7}}", + "border": [ + false, + false, + true, + true + ], + "style": "right-receipt-table2" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "Billing Summary - Property Tax", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "15%", + "20%", + "11%", + "12%", + "11%", + "12%", + "11%", + "11%" + ], + "body": [ + [ + { + "text": "Property ID", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Bill Period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Arrears", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Charge", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Penalty", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Rebate", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Others", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Total", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{variable12}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable6}}-{{variable7}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable13}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable14}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable9}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable10}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable14}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{variable11}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + ] + }, + "border": [ + true, + false, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "Important Message", + "border": [ + true, + true, + true, + false + ], + "margin": [ + 9, + 10, + 0, + 5 + ], + "style": "receipt-table-value" + } + ], + [ + { + "ol": [ + { + "text": "Payment received by cheque/demand draft shall be subject to realization.", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "This document is not a proof of Property Ownership and regularization of unauthorized construction.", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "This is a computer generated document, hence requires no signature.", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "Assessment & Payment is subject to verification/Scrutiny by competitive authority.", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "Please deposit property tax dues for earlier years also. Ignore, if already paid.", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "If the tax payers fail to pay the property tax within 15 days from the date of receipt of this Demand Bill, the same amount can be collected by issuing a distraint warrant u/s Section-269 of Municipal Corporations Act, 1955 (formerly GHMC Act, 1955)", + "margin": [ + 8, + 0, + 0, + 10 + ] + } + ], + "border": [ + true, + false, + true, + true + ], + "alignment": "left" + } + ] + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 30, + "x2": 700, + "y2": 30, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "image": "{{variable1}}", + "width": 14, + "height": 14, + "margin": [ + -30, + -7, + 0, + 0 + ] + }, + { + "text": "Acknowledgement( For Official use only)", + "style": "footer-header" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "24/04/2018", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Consumer ID", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable15}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Bill No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable5}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Name & Address", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable4}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Total Payment", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{variable16}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 45, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 30, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 10 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + -10, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + -10, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 30, + "color": "#FC8019", + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 0, + 5, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 15, + 0, + -40 + ], + "color": "#000000", + "alignment": "center" + } + } + } +} diff --git a/configs/pdf-service/format-config/consolidatedbill.json b/configs/pdf-service/format-config/consolidatedbill.json new file mode 100644 index 00000000..992700b0 --- /dev/null +++ b/configs/pdf-service/format-config/consolidatedbill.json @@ -0,0 +1,1014 @@ +{ + "key": "consolidatedbill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo_header}} {{Municipal_Corporation}}", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{total_amount_due}}" + }, + { + "text": "{{Rs}} {{totalAmountDue}}", + "style": "amount-due" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 2, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + 130, + 130, + -2, + 130, + 130 + ], + "body": [ + [ + { + "text": "{{payer_name}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_no}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{mobile_no}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{mobileNo}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_period}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} - {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_address}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_issue_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billIssueDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": " ", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_due_date}}", + "border": [ + true, + false, + false, + true + ], + "style": "right-receipt-table" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "right-receipt-table2" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{billing_summary_property_tax}} {{serviceType}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "18%", + "26%", + "10%", + "9%", + "10%", + "9%", + "10%", + "9%" + ], + "body": [ + [ + { + "text": "{{consumer_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{bill_period}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{arrears_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{charge_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{others_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{total_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{propertyID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{fromPeriod}}-{{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{arrears}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{charge}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{others}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + ] + }, + "border": [ + true, + false, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{important_message}}", + "border": [ + true, + true, + true, + false + ], + "margin": [ + 9, + 10, + 0, + 5 + ], + "style": "receipt-table-value" + } + ], + [ + { + "ol": [ + { + "text": "{{payment_received}}", + "margin": [ + 8, + 0, + 0, + 3 + ] + }, + { + "text": "{{this_document}}", + "margin": [ + 8, + 0, + 0, + 3 + ] + }, + { + "text": "{{this_is_a}}", + "margin": [ + 8, + 0, + 0, + 3 + ] + }, + { + "text": "{{assessment_payment}}", + "margin": [ + 8, + 0, + 0, + 3 + ] + }, + { + "text": "{{please_deposit}}", + "margin": [ + 8, + 0, + 0, + 3 + ] + }, + { + "text": "{{if_the_tax}}", + "margin": [ + 8, + 0, + 0, + 5 + ] + } + ], + "border": [ + true, + false, + true, + true + ], + "alignment": "left" + } + ] + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 30, + "x2": 700, + "y2": 30, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "image": "{{scissorImage}}", + "width": 24, + "height": 24, + "margin": [ + -30, + -11.2, + 0, + 0 + ] + }, + + { + "text": "{{acknowledgement_for}}", + "style": "footer-header", + "pageBreak": "before" + + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "{{date_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billdate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{consumer_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{name_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{nameAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{total_payment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + }, + { + "text": "{{receivers_signature}}", + "style": "footer-bottom" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 10, + -8, + -8 + ] + }, + "noc-table4": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 75, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 30, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 10 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 30, + "color": "#FC8019", + "bold": true, + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 0, + 5, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 15, + 0, + -40 + ], + "bold": true, + "color": "#000000", + "alignment": "center" + }, + "footer-bottom": { + "margin": [ + 0, + 50, + 0, + 0 + ], + "bold": true, + "color": "#000000", + "alignment": "right" + } + } + } +} diff --git a/configs/pdf-service/format-config/consolidatedreceipt.json b/configs/pdf-service/format-config/consolidatedreceipt.json new file mode 100644 index 00000000..3064d335 --- /dev/null +++ b/configs/pdf-service/format-config/consolidatedreceipt.json @@ -0,0 +1,1392 @@ +{ + "key": "consolidatedreceipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 150 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}} (Employee Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}},{{phoneNumber}}", + "style": "receipt-logo-sub-header" + }, + { + "text": "{{website}},{{email}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Receipt Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ReceiptDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Tax period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Consumer Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Contact No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Address:", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{doorHouseNo}} {{buildingName}} {{streetName}} {{pinCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Paid By", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{PaidBy}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "{{payment_mode}}", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Tax Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{taxAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "Field Fee", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{fieldFee}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "CGST(if applicable)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{cgst}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "SGST(if applicable)", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{sgst}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], [ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "10%", + "*" + ], + "body": [ + [ + { + "text":"Comments: ", + "border":[false, false, false, false] + }, + { + "text":"{{comments}}", + "border":[false, false, false, false] + } + ] + ], + "layout":"noBorders" + } + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "text":"---------------x------------------------------x-----------------------------x------------------------------x-----------------------x------------------x------", + "style":"next-noc-table" + + }, + { + "style": "noc-head-emp", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}} (Citizen Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}},{{phoneNumber}}", + "style": "receipt-logo-sub-header" + }, + { + "text": "{{website}},{{email}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Receipt Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ReceiptDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Tax period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Consumer Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Contact No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Address:", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{doorHouseNo}} {{buildingName}} {{streetName}} {{pinCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Paid By", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{PaidBy}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ] + + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "{{payment_mode}}", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "{{paymentMode}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], [ + { + "text": "Tax Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{taxAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "Field Fee", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{fieldFee}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "CGST(if applicable)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{cgst}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "SGST(if applicable)", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{sgst}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ],[ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "10%", + "*" + ], + "body": [ + [ + { + "text":"Comments: ", + "border":[false, false, false, false] + }, + { + "text":"{{comments}}", + "border":[false, false, false, false] + } + ] + ], + "layout":"noBorders" + } + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_1}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_2}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_3}}", + "bold": false, + "style": "pt-disclaimer-value" + }, { + "text":"Now log a complaint from WhatsApp, give a missed call on 8750975975 or send a Hi message on WhatsApp to this number", "bold": true, "fontSize": 8, "color": "blue", "decoration": "underline"} + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "noc-head-emp": { + "margin": [ + -30, + 10, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 10, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 4 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 8, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 10, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 6, + -22, + 0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 8, + "fontWeight": 500, + "margin": [ + 8, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 8, + "fontWeight": 400, + "margin": [ + -30, + 0, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 8, + "bold": true, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "no-signature": { + "fontSize": 8, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "pt-disclaimer": { + "fontSize": 8, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "pt-disclaimer-value": { + "fontSize": 8, + "margin": [ + 2, + 1, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/consolidatedreceiptold.json b/configs/pdf-service/format-config/consolidatedreceiptold.json new file mode 100644 index 00000000..ef1aad3f --- /dev/null +++ b/configs/pdf-service/format-config/consolidatedreceiptold.json @@ -0,0 +1,1392 @@ +{ + "key": "consolidatedreceiptold", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 150 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}} (Employee Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}},{{phoneNumber}}", + "style": "receipt-logo-sub-header" + }, + { + "text": "{{website}},{{email}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Receipt Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ReceiptDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Tax period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Consumer Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Contact No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Address:", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Paid By", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{PaidBy}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "{{payment_mode}}", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Tax Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{taxAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "Field Fee", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{fieldFee}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "CGST(if applicable)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{cgst}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "SGST(if applicable)", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{sgst}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], [ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "10%", + "*" + ], + "body": [ + [ + { + "text":"Comments: ", + "border":[false, false, false, false] + }, + { + "text":"{{comments}}", + "border":[false, false, false, false] + } + ] + ], + "layout":"noBorders" + } + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "text":"---------------x------------------------------x-----------------------------x------------------------------x-----------------------x------------------x------", + "style":"next-noc-table" + + }, + { + "style": "noc-head-emp", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}} (Citizen Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}},{{phoneNumber}}", + "style": "receipt-logo-sub-header" + }, + { + "text": "{{website}},{{email}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Receipt Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ReceiptDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Tax period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Consumer Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Contact No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Address:", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Paid By", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{PaidBy}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ] + + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "{{payment_mode}}", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "{{paymentMode}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], [ + { + "text": "Tax Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{taxAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "Field Fee", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{fieldFee}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "CGST(if applicable)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{cgst}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + + "text": "SGST(if applicable)", + + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + + "text": "₹ {{sgst}}", + + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ],[ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "10%", + "*" + ], + "body": [ + [ + { + "text":"Comments: ", + "border":[false, false, false, false] + }, + { + "text":"{{comments}}", + "border":[false, false, false, false] + } + ] + ], + "layout":"noBorders" + } + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_1}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_2}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_3}}", + "bold": false, + "style": "pt-disclaimer-value" + }, { + "text":"Now log a complaint from WhatsApp, give a missed call on 8750975975 or send a Hi message on WhatsApp to this number", "bold": true, "fontSize": 8, "color": "blue", "decoration": "underline"} + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "noc-head-emp": { + "margin": [ + -30, + 10, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 10, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 4 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 8, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 10, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 6, + -22, + 0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 8, + "fontWeight": 500, + "margin": [ + 8, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 8, + "fontWeight": 400, + "margin": [ + -30, + 0, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 8, + "bold": true, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "no-signature": { + "fontSize": 8, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "pt-disclaimer": { + "fontSize": 8, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "pt-disclaimer-value": { + "fontSize": 8, + "margin": [ + 2, + 1, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/firenoc-receipt.json b/configs/pdf-service/format-config/firenoc-receipt.json new file mode 100644 index 00000000..623f282e --- /dev/null +++ b/configs/pdf-service/format-config/firenoc-receipt.json @@ -0,0 +1,472 @@ +{ + "key":"firenoc-receipt", + "config":{ + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 120, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{variable32}}", + "width": 60, + "height": 61.25, + "margin": [ + 51, + 12, + 10, + 10 + ] + }, + { + "stack": [ + { + "text": "{{variable20}} NAGAR PANCHAYAT", + "style": "receipt-logo-header" + }, + { + "text": "Fire NOC Payment Receipt", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 10, + 23, + 0, + 0 + ] + }, + { + "image": "{{variable14}}", + "width": 70, + "height": 70, + "margin": [ + 50, + 8, + 8, + 8 + ], + "alignment": "right" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-subhead", + "columns": [ + { + "text": [ + { + "text": "Application No. ", + "bold": true + }, + { + "text": "{{variable1}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Date of Payment ", + "bold": true + }, + { + "text": "{{variable6}}", + "bold": false + } + ], + "alignment": "right" + } + ] + }, + { + "style": "noc-subhead", + "columns": [ + { + "text": [ + { + "text": "Payment Receipt No. ", + "bold": true + }, + { + "text": "{{variable7}}", + "bold": false + } + ], + "alignment": "left" + } + ] + }, + "{{#variable3}}{ \"text\": \"INSTITUTION DETAILS\", \"style\": \"noc-title\" }, { \"style\": \"noc-table\", \"table\": { \"widths\": [\"*\", \"*\", \"*\", \"*\"], \"body\": [ [ { \"text\": \"Type of Institution\", \"border\": [true, true, false, false] }, { \"text\": \"Name of Institute\", \"border\": [false, true, false, false] }, { \"text\": \"Official Telephone No.\", \"border\": [false, true, false, false] }, { \"text\": \"Authorized Person\", \"border\": [false, true, true, false] } ], [ { \"text\": \"{{variable21}}\", \"style\": \"receipt-table-value\", \"border\": [true, false, false, false] }, { \"text\": \"{{variable22}}\", \"style\": \"receipt-table-value\", \"border\": [false, false, false, false] }, { \"text\": \"{{variable23}}\", \"style\": \"receipt-table-value\", \"border\": [false, false, false, false] }, { \"text\": \"{{variable24}}\", \"style\": \"receipt-table-value\", \"border\": [false, false, true, false] } ], [ { \"text\": \"Designation in Institution\", \"border\": [true, false, false, false] }, { \"text\": \"Mobile No. of Authorized Person\", \"border\": [false, false, false, false] }, { \"text\": \"Email of Authorized Person\", \"border\": [false, false, false, false] }, { \"text\": \"Official Correspondence Address\", \"border\": [false, false, true, false] } ], [ { \"text\": \"{{variable25}}\", \"style\": \"receipt-table-value\", \"border\": [true, false, false, true] }, { \"text\": \"{{variable26}}\", \"style\": \"receipt-table-value\", \"border\": [false, false, false, true] }, { \"text\": \"{{variable27}}\", \"style\": \"receipt-table-value\", \"border\": [false, false, false, true] }, { \"text\": \"{{variable28}}\", \"style\": \"receipt-table-value\", \"border\": [false, false, true, true] } ] ] }, \"layout\": {} }{{/variable3}}{{^variable3}}{ \"text\": \"APPLICANT INFORMATION\", \"style\": \"noc-title\" }, { \"style\": \"noc-table", "table\": { \"widths\": [ \"*\", \"*\", \"*\", \"*\" ], \"body\": [ \"{{#variable2}}[{\"text\":\"Applicant Name\",\"border\":[true,true,false,true],\"style\":\"receipt-table-value\"},{\"text\":\"{{name}}\",\"border\":[false,true,true,true]},{\"text\":\"Mobile No.\",\"border\":[true,true,false,true],\"style\":\"receipt-table-value\"},{\"text\":\"{{mobileNumber}}\",\"border\":[false,true,true,true]}]{{/variable2}}\" ] }, \"layout\": {} }{{/variable3}}", + { + "text": "AMOUNT PAID", + "style": "noc-title" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "NOC Fee", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "NOC Taxes", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "Adhoc Penalty/Rebate", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "TOTAL", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + } + ], + [ + { + "text": "{{variable8}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + }, + { + "text": "{{variable9}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + }, + { + "text": "{{variable31}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + }, + { + "text": "{{variable10}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + } + ] + ] + }, + "layout": {} + }, + { + "text": "PAYMENT INFORMATION", + "style": "noc-title" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "Payment Mode", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "Transaction ID/ Cheque/ DD No.", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "Bank Name & Branch", + "border": [ + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + } + ], + [ + { + "text": "{{variable18}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + }, + { + "text": "{{variable12}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + }, + { + "text": "{{variable13}}", + "border": [ + true, + true, + true, + true + ], + "alignment": "center" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "Generated by: ", + "bold": true + }, + { + "text": "NOC Approver", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Commissioner/EO", + "bold": true + } + ], + "alignment": "right" + }, + { + "text": [ + { + "text": "Note", + "bold": true + } + ], + "alignment": "left" + }, + + + { + "ol": + [ + + "This license is not the proof of Property Ownership or Copy of NOC.", + "This is a computer generated document, hence requires no signature.", + "Payment is subjected to vaerification /scrutiny by competent authority." + ], + "style":"disclaimer" + + } + ] + } + ], + "footer": [], + "styles": { + "noc-head": { + "fillColor": "#F2F2F2", + "margin": [ + -70, + -41, + -81, + 0 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 16, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-subhead": { + "fontSize": 12, + "bold": true, + "margin": [ + -18, + 8, + 0, + 0 + ], + "color": "#484848" + }, + "noc-title": { + "fontSize": 10, + "bold": true, + "margin": [ + -18, + 16, + 8, + 8 + ], + "color": "#484848", + "fontWeight": 500 + }, + "noc-table": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -20, + -2, + -8, + -8 + ] + }, + "receipt-header-details": { + "fontSize": 9, + "margin": [ + 0, + 0, + 0, + 8 + ], + "color": "#484848" + }, + "noc-table-key": { + "color": "#484848", + "bold": false, + "fontSize": 10 + }, + "receipt-table-value": { + "color": "#484848", + "bold": true, + "fontSize": 10 + }, + "receipt-footer": { + "color": "#484848", + "fontSize": 8, + "margin": [ + -6, + 15, + -15, + -10 + ] + }, + "receipt-no": { + "color": "#484848", + "fontSize": 10 + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -20, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "disclaimer": + { + "fontSize":"10", + "margin": [ + 10, + 0, + 0, + 0 + ] + } + } + } +} \ No newline at end of file diff --git a/configs/pdf-service/format-config/firenocreceipt.json b/configs/pdf-service/format-config/firenocreceipt.json new file mode 100644 index 00000000..2b408bf7 --- /dev/null +++ b/configs/pdf-service/format-config/firenocreceipt.json @@ -0,0 +1,1369 @@ +{ + "key": "firenocreceipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 150 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}} (Employee Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}},{{phoneNumber}}", + "style": "receipt-logo-sub-header" + }, + { + "text": "{{website}},{{email}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Receipt Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ReceiptDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Tax period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Consumer Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Contact No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Address:", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Paid By", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{PaidBy}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payment_mode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Tax Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{taxAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Field Fee", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{fieldFee}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "CGST(if applicable)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{cgst}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "SGST(if applicable)", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{sgst}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], [ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "10%", + "*" + ], + "body": [ + [ + { + "text":"Comments: ", + "border":[false, false, false, false] + }, + { + "text":"{{comments}}", + "border":[false, false, false, false] + } + ] + ], + "layout":"noBorders" + } + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "text":"---------------x------------------------------x-----------------------------x------------------------------x-----------------------x------------------x------", + "style":"next-noc-table" + + }, + { + "style": "noc-head-emp", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}} (Citizen Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}},{{phoneNumber}}", + "style": "receipt-logo-sub-header" + }, + { + "text": "{{website}},{{email}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Receipt Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ReceiptDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Tax period", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Consumer Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Contact No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + + { + "text": "Address:", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Paid By", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{PaidBy}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ] + + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "30%", + "20%", + "30%", + "20%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payment_mode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], [ + { + "text": "Tax Amount", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{taxAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Field Fee", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{fieldFee}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "CGST(if applicable)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{cgst}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "SGST(if applicable)", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{sgst}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ],[ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "10%", + "*" + ], + "body": [ + [ + { + "text":"Comments: ", + "border":[false, false, false, false] + }, + { + "text":"{{comments}}", + "border":[false, false, false, false] + } + ] + ], + "layout":"noBorders" + } + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_1}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_2}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_3}}", + "bold": false, + "style": "pt-disclaimer-value" + }, { + "text":"Now log a complaint from WhatsApp, give a missed call on 8750975975 or send a Hi message on WhatsApp to this number", "bold": true, "fontSize": 8, "color": "blue", "decoration": "underline"} + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "noc-head-emp": { + "margin": [ + -30, + 10, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 10, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 4 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 8, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 10, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 6, + -22, + 0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 8, + "fontWeight": 500, + "margin": [ + 8, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 8, + "fontWeight": 400, + "margin": [ + -30, + 0, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 8, + "bold": true, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "no-signature": { + "fontSize": 8, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "pt-disclaimer": { + "fontSize": 8, + "margin": [ + -27, + 3, + -10, + 0 + ] + }, + "pt-disclaimer-value": { + "fontSize": 8, + "margin": [ + 2, + 1, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/mcollect-bill.json b/configs/pdf-service/format-config/mcollect-bill.json new file mode 100644 index 00000000..081e437c --- /dev/null +++ b/configs/pdf-service/format-config/mcollect-bill.json @@ -0,0 +1,768 @@ +{ + "key": "mcollect-bill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + "33%", + "33%", + "33%" + ], + "body": [ + [ + { + "text": "{{letter-code}}", + "style": "receipt-logo-header" + }, + { + "text": "{{letter-header}}", + "alignment": "center", + "style": "receipt-logo-header" + }, + { + "text": "{{letter-section}}", + "alignment": "right", + "color": "#484848", + "style": "receipt-logo-header", + "margin": [ + 0, + 0, + -30, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "canvas": [ + { + "type": "line", + "x1": -25, + "y1": -5, + "x2": 540, + "y2": -5, + "lineWidth": 0.1 + }, + { + "type": "line", + "x1": -25, + "y1": -2.5, + "x2": 540, + "y2": -2.5, + "lineWidth": 0.1 + } + ] + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "stack": [ + { + "text": "{{cb-name}} {{cantonment-board}}", + "alignment": "center", + "style": "receipt-logo-title-name" + }, + { + "text": "{{form-number}}", + "alignment": "center", + "style": "receipt-logo-title" + }, + { + "text": "{{rule-number}}", + "alignment": "center", + "style": "receipt-logo-title" + }, + { + "text": "{{challan}} / {{bill}}", + "alignment": "center", + "style": "receipt-logo-title" + } + ], + "border": [ + true, + true, + true, + false + ] + } + ], + [ + { + "stack": [ + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{challan_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{challanNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{challan_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{challanDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{bill_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{service_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{service_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{validity_from}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + }, + { + "text": "{{validity_to}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{consumer_Name}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{payer_contact}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "19%", + "81%" + ], + "body": [ + [ + { + "text": "{{address_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{doorHouseNo}}, {{buildingName}}, {{streetName}}, {{mohalla}}, {{pinCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + } + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "text": "{{total_amount}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value-total", + "bold": false + } + ], + [ + { + "text": "{{Rs}} {{totalAmount}}", + "border": [ + true, + false, + true, + false + ], + "style": "receipt-table-value-total", + "fontSize": 20 + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "60%", + "30%", + "10%" + ], + "body": [ + "{{#variable10}}[{\"text\": \"{{trade_license_tax}}\",\"border\": [true,false,false,false], \"style\": \"receipt-table-value-down\"},{\"text\": \"{{tradeLicenseTax}}\", \"border\": [false,false,false,false], \"style\": \"receipt-table-value-down\"},{ \"text\": \" \",\"border\": [false,false,true, false ]}]{{/variable10}}" + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -25, + "y1": 0, + "x2": 345, + "y2": 0, + "lineWidth": 1 + } + ] + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "60%", + "30%", + "10%" + ], + "body": [ + [ + { + "text": "{{total_amount}}", + "border": [ + true, + false, + false, + true + ], + "bold": true, + "style": "receipt-table-value-down" + }, + { + "text": "{{totalAmount}}", + "border": [ + false, + false, + false, + true + ], + "bold": true, + "style": "receipt-table-value-down" + }, + { + "image": "{{qrcodeimage}}", + "style": "receipt-table-value-total-Qr", + "border": [ + false, + false, + true, + true + ], + "width": 72, + "height": 72 + } + ] + ] + }, + "layout": {} + }, + { + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "style": "no-signature", + "text": "{{no_signature}}" + } + ] + ] + }, + "layout": "noBorders" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "qr-head": { + "margin": [ + 0, + 30, + 0, + 1 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 15, + -25, + -0 + ] + }, + "noc-table4": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 0, + -25, + -0 + ] + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -20, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "receipt-logo-title": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 500 + }, + "receipt-logo-title-name": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500 + }, + "receipt-logo-header": { + "color": "#484848", + "fontSize": 9, + "bold": false, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 45, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -25, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 5 + ] + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "alignment": "right", + "margin": [ + 0, + 5, + 30, + 0 + ] + }, + "receipt-table-value-total-Qr": { + "alignment": "right", + "margin": [ + 0, + -40, + 10, + 0 + ] + }, + "receipt-table-value-down": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "alignment": "left", + "margin": [ + 3, + 5, + 0, + 5 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table-value-cont": { + "color": "#000000", + "bold": false, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "pt-disclaimer": { + "fontSize": 11, + "margin": [ + -27, + 0, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 10, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/mcollect-challan.json b/configs/pdf-service/format-config/mcollect-challan.json new file mode 100644 index 00000000..4ed93c20 --- /dev/null +++ b/configs/pdf-service/format-config/mcollect-challan.json @@ -0,0 +1,824 @@ +{ + "key": "mcollect-challan", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + "33%", + "33%", + "33%" + ], + "body": [ + [ + { + "text": " ", + "style": "receipt-logo-header" + }, + { + "text": "{{letter-header}}", + "alignment": "center", + "style": "receipt-logo-header" + }, + { + "text": " ", + "alignment": "right", + "color": "#484848", + "style": "receipt-logo-header", + "margin": [ + 0, + 0, + -30, + 0 + ] + } + + ] + ] + }, + "layout": "noBorders" + }, + + { + "style": "noc-table2", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "stack": [ + { + "text": "{{cb-name}} {{mcGrade}}", + "alignment": "center", + "style": "receipt-logo-title-name" + }, + { + "text": "{{form-number}}", + "alignment": "center", + "style": "receipt-logo-title" + }, + { + "text": "{{challanStatus}}", + "style": "receipt-logo-title-status" + }, + { + "text": "{{rule-number}}", + "alignment": "center", + "style": "receipt-logo-title" + }, + { + "text": "{{challan}} / {{bill}}", + "alignment": "center", + "style": "receipt-logo-title" + } + ], + "border": [ + true, + true, + true, + false + ] + } + ], + [ + { + "stack": [ + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{challan_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{challanNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{challan_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{challanDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{bill_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{service_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{service_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{validity_from}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + }, + { + "text": "{{validity_to}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "20%", + "30%", + "20%", + "30%" + ], + "body": [ + [ + { + "text": "{{consumer_Name}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text": "{{payer_contact}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down", + "font": "Roboto" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "19%", + "81%" + ], + "body": [ + [ + { + "text": "{{address_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{doorHouseNo}}, {{buildingName}}, {{streetName}},{{pinCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "19%", + "81%" + ], + "body": [ + [ + { + "text": "{{remarks_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{challanRemarks}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-logo-title-remarks-new" + } + ] + ] + } + } + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "text": "{{total_amount}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value-total", + "bold": false + } + ], + [ + { + "text": "{{Rs}} {{totalAmount}}", + "border": [ + true, + false, + true, + false + ], + "style": "receipt-table-value-total", + "fontSize": 20 + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "60%", + "30%", + "10%" + ], + "body": [ + "{{#variable10}}[{\"text\": \"{{trade_license_tax}}\",\"border\": [true,false,false,false], \"style\": \"receipt-table-value-down\"},{\"text\": \"{{tradeLicenseTax}}\", \"border\": [false,false,false,false], \"style\": \"receipt-table-value-down\"},{ \"text\": \" \",\"border\": [false,false,true, false ]}]{{/variable10}}" + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -25, + "y1": 0, + "x2": 345, + "y2": 0, + "lineWidth": 1 + } + ] + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "60%", + "30%", + "10%" + ], + "body": [ + [ + { + "text": "{{total_amount}}", + "border": [ + true, + false, + false, + true + ], + "bold": true, + "style": "receipt-table-value-down" + }, + { + "text": "{{totalAmount}}", + "border": [ + false, + false, + false, + true + ], + "bold": true, + "style": "receipt-table-value-down" + }, + { + "image": "{{qrcodeimage}}", + "style": "receipt-table-value-total-Qr", + "border": [ + false, + false, + true, + true + ], + "width": 72, + "height": 72 + } + ] + ] + }, + "layout": {} + }, + { + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "style": "no-signature", + "text": "{{no_signature}}" + } + ] + ] + }, + "layout": "noBorders" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "qr-head": { + "margin": [ + 0, + 30, + 0, + 1 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 15, + -25, + -0 + ] + }, + "noc-table4": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 0, + -25, + -0 + ] + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -20, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "receipt-logo-title": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 500 + }, + "receipt-logo-title-name": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500 + }, + "receipt-logo-header": { + "color": "#484848", + "fontSize": 9, + "bold": false, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-logo-title-status": { + "color": "#000000", + "alignment": "right", + "bold": true, + "fontSize": 13, + "fontWeight": 500, + "margin": [ + 0, + -22, + 60, + 0 + ] + }, + "receipt-logo-title-remarks": { + "color": "#000000", + "alignment": "right", + "bold": true, + "fontSize": 8, + "fontWeight": 500, + "margin": [ + 0, + -22, + 70, + -10 + ] + }, + "receipt-logo-title-remarks-new": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 45, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -25, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 5 + ] + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "alignment": "right", + "margin": [ + 0, + 5, + 30, + 0 + ] + }, + "receipt-table-value-total-Qr": { + "alignment": "right", + "margin": [ + 0, + -40, + 10, + 0 + ] + }, + "receipt-table-value-down": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "alignment": "left", + "margin": [ + 3, + 5, + 0, + 5 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table-value-cont": { + "color": "#000000", + "bold": false, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "pt-disclaimer": { + "fontSize": 11, + "margin": [ + -27, + 0, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 10, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/misc-receipt.json b/configs/pdf-service/format-config/misc-receipt.json new file mode 100644 index 00000000..babaa3eb --- /dev/null +++ b/configs/pdf-service/format-config/misc-receipt.json @@ -0,0 +1,592 @@ +{ + "key": "misc-receipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*" + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25, + "margin": [ + 10, + 0, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{logo-header}}", + "style": "receipt-logo-header" + }, + { + "text": "{{payment_receipt}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "center", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{receipt_info}}", + "bold": true + } + ], + "alignment": "left" + } + ] + }, + { + "style": "noc-table", + "table": { + "widths": [ + "16%", + "18%", + "16%", + "10%", + "18%", + "22%" + ], + "body": [ + [ + { + "text": "{{receipt_no}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + }, + { + "text": "{{payment_date}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{payer_info}}", + "bold": true + } + ], + "alignment": "left" + } + ] + }, + { + "style": "noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{payer_name}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + }, + { + "text": "{{payer_contact}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{payment_info}}", + "bold": true + } + ], + "alignment": "left" + } + ] + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{service_type}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + true + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{billing_period}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + }, + { + "text": "{{paid_amount}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payment_mode}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + }, + { + "text": "{{transaction_id}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{transactionID}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{g8_receipt_no}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}} :", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}} : ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "no-signature", + "text": "{{no_signature}}" + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_1}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_2}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_3}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_4}}", + "bold": false, + "style": "pt-disclaimer-value" + } + ] + } + ], + "styles": { + "noc-head": { + "fillColor": "#b8bfcc", + "margin": [ + -25, + -30, + -22, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 20, + -22, + 0 + ] + }, + "next-noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 10, + -22, + 0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -6, + 8, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 9, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/passvehicle-certificate.json b/configs/pdf-service/format-config/passvehicle-certificate.json new file mode 100644 index 00000000..dcbb8d75 --- /dev/null +++ b/configs/pdf-service/format-config/passvehicle-certificate.json @@ -0,0 +1,500 @@ +{ + "key": "tlcertificate", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + + { + "style": "noc-head", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "image": "{{qr}}", + "width": 70, + "height": 70, + "margin": [ + 50, + 8, + -30, + 8 + ], + "alignment": "right" + } + + ] + ] + }, + "layout": "noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "*" + ], + "body":[ + [ + { + "image": "{{userpic}}", + "width": 80, + "height": 92, + "alignment": "center", + "margin": [ + 0, + 10, + 0, + 10 + ] + } + ], + [ + { + "stack": [ + { + "text":"{{municipal_corportaion}}", + "style":"receipt-logo-header" + } + ], + "alignment":"left", + "margin":[ + 0, + 10, + 0, + 0 + ] + } + ], + [ + { + "stack": [ + { + "text":"{{trade_license_certifcate}}", + "style":"receipt-sub-logo-header" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_license_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeLicenseNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{application_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{applicationNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_type}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeType}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{pass_subCategory}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{passSubCategory}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{purpose_label}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{purpose_content}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_issue_date}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseIssueDate}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_validity_from}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseValidityFrom}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_validity_to}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseValidityTo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{vehicle_number_label}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{vehicleNumber}}", + "style":"receipt-sub-logo-sub-header", + "font": "Roboto" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{vehicle_company_label}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{vehicleCompany}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{vehicle_model_label}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{vehicleModel}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + } + ], + "alignment":"left", + "margin":[ + 0, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"receipt-approver", + "columns": [ + { + "text":[ + { + "text":"{{approved_by}} ", + "bold": true + }, + { + "text":" {{approvedBy}}", + "bold": false + } + ], + "alignment":"left" + }, + { + "text":[ + { + "text":"{{commissioner}}", + "bold": true + } + ], + "alignment":"right" + } + ] + }, + { + "text": "{{disclaimer_heading}}", + "bold": true, + "style": "receipt-approver", + "alignment": "left", + "fontSize": 13, + "margin": [ + -10, + 70, + 0, + 0 + ] + }, + { + "text": "{{disclaimer_body}}", + "style": "receipt-sub-logo-sub-header", + "alignment": "left", + "fontSize": 13, + "margin": [ + -10, + 10, + 0, + 0 + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -35, + 0, + -2 + ] + }, + "receipt-approver": { + "color": "#000000", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + -10, + 50, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 20, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-sub-logo-header": { + "color": "#000000", + "fontSize": 18, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 0 + ] + }, + "receipt-sub-logo-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "left", + "margin": [ + 50, + 40, + 0, + 0 + ] + }, + "receipt-sub-address-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -90, + 0 + ] + }, + "receipt-sub-website-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -120, + 0 + ] + }, + "receipt-sub-email-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -110, + 0 + ] + } + } + } + } \ No newline at end of file diff --git a/configs/pdf-service/format-config/property-bill.json b/configs/pdf-service/format-config/property-bill.json new file mode 100644 index 00000000..140463f7 --- /dev/null +++ b/configs/pdf-service/format-config/property-bill.json @@ -0,0 +1,1212 @@ +{ + "key": "property-bill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo_header}} {{Municipal_Corporation}}", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{total_amount_due}}" + }, + { + "text": "{{Rs}} {{totalAmountDue}}", + "style": "amount-due" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 2, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + 130, + 130, + -2, + 130, + 130 + ], + "body": [ + [ + { + "text": "{{payer_name}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_no}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{mobile_no}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{mobileNo}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_period}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} - {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_address}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_issue_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billIssueDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": " ", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_due_date}}", + "border": [ + true, + false, + false, + true + ], + "style": "right-receipt-table" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "right-receipt-table2" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{billing_summary_property_tax}} {{serviceType}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "30%", + "26%", + "10%", + "11%", + "10%", + "15%" + ], + "body": [ + [ + { + "text": "{{tl_application_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{bill_period}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{charge_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{adhoc_penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{propertyID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{fromPeriod}}-{{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{charge}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{adhoc_penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + } + } + ], + [ + { + "table": { + "widths" : [ + "11%", + "15%", + "15%", + "11%", + "11%", + "11%", + "11%", + "11%" + ], + "body":[ + [ + { + "text": "{{adhoc_rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{owner_exemption_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{unit_usage_exemption_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{fire_cess_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{cancer_cess_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{time_interest_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{decimal_ceiling_debit_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{decimal_ceiling_credit_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{adhoc_rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + }, + { + "text": "{{owner_exemption}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{unit_usage_exemption}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{fire_cess}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{cancer_cess}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{time_interest}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{decimal_ceiling_debit}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{decimal_ceiling_credit}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + + ] + } + + } + ], + [ + { + "table": { + "widths" : [ + "18%", + "11%", + "11%", + "11%" + ], + "body":[ + [ + { + "text": "{{advance_carryforward_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{arrears_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{roundoff_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{total_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{advance_carryforward}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{arrearrs}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{roundoff}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + + ] + } + + } + ] + ] + }, + "layout": {} + }, + + { + "style" : "noc-table3", + "table" : { + "widths": [ + "103%" + ], + "body":[ + [ + { + "style": "noc-table3", + "table": { + "widths": [ + "100%" + ], + "body": ["[{\"text\": \"{{important_message}}\",\"border\":[false,false,false,false],\"style\":\"bill-message-header\"}],{{#variable11}}[{\"text\":\"{{disclaimerContent}}\",\"border\":[false,false,false,false],\"style\":\"bill-message-value\"}]{{/variable11}}"] + } + } + ] + ] + + } + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 30, + "x2": 700, + "y2": 30, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "image": "{{scissorImage}}", + "width": 24, + "height": 24, + "margin": [ + -30, + -11.2, + 0, + 0 + ] + }, + + { + "text": "{{acknowledgement_for}}", + "style": "footer-header" + + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "25%", + "30%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{date_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billdate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{consumer_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{name_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}, {{nameAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{total_payment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + }, + { + "text": "{{receivers_signature}}", + "style": "footer-bottom" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 10, + -8, + -8 + ] + }, + "noc-table4": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 75, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 30, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 10 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 5, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 30, + "color": "#FC8019", + "bold": true, + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 15, + 0, + -40 + ], + "bold": true, + "color": "#000000", + "alignment": "center" + }, + "footer-bottom": { + "margin": [ + 0, + 50, + 0, + 0 + ], + "bold": true, + "color": "#000000", + "alignment": "right" + }, + "bill-message-header": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 28, + -15, + 0, + 10 + ] + }, + "bill-message-value": { + "color": "#484848", + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 28, + -5, + 0, + 10 + ] + }, + "disclaimer-table": { + "fontSize": 12, + "bold": false, + "color": "#FC8019", + "margin": [ + -25, + 16, + -8, + -8 + ] + } + } + } +} \ No newline at end of file diff --git a/configs/pdf-service/format-config/property-receipt.json b/configs/pdf-service/format-config/property-receipt.json new file mode 100644 index 00000000..e9fff43b --- /dev/null +++ b/configs/pdf-service/format-config/property-receipt.json @@ -0,0 +1,1357 @@ +{ + "key": "property-receipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 4, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{phoneNumber}}", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{website}}", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{email}}", "style": "receipt-logo-sub-header" + + + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "text":"PROPERTY INFORMATION", + "style":"block-head" + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-tableee" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-tableee" + } + ], + [ + { + "text": "Assessment Year(Paid Amount)", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{assessmentYear}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-tableee" + }, + { + "text": "Existing Property Id", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{oldPropertyId}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-tableee" + } + ], + [ + { + "text": "{{payment_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-tableee" + }, + { + "text": "Survey Id/UID", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{surveyId}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-tableee" + } + ], + [ + { + "text": "{{payer_contact}}", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-tableee" + }, + { + "text" : "Payment Status", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text" : "{{paymentStatus}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-tableee" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "House/Door No. : ", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{doorNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-tableee" + }, + { + "text": "Building/Colony Name: ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{buildingName}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-tableee" + } + ], + [ + { + "text": "Street Name: ", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{streetName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-tableee" + }, + { + "text": "Locality/Mohalla :", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{locality}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-tableee" + } + ], + [ + { + "text": "Plot Size (Sq. Yards) : ", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{landArea}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-tableee" + }, + { + "text": "Property Type: ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{propertyType}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-tableee" + } + ], + [ + { + "text": "Property Usage Type ", + "border": [ + true, + false, + false, + true + + ], + "style": "receipt-table-value" + }, + { + "text": "{{propertyUsage}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-tableee" + }, + { + "text": " ", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-tableee" + } + ] + ] + }, + "layout": {} + }, + { + "text":"AMOUNT TO BE PAID", + "style":"block-head" + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + + "7%","9%","7%","7%","7%","7%","8%","8%","8%","8%","8%","7%","9%" + ], + "body": [ + + [ { + "text": "Year", + "style": "amounts" + }, + { + "text": "Property Tax", + "style": "amounts" + }, + { + "text": "Fire Cess", + "style": "amounts" + }, + { + "text": "Cancer Cess", + "style": "amounts" + }, + { + "text": "Penalty", + "style": "amounts" + }, + { + "text": "Rebate", + "style": "amounts" + }, + { + "text": "Interest", + "style": "amounts" + }, + { + "text": "Usage Exemp.", + "style": "amounts" + }, + { + "text": "Category Exemp.", + "style": "amounts" + }, + { + "text": "Adhoc Penalty", + "style": "amounts" + }, + { + "text": "Adhoc Rebate", + "style": "amounts" + }, + { + "text": "Round Off", + "style": "amounts" + }, + { + "text": "Total", + "style": "amounts" + } + + ], + + "{{#var_tax}}[{\"text\":\"{{year}}\",\"style\":\"receipt-table\"},{\"text\":\"{{tax}}\",\"style\":\"receipt-table\"},{\"text\":\"{{firecess}}\",\"style\":\"receipt-table\"},{\"text\":\"{{cancercess}}\",\"style\":\"receipt-table\"},{\"text\":\"{{penalty}}\",\"style\":\"receipt-table\"},{\"text\":\"{{rebate}}\",\"style\":\"receipt-table\"},{\"text\":\"{{interest}}\",\"style\":\"receipt-table\"},{\"text\":\"{{usage_exemption}}\",\"style\":\"receipt-table\"},{\"text\":\"{{special_category_exemption}}\",\"style\":\"receipt-table\"},{\"text\":\"{{adhoc_penalty}}\",\"style\":\"receipt-table\"},{\"text\":\"{{adhoc_rebate}}\",\"style\":\"receipt-table\"},{\"text\":\"{{roundoff}}\",\"style\":\"receipt-table\"},{\"text\":\"{{total}}\",\"style\":\"receipt-table\"}]{{/var_tax}}" + + + ] + }, + "layout":{} + }, + { + "text":"SUMMARY OF PAID AMOUNT", + "style":"block-head" + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + + "7%","9%","7%","7%","7%","7%","8%","8%","8%","8%","8%","7%","9%" + ], + "body": [ + + [ { + "text": "Year", + "style": "amounts" + }, + { + "text": "Property Tax", + "style": "amounts" + }, + { + "text": "Fire Cess", + "style": "amounts" + }, + { + "text": "Cancer Cess", + "style": "amounts" + }, + { + "text": "Penalty", + "style": "amounts" + }, + { + "text": "Rebate", + "style": "amounts" + }, + { + "text": "Interest", + "style": "amounts" + }, + { + "text": "Usage Exemp.", + "style": "amounts" + }, + { + "text": "Category Exemp.", + "style": "amounts" + }, + { + "text": "Adhoc Penalty", + "style": "amounts" + }, + { + "text": "Adhoc Rebate", + "style": "amounts" + }, + { + "text": "Round Off", + "style": "amounts" + }, + { + "text": "Total", + "style": "amounts" + } + + ], + + "{{#var_bills}}[{\"text\":\"{{year}}\",\"style\":\"receipt-table\"},{\"text\":\"{{tax}}\",\"style\":\"receipt-table\"},{\"text\":\"{{firecess}}\",\"style\":\"receipt-table\"},{\"text\":\"{{cancercess}}\",\"style\":\"receipt-table\"},{\"text\":\"{{penalty}}\",\"style\":\"receipt-table\"},{\"text\":\"{{rebate}}\",\"style\":\"receipt-table\"},{\"text\":\"{{interest}}\",\"style\":\"receipt-table\"},{\"text\":\"{{usage_exemption}}\",\"style\":\"receipt-table\"},{\"text\":\"{{special_category_exemption}}\",\"style\":\"receipt-table\"},{\"text\":\"{{adhoc_penalty}}\",\"style\":\"receipt-table\"},{\"text\":\"{{adhoc_rebate}}\",\"style\":\"receipt-table\"},{\"text\":\"{{roundoff}}\",\"style\":\"receipt-table\"},{\"text\":\"{{total}}\",\"style\":\"receipt-table\"}]{{/var_bills}}" + + + ] + }, + "layout":{} + }, + { + "text":"PAYMENT INFORMATION", + "style":"block-head" + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "Amount to be Paid", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{dueAmount}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{paid_amount}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{pending_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{pendingAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payment_mode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "IFSC Code", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Bank/Branch Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bank}},{{branch}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{transaction_id}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{transactionID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Trans/Cheque/DD Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{transactionDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Penalty Reason", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{penaltyReason}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "Rebate Reason", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{rebateReason}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + + ] + ] + }, + "layout": {} + }, + { + "text":"OWNER/OCCUPIER INFORMATION", + "style":"block-head" + } + , + { + "style": "next-noc-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*", + "*", + "*" + ], + "body": ["{{#var_owners}}[{\"text\":\"Owner Name\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{name2}}\",\"border\":[false,true,true,true]},{\"text\":\"Father/Husband Name\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{fatherOrHusbandName2}}\",\"border\":[false,true,true,true]},{\"text\":\"Share % (Category)\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{ownerShipPercentage}} ({{ownerType}}) \",\"border\":[false,true,true,true]}]{{/var_owners}}"] + }, + "layout": {} + }, { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "Name of Institution", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{institutionName}}", + "border": [ + false, + true, + false, + true + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + true, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "text":"BUILT-UP AREA DETAILS", + "style":"block-head" + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "15%", + "20%", + "*", + "20%", + "20%" + ], + "body": + [ + [ + { + "text": "Floor", + "style": "receipt-table-value22" + },{ + "text": "Usage", + "style": "receipt-table-value22" + }, + { + "text": "Sub Usage", + "style": "receipt-table-value22" + }, + { + "text": "Occupancy", + "style": "receipt-table-value22" + }, + { + "text": "Built Area (Sq. Yard) /annual Rent", + "style": "receipt-table-value22" + } + ], + "{{#var_floors}}[{\"text\":\"{{floor_no}}\",\"style\":\"receipt-table\"},{\"text\":\"{{usage_category}}\",\"style\":\"receipt-table\"},{\"text\":\"{{sub_usage_category}}\",\"style\":\"receipt-table\"},{\"text\":\"{{occupancy_type}}\",\"style\":\"receipt-table\"},{\"text\":\"{{builtup_area}}/{{arv_rent}}\",\"style\":\"receipt-table\"}]{{/var_floors}}" + ] + + + }, + "layout": {} + }, + { + "text":"ADDITIONAL DETAILS", + "style":"block-head" + }, + { + "style": "next-noc-table2", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "Vasika No.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{vasikaNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Vasika Date", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{vasikaDate}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Allotment No", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{allotmentNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Allotment Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{allotmentDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Business Name", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{businessName}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "Remarks", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{remarks}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "text": "Mobile Number {{ownerMobileNumber}} Assessee Signature: {{generated_by}}: {{user-name}} Approved By: {{approvedBy}} ", + "style": "receipt-approver" + } + , + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "pt-disclaimer", + "stack": + [ + { + "text": [{"text": "{{disclamer}} : Citizen for Online Payments please refer to the link ", "bold": true, "style": "pt-disclaimer-value"}, + {"text": "https://mseva.lgpunjab.gov.in/", "bold": true, "fontSize": 8, "color": "blue", "decoration": "underline"}]}, + { "text": "1. Payment received by cheque/demand draft shall be subject to realization, This is a computer generated document, hence requires no signature."}, + {"text":"2. This document is not a proof of Property Ownership and regularization of unauthorized construction."}, + {"text":"3. Assessment & Payment is subject to verification/Scrutiny by competitive authority.Also deposit property tax dues for earlier years. Ignore, if already paid."}, + {"text":"4. Residential Property will not be considered Commercial even if Commercial property tax is paid"}, + { + "text":"Now log a complaint from WhatsApp, give a missed call on 8750975975 or send a Hi message on WhatsApp to this number", "bold": true, "fontSize": 8, "color": "blue", "decoration": "underline"} + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "block-head": { + "fontSize": 7, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + -25, + 10, + 0, + -10 + ] + }, + "pt-reciept-citizen-table": { + "fontSize": 7, + "color": "#484848" + }, + "receipt-assess-table-header": { + "bold": true, + "fillColor": "#D8D8D8", + "color": "#484848" + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 8.5, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 3 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 8.5, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 7, + "color": "#000000", + "margin": [ + -25, + 5, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 7, + "color": "#000000", + "margin": [ + -25, + 7, + -22, + -8 + ] + }, "next-noc-table2": { + "fontSize": 7, + "color": "#000000", + "margin": [ + -25, + 10, + -22, + 0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 7, + "fontWeight": 500, + "margin": [ + 8, + 2, + 0, + -5 + ] + }, + "receipt-table-value22": { + "color": "#000000", + "bold": true, + "fontSize": 7, + "fontWeight": 500, + "backgroundColor": "#D3D3D3", + "margin": [ + -4, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 7, + "fontWeight": 400, + "margin": [ + 0, + 0, + 0, + 0 + ] + },"receipt-tableee": { + "color": "#000000", + "bold": true, + "fontSize": 7, + "fontWeight": 500, + "margin": [ + 0, + 2, + 0, + -6 + ] + }, + "receipt-approver": { + "fontSize": 7, + "bold": true, + "margin": [ + -27, + 7, + -10, + 0 + ], + "color": "#484848" + },"receipt-approver2": { + "fontSize": 7, + "bold": true, + "margin": [ + -27, + 1, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 7, + "margin": [ + -27, + 20, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 8, + "margin": [ + -27, + 10, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 8, + "margin": [ + 2, + 0, + 0, + 0 + ], + "color": "#484848" + }, + "amounts": + { + "fontSize": 8, + "backgroundColor": "#D3D3D3" + }, + "amountss": + { + "fontSize": 8 + } + } + } +} diff --git a/configs/pdf-service/format-config/pt-receipt.json b/configs/pdf-service/format-config/pt-receipt.json new file mode 100644 index 00000000..4a1b0797 --- /dev/null +++ b/configs/pdf-service/format-config/pt-receipt.json @@ -0,0 +1,808 @@ +{ + "key":"pt-receipt", + "config":{ + + "content":[ + { + "style": "pt-reciept-citizen-table", + "margin": [ + 0, + 0, + 0, + 18 + ], + "table": { + "widths": [ + 50, + "*", + 100 + ], + "body": [ + [ + { + "image": "{{variable38}}", + "width": 30, + "margin": [ + 10, + 10, + 10, + 10 + ] + }, + { + "stack": [ + { + "text": "{{variable35}} NAGAR PANCHAYAT", + "style": "receipt-logo-header" + }, + { + "text": "Property Tax Payment Receipt ({{variable36}}) ", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 0 + ] + }, + { + "text": [ + { + "text": "Receipt No.: ", + "bold": true + }, + "{{variable15}}" + ], + "margin": [10, 10, 10, 2] + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-header-details", + "columns": [ + { + "text": [ + { + "text": "Date: ", + "bold": true + }, + "{{variable16}}" + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Contact Us: ", + "bold": true + }, + "0183-2545155" + ], + "alignment": "right" + } + ] + }, + { + "style": "receipt-header-details", + "columns": [ + { + "text": [ + { + "text": "Assessment Year: ", + "bold": true + }, + "{{variable1}}" + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Website: ", + "bold": true + }, + "www.amritsarcorp.com" + ], + "alignment": "right" + } + ] + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "body": [ + [ + { + "text": "Existing Property ID:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable2}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Property Tax Unique ID:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable3}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Assessment No:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable4}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "PROPERTY ADDRESS", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "House/Door No.:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable5}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Building/Colony Name.:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable6}}", + "border": [ + false, + true, + true, + true + ] + } + ], + [ + { + "text": "Street Name:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable7}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Locality/Mohalla:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable8}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "ASSESSMENT INFORMATION", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "Plot Size(sq yards)", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable9}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Property Type:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable10}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "BUILT-UP AREA DETAILS", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "receipt-assess-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "Floor", + "style": "receipt-assess-table-header" + }, + { + "text": "Usage Type", + "style": "receipt-assess-table-header" + }, + { + "text": "Sub Usage Type", + "style": "receipt-assess-table-header" + }, + { + "text": "Occupancy", + "style": "receipt-assess-table-header" + }, + { + "text": "Built Area/Total Annual Rent(sq yards)", + "style": "receipt-assess-table-header" + } + ], + "{{variable12}}" + ] + }, + "layout": {} + }, + { + "text": "OWNERSHIP INFORMATION", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": ["{{#variable11}}[{\"text\":\"Owner Name\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{name}}\",\"border\":[false,true,true,true]},{\"text\":\"Father's Name\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{fatherOrHusbandName}}\",\"border\":[false,true,true,true]}]{{/variable11}}"] + }, + "layout": {} + }, + { + "text": "PAYABLE AMOUNT", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "receipt-assess-table", + "table": { + "widths": [ + "auto", + "auto", + "auto", + "auto", + "auto", + "auto", + "auto", + "auto", + "auto", + "auto" + ], + "body": [ + [ + { + "text": "Property Tax" + }, + { + "text": "Fire Cess" + }, + { + "text": "Cancer Cess" + }, + { + "text": "Penalty" + }, + { + "text": "Rebate" + }, + { + "text": "Interest" + }, + { + "text": "Usage Exemption" + }, + { + "text": "Special Category Exemption" + }, + { + "text": "Round Off" + }, + { + "text": "Total" + } + ], + [ + { + "text": "{{variable17}}" + }, + { + "text": "{{variable18}}" + }, + { + "text": "{{variable19}}" + }, + { + "text": "{{variable20}}" + }, + { + "text": "{{variable21}}" + }, + { + "text": "{{variable22}}" + }, + { + "text": "{{variable23}}" + }, + { + "text": "{{variable24}}" + }, + { + "text": "{{variable25}}" + }, + { + "text": "{{variable34}}" + } + ] + ] + }, + "layout": {} + }, + { + "text": "PAYMENT INFORMATION", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": [ + "auto", + "auto", + "auto", + "auto" + ], + "body": [ + [ + { + "text": "Total Amount Paid:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable27}}", + "border": [ + false, + true, + true, + true + ], + "style": "receipt-table-value" + }, + { + "text": "Pending Amount:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable37}}", + "border": [ + false, + true, + true, + true + ] + } + ], + [ + { + "text": "Payment Mode:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable28}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Bank Name:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable29}}", + "border": [ + false, + true, + true, + true + ] + } + ], + [ + { + "text": "Transaction ID/ Cheque/ DD No.:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable30}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Transaction Date:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable31}}", + "border": [ + false, + true, + true, + true + ] + } + ], + [ + { + "text": "G8 Receipt No:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable32}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "G8 Receipt Issue Date:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable33}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "Commissioner/EO", + "alignment": "right", + "color": "#484848", + "fontSize": 12, + "bold": true, + "margin": [ + 0, + 30, + 0, + 30 + ] + }, + { + "text": "Note:", + "alignment": "left", + "style": "receipt-footer" + }, + { + "ol": [ + { + "text": "Payment received by cheque/demand draft shall be subject to realization.", + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + { + "text": "This document is not a proof of Property Ownership and regularization of unauthorized construction.", + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + { + "text": "This is a computer generated document, hence requires no signature.", + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + { + "text": "Assessment & Payment is subject to verification/Scrutiny by competitive authority.", + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + { + "text": "Please deposit property tax dues for earlier years also. Ignore, if already paid.", + "margin": [ + 0, + 0, + 0, + 5 + ] + } + ], + "alignment": "left", + "style": "receipt-footer" + } + ], + "styles": { + "pt-reciept-citizen-subheader": { + "fontSize": 10, + "bold": true, + "margin": [ + 0, + 16, + 0, + 8 + ], + "color": "#484848" + }, + "pt-reciept-citizen-table": { + "fontSize": 10, + "color": "#484848" + }, + "receipt-assess-table": { + "fontSize": 10, + "color": "#484848", + "margin": [ + 0, + 8, + 0, + 0 + ] + }, + "receipt-assess-table-header": { + "bold": true, + "fillColor": "#D8D8D8", + "color": "#484848" + }, + "receipt-header-details": { + "fontSize": 9, + "margin": [ + 0, + 0, + 0, + 8 + ], + "color": "#484848" + }, + "receipt-table-key": { + "color": "#484848", + "bold": true + }, + "receipt-table-value": { + "color": "#484848" + }, + "receipt-logo-header": { + "color": "#484848", + "fontSize": 16, + "bold": true, + "decoration": "underline", + "decorationColor": "#484848" + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontSize": 13, + "decoration": "underline", + "decorationColor": "#484848" + }, + "receipt-footer": { + "color": "#484848", + "fontSize": 8, + "margin": [ + 0, + 0, + 0, + 5 + ] + } + } + } +} \ No newline at end of file diff --git a/configs/pdf-service/format-config/ptmutationcertificate.json b/configs/pdf-service/format-config/ptmutationcertificate.json new file mode 100644 index 00000000..07b8fe6d --- /dev/null +++ b/configs/pdf-service/format-config/ptmutationcertificate.json @@ -0,0 +1,518 @@ +{ + "key": "ptmutationcertificate", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "image": "{{ULB_LOGO}}", + "width": 70, + "height": 82, + "alignment": "center", + "margin": [ + 0, + 10, + 0, + 10 + ] + } + ], + [ + { + "stack": [ + { + "text": "{{ULB_CITY}} {{municipal_corportaion}}", + "style": "receipt-logo-header" + }, + { + "text": "{{ULB_ADDRESS}}", + "style": "receipt-logo-sub-header" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text": "{{corporation_fax}} : {{CorporationContact_Value}} ", + "style": "receipt-sub-address-sub-header" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text": "{{corporation_website}} : {{corporationWebsite}}", + "style": "receipt-sub-website-sub-header" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text": "{{corporation_email}} : {{corporationEmail}}", + "style": "receipt-sub-email-sub-header" + } + ] + ] + }, + "layout": "noBorders" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + ], + [ + { + "stack": [ + { + "text": "{{Mutation_Approval_Certificate}}", + "style": "receipt-sub-logo-header" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Property_ID_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Property_ID}}", + "style": "receipt-content", + "font": "Roboto" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Mutation_Number_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Mutation_Number}}", + "style": "receipt-content", + "font": "Roboto" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Application_Number_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Application_Number}}", + "style": "receipt-content", + "font": "Roboto" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Receipt_Number_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Receipt_Number}}", + "style": "receipt-content", + "font": "Roboto" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Approval_Date_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Approval_Date}}", + "style": "receipt-content", + "font": "Roboto" + } + ] + ] + }, + "layout": "noBorders" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + + ], + [ + { + "stack": [ + { + "text": "{{Order_Label}}", + "bold": true, + "style": "receipt-order-header" + }, + { + "text": "{{Mutation_Declaration_Label}}", + "style": "receipt-order-content" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + ], + [ + { + "stack": [ + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Transferrer_Details_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Transferrer_Name}} {{Transferrer_Relation}} {{Transferrer_Relative_Name}}", + "style": "receipt-content" + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-head", + "table": { + "widths": [ + "35%", + "65%" + ], + "body": [ + [ + { + "text": "{{Transferree_Details_Label}}", + "style": "receipt-content" + }, + { + "text": "{{Transferree_Name}} {{Transferree_Relation}} {{Transferree_Relative_Name}}", + "style": "receipt-content" + } + ] + ] + }, + "layout": "noBorders" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + + ], + [ + { + "stack": [ + { + "text": "{{Mutation_To_Label}}", + "bold": true, + "style": "receipt-order-header" + }, + { + "text": "{{Shri_Smt_Label}} {{Transferree_Name}}", + "style": "receipt-order-content" + }, + { + "text": "{{Transferree_Address}}", + "style": "receipt-order-content" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{approved_by}} ", + "bold": true + }, + { + "text": "{{approved_by_value}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner}}", + "bold": true + } + ], + "alignment": "right" + } + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -35, + 0, + -2 + ] + }, + "receipt-approver": { + "color": "#000000", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + -10, + 50, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 20, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-sub-logo-header": { + "color": "#000000", + "fontSize": 18, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 10 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + 0, + 5, + 0, + 0 + ] + }, + "receipt-sub-logo-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "left", + "margin": [ + 50, + 40, + 0, + 0 + ] + }, + "receipt-sub-address-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -80, + 0 + ] + }, + "receipt-sub-website-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -120, + 0 + ] + }, + "receipt-sub-email-sub-header": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -110, + 0 + ] + }, + "receipt-order-header": { + "color": "#000000", + "fontSize": 14, + "letterSpacing": 0.6, + "alignment": "left", + "margin": [ + 19, + 0, + 0, + 1 + ] + }, + "receipt-order-content": { + "color": "#484848", + "fontSize": 14, + "letterSpacing": 0.4, + "alignment": "left", + "margin": [ + 19, + -2, + 0, + 1 + ] + }, + "receipt-content": { + "color": "#000000", + "fontSize": 14, + "letterSpacing": 0.4, + "alignment": "left", + "margin": [ + 50, + 30, + 0, + 0 + ] + } + } + } + } \ No newline at end of file diff --git a/configs/pdf-service/format-config/sewerage-bill-amendment-note.json b/configs/pdf-service/format-config/sewerage-bill-amendment-note.json new file mode 100644 index 00000000..2b021649 --- /dev/null +++ b/configs/pdf-service/format-config/sewerage-bill-amendment-note.json @@ -0,0 +1,521 @@ +{ + "key": "sw-bill-amendment-credit-note", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "color":"#484848", + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{note_type}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + + { + "style": "note-info", + "columns": [ + { + "text": [ + { + "text": "{{note_id}} ", + "bold": true + }, + { + "text": "{{applicationNo}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{note_date}}", + "bold": true + }, + { + "text": "{{date}}", + "bold": false + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + + { + "style": "header", + "columns": [ + { + "text": [ + { + "text": "{{against}}", + "bold": true + } + ], + "alignment": "left" + } + ] + }, + { + "style": "header-1", + "text": "{{user-name}}", + "alignment": "left" + }, + { + "style": "header-1", + "text": "{{permanentAddress}}", + "alignment": "left" + }, + { + "style": "header", + "text": " ", + "alignment": "left" + }, + + { + "style": "note-info-1", + "columns": [ + { + "text": [ + { + "text": "{{adjustment_amount_details}}", + "bold": true + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{total_amount}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -200, + 1 + ] + }, + { + "text": [ + { + "text": "{{rs}} {{totalAmount}}", + "bold": true + } + ], + "alignment": "right", + "fontSize": 20, + "margin": [ + 0, + 25, + -10, + 1 + ] + } + ] + }, + + { + "style": "ws-table", + "table": { + "widths": [ + "70%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "10%", + "30%", + "30%" + ], + "body": [ + [ + { + "text": "{{sl_no}}", + "alignment": "center" + }, + { + "text": "{{tax_heads}}", + "alignment": "left" + }, + { + "text": "{{reduced_amount}}", + "alignment": "right" + } + ], + [ + { + "text": "1.", + "alignment": "center" + }, + { + "text": "{{sewerage_charge}}", + "alignment": "left" + }, + { + "text": "{{sewerageCharge}}", + "alignment": "right" + } + ], + [ + { + "text": "2.", + "alignment": "center" + }, + { + "text": "{{interest}}", + "alignment": "left" + }, + { + "text": "{{sewerageInterest}}", + "alignment": "right" + } + ], + [ + { + "text": "3.", + "alignment": "center" + }, + { + "text": "{{penalty}}", + "alignment": "left" + }, + { + "text": "{{seweragePenalty}}", + "alignment": "right" + } + ], + [ + { + "text": " " + }, + { + "text": "{{total_amount}}", + "alignment": "left" + }, + { + "text": "{{totalAmount}}", + "alignment": "right" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + + { + "style": "ws-table-1", + "table": { + "widths": [ + "130%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "120%" + ], + "body": [ + [ + { + "text": "{{box_note}}", + "alignment": "left" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + + { + "style": "header", + "text": " ", + "alignment": "left" + }, + + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + + { + "style": "no-signature", + "text": "{{no_signature}}" + }, + + { + "style": "no-signature", + "text": "{{box_validity}}" + } + ], + + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 10 + ] + }, + "ws-table-1": { + "fontSize": 12, + "color": "#000000", + "margin": [ + 380, + -120, + 20, + 10 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 8 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 8, + 0, + 8 + ] + }, + "header": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + }, + "header-1": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "note-info": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 10, + -10, + 0 + ], + "color": "#000000" + }, + "note-info-1": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 10, + -10, + -45 + ], + "color": "#000000" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 10, + -10, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/sw-bill.json b/configs/pdf-service/format-config/sw-bill.json new file mode 100644 index 00000000..1984a44e --- /dev/null +++ b/configs/pdf-service/format-config/sw-bill.json @@ -0,0 +1,1234 @@ +{ + "key": "sw-bill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 45, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo_header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 1, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{total_amount_due}} {{tseting}}" + }, + { + "text": "{{Rs}} {{totalAmountDue}}", + "style": "amount-due" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 1, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{serviceType}} Bill for Period {{fromPeriod}} - {{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2", + "alignment":"center" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "8%", + "22%", + "15%", + "21%", + "15%", + "21%" + ], + "body": [ + [ + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{bill_issue_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{billIssueDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Bill Due Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ] + ] + }, + "border": [ + false, + true, + false, + true + ] + } + ] + + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "23%", + "25%", + "23%", + "*" + ], + "body": [ + [ + { + "text": "{{consumer_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Old Consumer No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "House No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Ledger Id", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{consumerCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{oldConnectionNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{houseNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{ledgerId}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text": "Plot Size", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Consumer Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Guardian Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Locality", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{plotSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{ownerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{guardianName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{locality}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text": "Usage Type", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Mobile Number", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Street Name/Landmark", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Address", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{usageType}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + + { + "text": "{{mobileNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{streetName}}{{landmark}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{billing_summary_property_tax}} {{serviceType}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "12%", + "23%", + "15%", + "10%", + "10%", + "10%", + "10%", + "*" + ], + "body": [ + [ + { + "text": "{{arrears_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{advanceAdjusted_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{advanceAvailable_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + },{ + "text": "{{charge_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{others_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{total_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{arrears}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{advanceAdjusted}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{advanceAvailable}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{charge}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{others}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{calculatedTotal}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{important_message}}", + "border": [ + true, + true, + true, + false + ], + "margin": [ + 9, + 1, + 0, + 1 + ], + "style": "receipt-table-value" + } + ], + [ + { + "text": "1. Online payment can be done for {{serviceType}} charges payment. http://bit.ly/{{logo_header}}{{serviceType}}", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "2. If last day to pay bill is a holiday. Kindly pay your bills either online or offline on previous working day to avoid penalty.", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "3. Payment mode available: Cash/Cheque at office counter,Online: Credit/Debit Card/PayTM/FreeCharge/BBPS/Airtel/SewaKendra.", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "4. Please bring this bill while making payment at office counter.", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "5. {{rate}}% Late payment charges will be applied after due date", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "6. Interest & late payment charges calculated based on the payment date will reflect in next bill ", + "border": [ + true, + false, + true, + true + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ] + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 28, + "x2": 700, + "y2": 28, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "text": "Authorized Signatory", + "style": "footer-bottom" + }, + { + "image": "{{scissorImage}}", + "width": 19, + "height": 19, + "margin": [ + -30, + -9.8, + 0, + 0 + ] + }, + { + "text": "{{acknowledgement_for}}", + "style": "footer-header" + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "{{date_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billdate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Bill Due Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{consumer_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{name_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}, {{nameAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{total_payment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + }, + { + "text": "{{receivers_signature}}", + "style": "footer-bottom" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 1 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 13, + -8, + -8 + ] + }, + "noc-table4": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 40, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 8, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 13, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 8, + 1, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 3, + 1, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -30, + 1, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + 3, + 2, + 0, + 2 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 10, + "bold": true, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 10, + "margin": [ + -27, + 25, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 20, + "color": "#FC8019", + "bold": true, + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 8, + "margin": [ + -27, + 20, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 8, + "margin": [ + 0, + 2, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 2, + 0, + -40 + ], + "bold": true, + "color": "#000000", + "alignment": "center" + }, + "footer-bottom": { + "margin": [ + 0, + 20, + 0, + 0 + ], + "bold": true, + "color": "#000000", + "alignment": "right" + } + } + } +} diff --git a/configs/pdf-service/format-config/testconsolidatedreceipt.json b/configs/pdf-service/format-config/testconsolidatedreceipt.json new file mode 100644 index 00000000..bb9d7d72 --- /dev/null +++ b/configs/pdf-service/format-config/testconsolidatedreceipt.json @@ -0,0 +1,573 @@ +{ + "key": "testconsolidatedreceipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{Municipal_Corporation}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table", + "font": "Roboto" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table", + "font": "Roboto" + } + ], + [ + { + "text": "{{payment_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payer_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_contact}}", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text" : " ", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text" : " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{pending_amount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{pendingAmount}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payment_mode}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{transaction_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{transactionID}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table", + "font": "Roboto" + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "no-signature", + "text": "{{no_signature}}" + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_1}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_2}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_3}}", + "bold": false, + "style": "pt-disclaimer-value" + } + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 45, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 28, + -22, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 8 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 8, + 0, + 8 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + } + }, + "footer": "(function(currentPage, pageCount) { return currentPage.toString() + ' of ' + pageCount; })" + } +} diff --git a/configs/pdf-service/format-config/testlocalconsolidatedbill.json b/configs/pdf-service/format-config/testlocalconsolidatedbill.json new file mode 100644 index 00000000..2d7fde53 --- /dev/null +++ b/configs/pdf-service/format-config/testlocalconsolidatedbill.json @@ -0,0 +1,999 @@ +{ + "key": "testlocalconsolidatedbill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo_header}}", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "C Block, Ranjit Avenue, Amritsar" + }, + { + "text": " Tel. +91-183-2502339" + }, + { + "text": "website: www.amritsarcorp.com" + }, + { + "text": "Email: cmcasr@punjab.gov.in" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{total_amount_due}}" + }, + { + "text": "{{totalAmountDue}}", + "style": "amount-due" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 2, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + 130, + 130, + -2, + 130, + 130 + ], + "body": [ + [ + { + "text": "{{payer_name}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_no}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{mobile_no}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{mobileNo}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_period}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} - {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_address}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_issue_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billIssueDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": " ", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_due_date}}", + "border": [ + true, + false, + false, + true + ], + "style": "right-receipt-table" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "right-receipt-table2" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{billing_summary_property_tax}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "18%", + "26%", + "10%", + "9%", + "10%", + "9%", + "10%", + "9%" + ], + "body": [ + [ + { + "text": "{{property_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{bill_period}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{arrears_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{charge_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{others_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{total_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{propertyID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{fromPeriod}}-{{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{arrears}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{charge}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{others}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + ] + }, + "border": [ + true, + false, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{important_message}}", + "border": [ + true, + true, + true, + false + ], + "margin": [ + 9, + 10, + 0, + 5 + ], + "style": "receipt-table-value" + } + ], + [ + { + "ol": [ + { + "text": "{{payment_received}}", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "{{this_document}}", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "{{this_is_a}}", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "{{assessment_payment}}", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "{{please_deposit}}", + "margin": [ + 8, + 0, + 0, + 5 + ] + }, + { + "text": "{{if_the_tax}}", + "margin": [ + 8, + 0, + 0, + 10 + ] + } + ], + "border": [ + true, + false, + true, + true + ], + "alignment": "left" + } + ] + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 30, + "x2": 700, + "y2": 30, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "image": "{{scissorImage}}", + "width": 14, + "height": 14, + "margin": [ + -30, + -7, + 0, + 0 + ] + }, + { + "text": "{{acknowledgement_for}}", + "style": "footer-header" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "{{date_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{consumer_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{name_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{nameAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{total_payment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{totalPayment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + }, + { + "text": "{{receivers_signature}}", + "style": "footer-bottom" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 45, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 30, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 10 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + -10, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + -10, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 30, + "color": "#FC8019", + "bold": true, + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 0, + 5, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 15, + 0, + -40 + ], + "color": "#000000", + "alignment": "center" + }, + "footer-bottom": { + "margin": [ + 0, + 10, + 0, + 0 + ], + "color": "#000000", + "alignment": "right" + } + } + } + } \ No newline at end of file diff --git a/configs/pdf-service/format-config/testlocalconsolidatedreceipt.json b/configs/pdf-service/format-config/testlocalconsolidatedreceipt.json new file mode 100644 index 00000000..6aecca7b --- /dev/null +++ b/configs/pdf-service/format-config/testlocalconsolidatedreceipt.json @@ -0,0 +1,579 @@ +{ + "key": "testlocalconsolidatedreceipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payment_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payer_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_contact}}", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text" : " ", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text" : " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{paid_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{pending_amount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{pendingAmount}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payment_mode}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{transaction_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{transactionID}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "no-signature", + "text": "{{no_signature}}" + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_1}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_2}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_3}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_4}}", + "bold": false, + "style": "pt-disclaimer-value" + }, + { + "text": "{{disclamer_5}}", + "bold": false, + "style": "pt-disclaimer-value" + } + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 45, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 28, + -22, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 8, + 0, + 8 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 8, + 0, + 8 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + } + } + } +} \ No newline at end of file diff --git a/configs/pdf-service/format-config/tl-receipt.json b/configs/pdf-service/format-config/tl-receipt.json new file mode 100644 index 00000000..b11b6fb8 --- /dev/null +++ b/configs/pdf-service/format-config/tl-receipt.json @@ -0,0 +1,902 @@ +{ + "key":"tl-receipt", + "config":{ + "content": [ + { + "style": "tl-head", + "table": { + "widths": [ + 50, + "*", + 100 + ], + "body": [ + [ + { + "image": "{{variable33}}", + "width": 50, + "height": 61.25, + "margin": [ + 45, + 12, + 10, + 10 + ] + }, + { + "stack": [ + { + "text": "{{variable30}} Nagar Panchayat", + "style": "receipt-logo-header" + }, + { + "text": "Trade License Payment Receipt ({{variable31}})", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "center", + "margin": [ + 56, + 23, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "Receipt No.", + "style": "receipt-no", + "bold": true + }, + { + "text": "{{variable16}}", + "style": "receipt-no", + "bold": true + } + ], + "alignment": "center", + "margin": [-50, 30, 0, 2] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "pt-reciept-citizen-header", + "columns": [ + { + "text": [ + { + "text": "Application Type ", + "bold": true + }, + { + "text": "{{variable1}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Old License No. ", + "bold": true + }, + { + "text": "{{variable2}}", + "bold": false + } + ], + "alignment": "right" + } + ] + }, + { + "style": "pt-reciept-citizen-header", + "columns": [ + { + "text": [ + { + "text": "Application No. ", + "bold": true + }, + { + "text": "{{variable3}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Receipt No. ", + "bold": true + }, + { + "text": "{{variable16}}", + "bold": false + } + ], + "alignment": "right" + } + ] + }, + { + "style": "pt-reciept-citizen-header", + "columns": [ + { + "text": [ + { + "text": "Financial Year ", + "bold": true + }, + { + "text": "{{variable4}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Payment Date ", + "bold": true + }, + { + "text": "{{variable17}}", + "bold": false + } + ], + "alignment": "right" + } + ] + }, + { + "text": "TRADE DETAILS", + "style": "pt-reciept-citizen-subheader" + }, + + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["*", "*", "*", "*"], + "body": [ + [ + { + "text": "Trade Name", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable5}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Trade Category", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable6}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["24%", "76%"], + "body": [ + [ + { + "text": "Trade Type", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable7}}", + "border": [ + false, + false, + true, + true + ] + } + ], + [ + { + "text": "Accessories", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable8}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "TRADE LOCATION DETAILS", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["*", "*", "*", "*"], + "body": [ + [ + { + "text": "House/Door No.", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable9}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Building/Colony Name.", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable10}}", + "border": [ + false, + true, + true, + true + ] + } + ], + [ + { + "text": "Street Name", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable11}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Locality/Mohalla", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable12}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "OWNERSHIP INFORMATION", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths":["*", "*", "*", "*"], + "body": ["{{#variable13}}[{\"text\":\"Owner Name\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{name}}","border\":[false,true,true,true]},{\"text\":\"Mobile No.\",\"border\":[true,true,false,true],\"style\":\"receipt-table-key\"},{\"text\":\"{{mobileNumber}}\",\"border\":[false,true,true,true]}]{{/variable13}}"] + }, + "layout": {} + }, + { + "text": "PAYABLE AMOUNT", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["*", "*", "*", "*", "*", "*"], + "body": [ + [ + { + "text": "Trade License Fee", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Penalty", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Rebate", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Adhoc Penalty", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Adhoc Rebate", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Total", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + } + ], + [ + { + "text": "{{variable18}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable26}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable27}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable28}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable29}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable19}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + } + ] + ] + }, + "layout": {} + }, + { + "text": "PAYMENT INFORMATION", + "style": "pt-reciept-citizen-subheader" + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["*", "*", "*", "*"], + "body": [ + [ + { + "text": "Total Amount Paid:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable20}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "Amount Due:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable32}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["*", "*", "*"], + "body": [ + [ + { + "text": "Payment Mode", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Transaction ID/ Cheque/ DD No.", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + }, + { + "text": "Bank Name & Branch", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-key", + "alignment": "center" + } + ], + [ + { + "text": "{{variable21}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable22}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + }, + { + "text": "{{variable23}}", + "border": [ + true, + true, + true, + true, + true, + true, + true + ], + "style": "receipt-table-value", + "alignment": "center" + } + ] + ] + }, + "layout": {} + }, + { + "style": "pt-reciept-citizen-table", + "table": { + "widths": ["*", "*", "*", "*"], + "body": [ + [ + { + "text": "G8 Receipt No:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable24}}", + "border": [ + false, + true, + true, + true + ] + }, + { + "text": "G8 Receipt Issue Date:", + "border": [ + true, + true, + false, + true + ], + "style": "receipt-table-key" + }, + { + "text": "{{variable25}}", + "border": [ + false, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "Generated by: ", + "bold": true + }, + { + "text": "Kulvinder Approver", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Commissioner/EO", + "bold": true + } + ], + "alignment": "right" + } + ] + } + ], + "footer": [ + { + "text": "Note:\n1. Payment received by cheque/demand draft shall be subject to realization.\n2. This document is not a proof of Property Ownership.\n3. This is a computer generated document, hence requires no signature.", + "style": "receipt-footer" + } + ], + "styles": { + "tl-head": { + "fillColor": "#F2F2F2", + "margin": [ + -41, + -41, + -41, + 0 + ] + }, + "pt-reciept-citizen-header": { + "fontSize": 12, + "bold": true, + "margin": [ + 0, + 8, + 0, + 0 + ], + "color": "#484848" + }, + "pt-reciept-citizen-subheader": { + "fontSize": 10, + "bold": true, + "margin": [ + 0, + 16, + 0, + 8 + ], + "color": "#484848" + }, + "pt-reciept-citizen-table": { + "fontSize": 10, + "color": "#484848" + }, + "receipt-assess-table": { + "fontSize": 10, + "color": "#484848", + "margin": [ + 0, + 8, + 0, + 0 + ] + }, + "receipt-assess-table-header": { + "bold": true, + "fillColor": "#D8D8D8", + "color": "#484848" + }, + "receipt-header-details": { + "fontSize": 9, + "margin": [ + 0, + 0, + 0, + 8 + ], + "color": "#484848" + }, + "receipt-table-key": { + "color": "#484848", + "bold": true + }, + "receipt-table-value": { + "color": "#484848" + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 16, + "bold": true, + "letterSpacing": 0.74 + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 1.6, + "margin": [ + 0, + 6, + 0, + 0 + ] + }, + "receipt-footer": { + "color": "#484848", + "fontSize": 8, + "margin": [ + 30, + -20, + 0, + 0 + ] + }, + "receipt-no": { + "color": "#484848", + "fontSize": 10 + }, + "receipt-approver": { + "fontSize": 10, + "bold": true, + "margin": [ + 0, + 60, + 0, + 8 + ], + "color": "#484848" + } + } + } +} + \ No newline at end of file diff --git a/configs/pdf-service/format-config/tlapplication.json b/configs/pdf-service/format-config/tlapplication.json new file mode 100644 index 00000000..5fc7b2ab --- /dev/null +++ b/configs/pdf-service/format-config/tlapplication.json @@ -0,0 +1,1395 @@ +{ + "key": "tlapplication", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + "*", + "*", + "*" + ], + "body": [ + [ + { + "text":"{{trade_license_application}}", + "style": "receipt-logo-header" + }, + { + "text":"{{application_no}}", + "alignment":"right", + "color": "#484848", + "margin": [ + 0, + 2, + -50, + 0 + ] + }, + { + "text":"{{applicationNumber}}", + "alignment": "right", + "color": "#484848", + "bold": true, + "margin": [ + -150, + 2, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "stack":[ + { + "text":"{{total_amount}}", + "style":"receipt-table-value-total", + "bold" : false + }, + { + "text":"{{Rs}} {{totalAmount}}", + "style":"receipt-table-value-total", + "fontSize": 15 + } + ], + "border":[ + true, + true, + true, + false + ] + } + ], + [ + { + "stack":[ + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text":"{{trade_license_tax}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text":"{{tradeLicenseTax}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text":"{{rebate_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text":"{{rebate}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + }, + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text":"{{penalty_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + }, + { + "text":"{{penalty}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-down" + } + ] + ] + } + }, + { + "canvas": [ + { + "type": "line", + "x1": 0, "y1": 0, + "x2": 315, "y2": 0, + "lineWidth": 1 + } + ] + }, + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "text":"{{total_amount}}", + "border":[ + false, + false, + false, + false + ], + "bold": true, + "style": "receipt-table-value-down" + }, + { + "text":"{{totalAmount}}", + "border":[ + false, + false, + false, + false + ], + "bold": true, + "style": "receipt-table-value-down" + } + ] + ] + } + } + ], + "border":[ + true, + false, + true, + true + ], + "margin": [ + 0, + -15, + 0, + 0 + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "text":"{{trade_details}}", + "border":[ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "25%", + "25%", + "30%", + "20%" + ], + "body": [ + [ + { + "text":"{{application_type}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{old_application_number}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{licence_type}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{trade_name}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{applicationType}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{oldLicenseNumber}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{licenseType}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{tradeName}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text":"{{structure_type}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{structure_sub_type}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{trade_commencement}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{trade_gst_no}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{structureType}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{structureSubType}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{commencementDate}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{tradeGstNo}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text":"{{operational_area}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{no_of_employees}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":" ", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":" ", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{operationalArea}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{noOfEmployees}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":" ", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":" ", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + }, + "border":[ + true, + false, + true, + false + ] + } + + ], + [ + { + "canvas": [ + { + "type": "line", + "x1": 5, "y1": 0, + "x2": 550, "y2": 0, + "lineWidth": 1 + } + ], + "border":[ + true, + false, + true, + false + ] + } + ], + [ + { + "table": { + "widths": [ + "*", + "*", + "*", + "*", + "*" + ], + "body": + [ + [ + { + "text": "{{trade_category}}", + "style": "receipt-table-value" + }, + { + "text": "{{trade_type}}", + "style": "receipt-table-value" + }, + { + "text": "{{trade_sub_type}}", + "style": "receipt-table-value" + }, + { + "text": "{{uom_measurement}}", + "style": "receipt-table-value" + }, + { + "text": "{{uom_value}}", + "style": "receipt-table-value" + } + ], + "{{#variable13}}[ { \"text\":\"{{tradeCat}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{tradetyp}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{tradesub}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{UOM-measurement}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" } ,{ \"text\":\"{{uomValue}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" }]{{/variable13}}" ] + }, + "border":[ + true, + false, + true, + false + ] + } + + ], + + [ + { + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": + [ + [ + { + "text": "{{accesory_type}}", + "style": "receipt-table-value" + }, + { + "text": "{{uom_label}}", + "style": "receipt-table-value" + }, + { + "text": "{{uom_value}}", + "style": "receipt-table-value" + }, + { + "text": "{{accessory_count}}", + "style": "receipt-table-value" + } + ], + "{{#variable14}}[ { \"text\":\"{{accesoryType}}\", \"border\":[ true, false, true,true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{uom}}\", \"border\":[ false, false, true, true], \"style\": \"receipt-table2\" }, { \"text\":\"{{accessoryUomValue}}\", \"border\":[ false, false,true, true], \"style\": \"receipt-table2\" }, { \"text\":\"{{accessoryCount}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" } ]{{/variable14}}" ] + } + } + + ], + + [ + { + "table": { + "widths": [ + "25%", + "25%", + "20%", + "30%" + ], + "body": [ + [ + { + "text":"{{property_assessment_id}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{city_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{door_house_no}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{building_colony_name}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{propertyAssessmentId}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{city}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{doorHouseNo}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{buildingColonyName}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text":"{{street_name}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{mohalla_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{pincode_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{electricity_connection_no}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{streetName}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{mohalla}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{pincode}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{electricityConnectionNo}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + }, + "border":[ + true, + false, + true, + true + ] + } + + ] + ] + }, + "layout": {} + }, + { + "stack": [ + { + "style": "noc-table2", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "text":"{{owner_details}}", + "border":[ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text":"{{type_of_ownership}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{type_of_sub_ownership}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"Mobile Number/Alternate Contact", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{name_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{typeOfOwnership}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{typeOfSubOwnership}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{mobileNo}}, {{altContactNumber}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{name}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text":"{{father_husband}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{relationship_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{gender_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{date_of_birth}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{fatherHusbandName}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{relationship}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{gender}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{dateOfBirth}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text":"{{email_label}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{pan_no}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{correspondance_address}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{special_owner}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + } + ], + [ + { + "text":"{{email}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{panNo}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{correspondenceAddress}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{specialOwnerCategory}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + }, + "border":[ + true, + false, + true, + true + ] + } + + ] + ], + "unbreakable": true + }, + "layout": {} + } + ], + "unbreakable": true + }, + { + "stack": [ + { + "style": "noc-table2", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "text":"{{documents_label}}", + "border":[ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "33%", + "33%", + "33%", + "1%" + ], + "body": [ + [ + { + "text":"{{ownership_proof}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont" + }, + { + "text":"{{owners_id_proof}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + }, + { + "text":"{{owner_photo}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table-value-cont", + "fontSize": 9 + } + + ], + [ + { + "text":"{{ownershipProof}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{ownersIdProof}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{ownerPhoto}}", + "border":[ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + }, + "border":[ + true, + false, + true, + true + ] + } + + ] + ], + "unbreakable": true + }, + "layout": {} + } + ], + "unbreakable": true + } + + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -40, + 0, + 0 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontSize": 11, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 2 + ] + }, + "noc-table": { + "fontSize": 9, + "color": "#484848", + "margin": [ + -25, + 45, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 9, + "color": "#484848", + "margin": [ + -25, + 8, + -25, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 350, + "margin": [ + 1, + 1, + 0, + 0 + ] + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 350, + "alignment": "right", + "margin": [ + 0, + 0, + 15, + 0 + ] + }, + "receipt-table-value-down": { + "color": "#000000", + "bold": false, + "fontSize": 9, + "fontWeight": 250, + "alignment": "left", + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + "next-noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 15, + -22, + -8 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": false, + "fontSize": 9, + "fontWeight": 250, + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + "receipt-table-value-cont": { + "color": "#000000", + "bold": false, + "fontSize": 9, + "fontWeight": 250, + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 9, + "fontWeight": 250, + "margin": [ + -50, + 1, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 200, + "margin": [ + 0, + 0, + 0, + 0 + ] + } + + } + + } +} diff --git a/configs/pdf-service/format-config/tlcertificate.json b/configs/pdf-service/format-config/tlcertificate.json new file mode 100644 index 00000000..56be9e4d --- /dev/null +++ b/configs/pdf-service/format-config/tlcertificate.json @@ -0,0 +1,703 @@ +{ + "key": "tlcertificate", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + + "content": [ + { + "style":"noc-head", + "table":{ + "widths":[ + "*" + ], + "body":[ + [ + + { + "style":"noc-head", + "table": + { + "widths":["30%","*"], + "body": + [ + [ + { + "image": "{{logoImage}}", + "width": 70, + "height": 82, + "alignment": "center", + "margin": [30, 40, 0,10 ] + }, + + { + "stack": + [ + { + "text":"{{mcGrade}},{{city}}", + "style":"receipt-logo-header" + }, + { + "text":"{{ulb-address}}", + "style":"receipt-logo-sub-header" + }, + { + "text": "{{corporation_contact}} : {{corporationContact}} ", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{corporation_website}} : {{corporationWebsite}}", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{corporation_email}} : {{corporationEmail}}", + "style": "receipt-logo-sub-header" + + } + ], + "alignment":"left", + "margin":[0,40,0,0] + + + + + + } + ] + ] + }, + "layout":"noBorders" + } + + ], + + + + [ + { + "stack": [ + { + "text":"{{trade_license_certifcate}}", + "style":"receipt-sub-logo-header" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_license_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeLicenseNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{application_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{applicationNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{reciept_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{recieptNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{financial_year}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{financialYear}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_name}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeName}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_owner_name}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeOwnerName}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_owner_contact}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeOwnerContact}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_address}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{doorNo}},{{streetName}},{{buildingName}},{{localityNName}}, {{city}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"Structure Type/Sub Type", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{structureType}}, {{structureSubType}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_license_fee}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeLicenseFee}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_issue_date}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseIssueDate}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_validity}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseValidityFrom}} {{to}} {{licenseValidityTo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head2", + "table":{ + "widths": [ + "*", + "*", + "*" + ], + "body": + [ + [ + { + "text": "{{trade_category}}", + "style": "receipt-table-value2" + }, + { + "text": "{{trade_type}}", + "style": "receipt-table-value" + }, + { + "text": "{{trade_sub_type}}", + "style": "receipt-table-value" + } + ], + "{{#variable13}}[ { \"text\":\"{{tradeCat}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table3\" }, { \"text\":\"{{tradetyp}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{tradesub}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" }]{{/variable13}}" ] + }, + "border":[ + true, + false, + true, + false + ] + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":" ", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":" ", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head2", + "table": { + "widths": [ + "55%", + "15%", + "15%", + "15%" + ], + "body": + [ + [ + { + "text": "{{accesory_type}}", + "style": "receipt-table-value2" + }, + { + "text": "{{uom_label}}", + "style": "receipt-table-value" + }, + { + "text": "{{uom_value}}", + "style": "receipt-table-value" + }, + { + "text": "{{accessory_count}}", + "style": "receipt-table-value" + } + ], + "{{#variable14}}[ { \"text\":\"{{accesoryType}}\", \"border\":[ true, false, true,true ], \"style\": \"receipt-table3\" }, { \"text\":\"{{uom}}\", \"border\":[ false, false, true, true], \"style\": \"receipt-table2\" }, { \"text\":\"{{accessoryUomValue}}\", \"border\":[ false, false,true, true], \"style\": \"receipt-table2\" }, { \"text\":\"{{accessoryCount}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" } ]{{/variable14}}" ] + } , + "border":[ + true, + false, + true, + false + ] + }, { + "style": "noc-head2", + "table": { + "widths": [ + "50%", + "*", + "15%" + ], + "body": + [ + [ + { + "text": "Owner Name", + "style": "receipt-table-value2" + }, + { + "text": "Father/Husband Name", + "style": "receipt-table-value" + }, + { + "text": "Mobile Number", + "style": "receipt-table-value" + } + ], + "{{#variable_owners}}[{ \"text\":\"{{name}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table3\" }, { \"text\":\"{{fatherOrHusbandName}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{mobileNumber}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }]{{/variable_owners}}" + ] + }, "layout": {} + + + } + + ], + "alignment":"left", + "margin":[ + 0, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"receipt-approver", + "columns": [ + { + "text":[ + { + "text":"{{approved_by}} ", + "bold": true + }, + { + "text":" {{approvedBy}}", + "bold": false + } + ], + "alignment":"left" + }, + { + "text":[ + { + "text":"Authorised Signatory", + "bold": true + } + ], + "alignment":"right" + } + ] + }, + { + "text":"Disclaimer", + "style":"disclaimer" + }, + { + "ol": + [ + "This license is not the proof of ownership.", + "This Trade License is issued under rule 10.39 of the Municipal Account Code 2017 with condition that the applicant shall obtain relevant NOC from concerned departments like Punjab Pollution control board / Fire Ofce /Health Department/ Excise Department/Deputy Commissioner (under Explosive Act) whichever applicable.", + "The Municipal Council/Corporation reserves the right to cancel this Trade License for Breach of any condition in accordance with law.", + "This is a computer generated document, hence requires no signature.", + "The grant of Trade License is not approval to any violation of building by laws, town planning scheme.", + "This license is issued subject to the self declaration of the applicant" + ], + "style":"disclaimer" + + } + ], + + + "styles": { + "noc-head": { + "margin": [ + -30, + -35, + 0, + -2 + ] + }, + + "noc-head2": { + "margin": [ + 22, + 2,0,0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "fontSize": 9, + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "fontSize": 9, + + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "fontSize": 9, + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-table3": { + "color": "#000000", + "fontSize": 9, + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-approver": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + -10, + 30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 17, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + "receipt-sub-logo-header": { + "color": "#000000", + "fontSize": 16, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + -10, + 0, + 0 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontSize": 10, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + 0, + -5, + 0, + 0 + ] + }, + "receipt-sub-logo-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.6, + "alignment": "left", + "margin": [ + 50, + 30, + 0, + 0 + ] + }, + "receipt-sub-address-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -90, + 0 + ] + }, + "receipt-sub-website-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -120, + 0 + ] + }, + "receipt-sub-email-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 20, + 30, + -110, + 0 + ] + }, + "disclaimer": + { + "fontSize":"10", + "margin": [ + 2, + 3, + 0, + 0 + ] + } + } + + + } + } diff --git a/configs/pdf-service/format-config/tlrenewalcertificate.json b/configs/pdf-service/format-config/tlrenewalcertificate.json new file mode 100644 index 00000000..6d730906 --- /dev/null +++ b/configs/pdf-service/format-config/tlrenewalcertificate.json @@ -0,0 +1,702 @@ +{ + "key": "tlrenewalcertificate", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + + "content": [ + { + "style":"noc-head", + "table":{ + "widths":[ + "*" + ], + "body":[ + [ + + { + "style":"noc-head", + "table": + { + "widths":["30%","*"], + "body": + [ + [ + { + "image": "{{logoImage}}", + "width": 70, + "height": 82, + "alignment": "center", + "margin": [30, 40, 0,10 ] + }, + + { + "stack": + [ + { + "text":"{{mcGrade}},{{city}}", + "style":"receipt-logo-header" + }, + { + "text":"{{ulb-address}}", + "style":"receipt-logo-sub-header" + }, + { + "text": "{{corporation_contact}} : {{corporationContact}} ", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{corporation_website}} : {{corporationWebsite}}", + "style": "receipt-logo-sub-header" + + }, + { + "text": "{{corporation_email}} : {{corporationEmail}}", + "style": "receipt-logo-sub-header" + + } + ], + "alignment":"left", + "margin":[0,40,0,0] + + + + + + } + ] + ] + }, + "layout":"noBorders" + } + + ], + + + + [ + { + "stack": [ + { + "text":"{{trade_license_certifcate}}", + "style":"receipt-sub-logo-header" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_license_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeLicenseNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{application_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{applicationNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{reciept_no}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{recieptNo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{financial_year}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{financialYear}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_name}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeName}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_owner_name}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeOwnerName}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_owner_contact}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeOwnerContact}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_address}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{doorNo}},{{streetName}},{{buildingName}},{{localityNName}}, {{city}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"Structure Type/Sub Type", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{structureType}}, {{structureSubType}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{trade_license_fee}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{tradeLicenseFee}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_issue_date}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseIssueDate}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":"{{license_validity}}", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":"{{licenseValidityFrom}} {{to}} {{licenseValidityTo}}", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head2", + "table":{ + "widths": [ + "*", + "*", + "*" + ], + "body": + [ + [ + { + "text": "{{trade_category}}", + "style": "receipt-table-value2" + }, + { + "text": "{{trade_type}}", + "style": "receipt-table-value" + }, + { + "text": "{{trade_sub_type}}", + "style": "receipt-table-value" + } + ], + "{{#variable13}}[ { \"text\":\"{{tradeCat}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table3\" }, { \"text\":\"{{tradetyp}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{tradesub}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" }]{{/variable13}}" ] + }, + "border":[ + true, + false, + true, + false + ] + }, + { + "style":"noc-head", + "table":{ + "widths":[ + "35%", + "65%" + ], + "body":[ + [ + { + "text":" ", + "style":"receipt-sub-logo-sub-header" + }, + { + "text":" ", + "style":"receipt-sub-logo-sub-header" + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"noc-head2", + "table": { + "widths": [ + "55%", + "15%", + "15%", + "15%" + ], + "body": + [ + [ + { + "text": "{{accesory_type}}", + "style": "receipt-table-value2" + }, + { + "text": "{{uom_label}}", + "style": "receipt-table-value" + }, + { + "text": "{{uom_value}}", + "style": "receipt-table-value" + }, + { + "text": "{{accessory_count}}", + "style": "receipt-table-value" + } + ], + "{{#variable14}}[ { \"text\":\"{{accesoryType}}\", \"border\":[ true, false, true,true ], \"style\": \"receipt-table3\" }, { \"text\":\"{{uom}}\", \"border\":[ false, false, true, true], \"style\": \"receipt-table2\" }, { \"text\":\"{{accessoryUomValue}}\", \"border\":[ false, false,true, true], \"style\": \"receipt-table2\" }, { \"text\":\"{{accessoryCount}}\", \"border\":[ false, false, true,true ], \"style\": \"receipt-table2\" } ]{{/variable14}}" ] + } , + "border":[ + true, + false, + true, + false + ] + }, { + "style": "noc-head2", + "table": { + "widths": [ + "50%", + "*", + "15%" + ], + "body": + [ + [ + { + "text": "Owner Name", + "style": "receipt-table-value2" + }, + { + "text": "Father/Husband Name", + "style": "receipt-table-value" + }, + { + "text": "Mobile Number", + "style": "receipt-table-value" + } + ], + "{{#variable_owners}}[{ \"text\":\"{{name}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table3\" }, { \"text\":\"{{fatherOrHusbandName}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }, { \"text\":\"{{mobileNumber}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table2\" }]{{/variable_owners}}" + ] + }, "layout": {} + + + } + + ], + "alignment":"left", + "margin":[ + 0, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout":"noBorders" + }, + { + "style":"receipt-approver", + "columns": [ + { + "text":[ + { + "text":"{{approved_by}} ", + "bold": true + }, + { + "text":"Auto Approved", + "bold": false + } + ], + "alignment":"left" + }, + { + "text":[ + { + "text":"Authorised Signatory", + "bold": true + } + ], + "alignment":"right" + } + ] + }, + { + "text":"Disclaimer", + "style":"disclaimer" + }, + { + "ol": + [ + "This license is not the proof of ownership.", + "This Trade License is issued under rule 10.39 of the Municipal Account Code 2017 with condition that the applicant shall obtain relevant NOC from concerned departments like Punjab Pollution control board / Fire Ofce /Health Department/ Excise Department/Deputy Commissioner (under Explosive Act) whichever applicable.", + "The Municipal Council/Corporation reserves the right to cancel this Trade License for Breach of any condition in accordance with law.", + "This is a computer generated document, hence requires no signature.", + "The grant of Trade License is not approval to any violation of building by laws, town planning scheme." + ], + "style":"disclaimer" + + } + ], + + + "styles": { + "noc-head": { + "margin": [ + -30, + -35, + 0, + -2 + ] + }, + + "noc-head2": { + "margin": [ + 22, + 2,0,0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "fontSize": 9, + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "fontSize": 9, + + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "fontSize": 9, + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-table3": { + "color": "#000000", + "fontSize": 9, + "margin": [ + 0, + 2, + 0, + 0 + ] + }, + "receipt-approver": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + -10, + 30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 17, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + "receipt-sub-logo-header": { + "color": "#000000", + "fontSize": 16, + "letterSpacing": 0.74, + "alignment": "center", + "margin": [ + 0, + -10, + 0, + 0 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontSize": 10, + "letterSpacing": 0.6, + "alignment": "center", + "margin": [ + 0, + -5, + 0, + 0 + ] + }, + "receipt-sub-logo-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.6, + "alignment": "left", + "margin": [ + 50, + 30, + 0, + 0 + ] + }, + "receipt-sub-address-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -90, + 0 + ] + }, + "receipt-sub-website-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 50, + 30, + -120, + 0 + ] + }, + "receipt-sub-email-sub-header": { + "color": "#484848", + "fontSize": 12, + "letterSpacing": 0.1, + "alignment": "right", + "margin": [ + 20, + 30, + -110, + 0 + ] + }, + "disclaimer": + { + "fontSize":"10", + "margin": [ + 2, + 3, + 0, + 0 + ] + } + } + + + } + } diff --git a/configs/pdf-service/format-config/tradelicense-bill.json b/configs/pdf-service/format-config/tradelicense-bill.json new file mode 100644 index 00000000..93131e26 --- /dev/null +++ b/configs/pdf-service/format-config/tradelicense-bill.json @@ -0,0 +1,955 @@ +{ + "key": "tradelicense-bill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo_header}} {{Municipal_Corporation}}", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 10, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{total_amount_due}}" + }, + { + "text": "{{Rs}} {{totalAmountDue}}", + "style": "amount-due" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 2, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + 130, + 130, + -2, + 130, + 130 + ], + "body": [ + [ + { + "text": "{{payer_name}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_no}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{mobile_no}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{mobileNo}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_period}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} - {{toPeriod}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_address}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_issue_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billIssueDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": " ", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ] + }, + { + "text": "{{bill_due_date}}", + "border": [ + true, + false, + false, + true + ], + "style": "right-receipt-table" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "right-receipt-table2" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{billing_summary_property_tax}} {{serviceType}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "30%", + "26%", + "10%", + "11%", + "10%", + "9%", + "10%", + "9%" + ], + "body": [ + [ + { + "text": "{{tl_application_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{bill_period}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{charge_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{others_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{total_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{propertyID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{fromPeriod}}-{{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{charge}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{others}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{totalAmountDue}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + ] + }, + "border": [ + true, + false, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + + { + "style" : "noc-table3", + "table" : { + "widths": [ + "103%" + ], + "body":[ + [ + { + "style": "noc-table3", + "table": { + "widths": [ + "100%" + ], + "body": ["[{\"text\": \"{{important_message}}\",\"border\":[false,false,false,false],\"style\":\"bill-message-header\"}],{{#variable11}}[{\"text\":\"{{disclaimerContent}}\",\"border\":[false,false,false,false],\"style\":\"bill-message-value\"}]{{/variable11}}"] + } + } + ] + ] + + } + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 30, + "x2": 700, + "y2": 30, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "image": "{{scissorImage}}", + "width": 24, + "height": 24, + "margin": [ + -30, + -11.2, + 0, + 0 + ] + }, + + { + "text": "{{acknowledgement_for}}", + "style": "footer-header", + "pageBreak": "before" + + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{date_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billdate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{consumer_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{name_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}, {{nameAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{total_payment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + }, + { + "text": "{{receivers_signature}}", + "style": "footer-bottom" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 13, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 10, + -8, + -8 + ] + }, + "noc-table4": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 75, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 30, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 5, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 10 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -10, + 5, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 12, + "bold": true, + "margin": [ + -27, + 50, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 12, + "margin": [ + -27, + 35, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 30, + "color": "#FC8019", + "bold": true, + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 15, + 0, + -40 + ], + "bold": true, + "color": "#000000", + "alignment": "center" + }, + "footer-bottom": { + "margin": [ + 0, + 50, + 0, + 0 + ], + "bold": true, + "color": "#000000", + "alignment": "right" + }, + "bill-message-header": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 28, + -15, + 0, + 10 + ] + }, + "bill-message-value": { + "color": "#484848", + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 28, + -5, + 0, + 10 + ] + }, + "disclaimer-table": { + "fontSize": 12, + "bold": false, + "color": "#FC8019", + "margin": [ + -25, + 16, + -8, + -8 + ] + } + } + } +} \ No newline at end of file diff --git a/configs/pdf-service/format-config/tradelicense-receipt.json b/configs/pdf-service/format-config/tradelicense-receipt.json new file mode 100644 index 00000000..53676af7 --- /dev/null +++ b/configs/pdf-service/format-config/tradelicense-receipt.json @@ -0,0 +1,1006 @@ +{ + "key": "tradelicense-receipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{mcGrade}} {{logo-header}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}}", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 0, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}", + "style":"receipt-logo-address-header" + }, + { + "text": "{{phoneNumber}}", + "style":"receipt-logo-address-header" + + }, + { + "text": "{{website}}", + "style":"receipt-logo-address-header" + + }, + { + "text": "{{email}}", + "style":"receipt-logo-address-header" + + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "20%", + "29%", + "22%", + "29%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Application Type", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{applicationType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "License No.", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{licenseNumber}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Financial Year", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{financialYear}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Payer Contact", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + + ], + [ + { + "text": "{{payment_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Payer Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Address", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{tradeDoor || ' '}} {{tradeBuilding || ''}} {{tradeStreet || ''}} {{mohalla}},{{logo-header}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text" : " ", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text" : " ", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{service_type}}", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{serviceType}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{billing_period}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{fromPeriod}} {{to}} {{toPeriod}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Trade Name", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{tradeName}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Structure Type", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{structureType}},{{structureSubType}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table" + } + ], [ + { + "text": "{{payment_mode}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{paid_amount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{paidAmount}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{pending_amount}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{pendingAmount}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Trade License Fee,Renewal Penalty", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{tradeFee}} , ₹ {{renewalPenalty}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Adhoc Rebate", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{adhocRebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Rebate Reason", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{adhocRebateReason}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Adhoc Penalty", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "₹ {{adhocPenalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Penalty reason", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{adhocPenaltyReason}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Rebate Comments", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{rebateComments}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Penalty Comments", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{penaltyComments}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Cheque/DD/PO/Transaction No.", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Cheque/DD/PO/Transaction Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ],[ + { + "text": "IFSC Code", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Bank/Branch Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bank}},{{branch}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{g8_receipt_no}}.", + "border": [ + true, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptNo}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table" + }, + { + "text": "{{g8_receipt_date}}", + "border": [ + false, + false, + false, + true + ], + "style": "receipt-table-value" + }, + { + "text": "{{G8ReceiptDate}}", + "border": [ + false, + false, + true, + true + ], + "style": "receipt-table" + } + ] + ] + }, + "layout": {} + }, + + { + "style": "next-noc-table", + "table": { + "widths": [ + "*", + "*", + "*" + ], + "body": + [ + [ + { + "text": "Trade Category", + "style": "receipt-table-value" + }, + { + "text": "Trade Type", + "style": "receipt-table-value" + }, + { + "text": "Trade Sub Type", + "style": "receipt-table-value" + } + ], + "{{#variable13}}[{ \"text\":\"{{tradeCat}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table\" }, { \"text\":\"{{tradeTyp}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\" },{ \"text\":\"{{tradeSub}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\"}]{{/variable13}}" + ] + }, "layout": {} + + + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "55%", + "15%", + "15%", + "15%" + ], + "body": + [ + [ + { + "text": "Accessory Type", + "style": "receipt-table-value" + }, + { + "text": "UOM", + "style": "receipt-table-value" + }, + { + "text": "UOM Value", + "style": "receipt-table-value" + }, + { + "text": "Count", + "style": "receipt-table-value" + } + ], + "{{#variable_acc}}[{ \"text\":\"{{accesoryType}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table\" }, { \"text\":\"{{uom}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\" }, { \"text\":\"{{accessoryUomValue}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\" }, { \"text\":\"{{accessoryCount}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\"}]{{/variable_acc}}" + ] + }, "layout": {} + + + },{ + "style": "next-noc-table", + "table": { + "widths": [ + "55%", + "*", + "15%" + ], + "body": + [ + [ + { + "text": "Owner Name", + "style": "receipt-table-value" + }, + { + "text": "Father/Husband Name", + "style": "receipt-table-value" + }, + { + "text": "Mobile Number", + "style": "receipt-table-value" + } + ], + "{{#variable_owners}}[{ \"text\":\"{{name}}\", \"border\":[ true, false, true, true ], \"style\": \"receipt-table\" }, { \"text\":\"{{fatherOrHusbandName}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\" }, { \"text\":\"{{mobileNumber}}\", \"border\":[ false, false, true, true ], \"style\": \"receipt-table\" }]{{/variable_owners}}" + ] + }, "layout": {} + + + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "Authorised Signatory", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 4, + -10, + 1 + ] + } + ] + }, + { + "style": "no-signature", + "text": "This is a computer generted recepit hence requires no signature." + }, + { + "style": "pt-disclaimer", + "stack": [ + { + "text": "{{disclamer}}", + "bold": true, + "style": "pt-disclaimer-value" + }, + + { + "ol": + [ + "Payment received by Cheque/DD shall be subject to realization", + "This document is not a proof of property ownership" + ] + }, + { + "text":"Now log a complaint from WhatsApp, give a missed call on 8750975975 or send a Hi message on WhatsApp to this number", "bold": true, "fontSize": 8, "color": "blue", "decoration": "underline"} + ] + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 1 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "receipt-logo-address-header": { + "color": "#000000", + "fontSize": 8, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 10, + "color": "#000000", + "margin": [ + -25, + 1, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 10, + "color": "#000000", + "margin": [ + -25, + 10, + -22, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + 2, + -1, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 300, + "margin": [ + 0, + -1, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 10, + "bold": true, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 8, + "margin": [ + -27, + 5, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 9, + "margin": [ + -27, + 0, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 10, + "margin": [ + 0, + 0, + 0, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-applicationsewerage.json b/configs/pdf-service/format-config/ws-applicationsewerage.json new file mode 100644 index 00000000..63f1ffc1 --- /dev/null +++ b/configs/pdf-service/format-config/ws-applicationsewerage.json @@ -0,0 +1,1211 @@ +{ + "key": "ws-applicationsewerage", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "ws-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 40, + "height": 43, + "margin": [ + 12, + 5, + 12, + 5 + ] + }, + { + "stack": [ + { + "text": "{{logo_header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{logo_sub_header}}", + "fontSize": 10 + } + ], + "alignment": "left", + "margin": [ + 10, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "columns": [ + { + "text": "Sewerage Application No. : {{applicationNo}}", + "fontSize":10, + "alignment": "left", + "margin": [ + -23, + 0, + 0, + 0 + ] + } + ] + }, + { + "text": "{{property_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{property_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_usage_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_usage_sub_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{propertyId}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyUsageType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyUsageSubType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{plot_size}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{no_of_floor}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{rainwater_harvesting_facility}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{plotSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{noOfFloor}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{rainwaterHarvestingFacility}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{property_location_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{city}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{door_house_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{building_colony_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{street_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{cityName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{doorHouseNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{buildingColonyName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{streetName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{locality_mohalla}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{pin_code}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{localityMohalla}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pinCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{property_owner_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + "{{#variable13}}[{\"text\":\"{{owner_name}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{email_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\", \"fontSize\": 8 }, { \"text\":\"{{gender_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{dob_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" } ], [ { \"text\":\"{{ownerName}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{ownerEmailId}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{gender}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{ownerDob}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" } ], [ { \"text\":\"{{guardian_name}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{relationship_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\", \"fontSize\": 8 }, { \"text\":\"{{correspondence_address}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{special_applicant_category}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" } ], [ { \"text\":\"{{guardianName}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{relationshipLabel}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{correspondenceAddress}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{specialApplicantCategory}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" } ]{{/variable13}}" + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{connection_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{apply_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{no_of_water_closets_proposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{no_of_water_toilets_proposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{applyCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{noOfWaterClosetsProposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{noOfWaterToiletsProposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{document_details_header}}", + "style": "header" + }, + { + "stack": [ + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "33%", + "33%", + "33%", + "1%" + ], + "body": [ + [ + { + "text": "{{ownership_proof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{owners_id_proof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + }, + { + "text": "{{electricty_bill}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + } + ], + [ + { + "text": "{{ownershipProof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ownersIdProof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{electricityBill}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{plumber_report}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{building_plan}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + }, + { + "text": "{{property_tax_reciept}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + } + ], + [ + { + "text": "{{plumberReport}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{buildingPlan}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ptTaxReciept}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border" : [ + true, + true, + true, + true + ] + } + ] + ] + } + } + ] + + }, + { + "text": "{{plumber_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{plumber_provided_by}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plumber_licence_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plumber_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plumber_mobile_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{plumberProvidedBy}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plumberLicenceNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plumberName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plumberMobileNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{road_charges_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{road_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{area_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{roadType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{area}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{activation_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{connection_execution_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{connectionExecutionDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + } + ], + "styles": { + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontFamily": "Cambay", + "fontSize": 10, + "bold": true, + "letterSpacing": 0.5, + "margin": [ + 0, + -10, + 0, + 0 + ] + }, + "ws-table": { + "fontSize": 9, + "color": "#484848", + "margin": [ + -25, + 0, + -8, + 0 + ] + }, + "header": { + "color": "#000000", + "textTransform": "uppercase", + "bold": true, + "fontSize": 9, + "fontWeight": 500, + "margin": [ + -25, + 1, + 0, + 1 + ] + }, + "ws-sub-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "ws-sub-table": { + "color": "#484848", + "bold": true, + "fontSize": 9, + "fontWeight": 400, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right", + "backgroundColor": "#dddddd" + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 500, + "alignment": "right", + "margin": [ + 0, + 5, + 30, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-applicationwater.json b/configs/pdf-service/format-config/ws-applicationwater.json new file mode 100644 index 00000000..dd94db75 --- /dev/null +++ b/configs/pdf-service/format-config/ws-applicationwater.json @@ -0,0 +1,1347 @@ +{ + "key": "ws-applicationwater", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "ws-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 40, + "height": 43, + "margin": [ + 12, + 5, + 12, + 5 + ] + }, + { + "stack": [ + { + "text": "{{logo_header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{logo_sub_header}}", + "fontSize": 10 + + } + ], + "alignment": "left", + "margin": [ + 10, + 10, + 0, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "columns": [ + { + "text": "Water Application No. : {{applicationNo}}", + "fontSize":10, + "alignment": "left", + "margin": [ + -23, + 0, + 0, + 0 + ] + } + ] + }, + { + "text": "{{property_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{property_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_usage_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_usage_sub_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{propertyId}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyUsageType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyUsageSubType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{plot_size}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{no_of_floor}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{rainwater_harvesting_facility}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{plotSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{noOfFloor}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{rainwaterHarvestingFacility}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{property_location_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{city}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{door_house_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{building_colony_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{street_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{cityName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{doorHouseNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{buildingColonyName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{streetName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{locality_mohalla}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{pin_code}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{localityMohalla}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pinCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{property_owner_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + "{{#variable13}}[{\"text\":\"{{owner_name}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{email_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\", \"fontSize\": 8 }, { \"text\":\"{{gender_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{dob_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" } ], [ { \"text\":\"{{ownerName}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{ownerEmailId}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{gender}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{ownerDob}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" } ], [ { \"text\":\"{{guardian_name}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{relationship_label}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\", \"fontSize\": 8 }, { \"text\":\"{{correspondence_address}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" }, { \"text\":\"{{special_applicant_category}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table\" } ], [ { \"text\":\"{{guardianName}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{relationshipLabel}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{correspondenceAddress}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" }, { \"text\":\"{{specialApplicantCategory}}\", \"border\":[ false, false, false, false ], \"style\": \"ws-sub-table-value\" } ]{{/variable13}}" + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{connection_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{apply_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{no_of_taps_proposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{pipe_size_proposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{applyCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{noOfTapsProposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pipeSizeProposed}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{document_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "33%", + "33%", + "33%", + "1%" + ], + "body": [ + [ + { + "text": "{{ownership_proof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{owners_id_proof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + }, + { + "text": "{{electricty_bill}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + } + ], + [ + { + "text": "{{ownershipProof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ownersIdProof}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{electricityBill}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{plumber_report}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{building_plan}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + }, + { + "text": "{{property_tax_reciept}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table", + "fontSize": 8 + } + ], + [ + { + "text": "{{plumberReport}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{buildingPlan}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ptTaxReciept}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border" : [ + true, + true, + true, + true + ] + } + ] + ] + } + }, + { + "text": "{{additional_connection_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "18%", + "18%", + "20%", + "18%", + "*" + ], + "body": [ + [ + { + "text": "{{connection_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{no_of_taps}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{water_source}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{water_sub_source}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{pipe_size}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{connectionType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{noOfTaps}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{waterSource}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{waterSubSource}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pipeSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{plumber_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{plumber_provided_by}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plumber_licence_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plumber_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plumber_mobile_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{plumberProvidedBy}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plumberLicenceNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plumberName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plumberMobileNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{road_charges_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{road_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{roadType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{area_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{area}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{activation_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{connection_execution_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{meter_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{meter_installation_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{initial_meter_reading}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{connectionExecutionDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{meterId}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{meterInstallationDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{initialMeterReading}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + } + ], + "styles": { + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontFamily": "Cambay", + "fontSize": 10, + "bold": true, + "letterSpacing": 0.5, + "margin": [ + 0, + -10, + 0, + 0 + ] + }, + "ws-table": { + "fontSize": 9, + "color": "#484848", + "margin": [ + -25, + 0, + -8, + 0 + ] + }, + "header": { + "color": "#000000", + "textTransform": "uppercase", + "bold": true, + "fontSize": 9, + "fontWeight": 500, + "margin": [ + -25, + 1, + 0, + 1 + ] + }, + "ws-sub-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "ws-sub-table": { + "color": "#484848", + "bold": true, + "fontSize": 9, + "fontWeight": 400, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right", + "backgroundColor": "#dddddd" + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 9, + "fontWeight": 500, + "alignment": "right", + "margin": [ + 0, + 5, + 30, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-bill.json b/configs/pdf-service/format-config/ws-bill.json new file mode 100644 index 00000000..e4f5d16c --- /dev/null +++ b/configs/pdf-service/format-config/ws-bill.json @@ -0,0 +1,1234 @@ +{ + "key": "ws-bill", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 45, + "height": 50 + }, + { + "stack": [ + { + "text": "{{logo_header}} {{mcGradePwssb}}", + "style": "receipt-logo-header" + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ] + } + ], + "alignment": "left", + "margin": [ + 0, + 1, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{total_amount_due}} {{testing billWS}}" + }, + { + "text": "{{Rs}} {{totalAmountDue}}", + "style": "amount-due" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -150, + 1, + -20, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{serviceType}} Bill for Period {{fromPeriod}} - {{toPeriod}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2", + "alignment":"center" + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "8%", + "22%", + "15%", + "21%", + "15%", + "21%" + ], + "body": [ + [ + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{bill_issue_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{billIssueDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Bill Due Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ] + ] + }, + "border": [ + false, + true, + false, + true + ] + } + ] + + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "23%", + "25%", + "23%", + "*" + ], + "body": [ + [ + { + "text": "{{consumer_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Old Consumer No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "House No.", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Ledger Id", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{consumerCode}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{oldConnectionNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{houseNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{ledgerId}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text": "Plot Size", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Consumer Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Guardian Name", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Locality", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{plotSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{ownerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{guardianName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{locality}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ], + [ + { + "text": "Usage Type", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Mobile Number", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Street Name/Landmark", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "Address", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{usageTypedddddd}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + + { + "text": "{{mobileNodddd}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{streetName}}{{landmark}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{payerAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table2", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{billing_summary_property_tax}} {{serviceType}}", + "border": [ + true, + true, + true, + false + ], + "style": "receipt-table-value" + } + ], + [ + { + "table": { + "widths": [ + "12%", + "23%", + "15%", + "10%", + "10%", + "10%", + "10%", + "*" + ], + "body": [ + [ + { + "text": "{{arrears_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{advanceAdjusted_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{advanceAvailable_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + },{ + "text": "{{charge_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{penalty_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{rebate_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{others_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + }, + { + "text": "{{total_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value2" + } + ], + [ + { + "text": "{{arrears}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text":"{{advanceAdjusted}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{advanceAvailable}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{charge}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{penalty}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{rebate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{others}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2" + }, + { + "text": "{{calculatedTotal}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table2", + "bold": true + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "style": "noc-table3", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "text": "{{important_message}}", + "border": [ + true, + true, + true, + false + ], + "margin": [ + 9, + 1, + 0, + 1 + ], + "style": "receipt-table-value" + } + ], + [ + { + "text": "1. Online payment can be done for {{serviceType}} charges payment. http://bit.ly/{{logo_header}}{{serviceType}}", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "2. If last day to pay bill is a holiday. Kindly pay your bills either online or offline on previous working day to avoid penalty.", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "3. Payment mode available: Cash/Cheque at office counter,Online: Credit/Debit Card/PayTM/FreeCharge/BBPS/Airtel/SewaKendra.", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "4. Please bring this bill while making payment at office counter.", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "5. {{rate}}% Late payment charges will be applied after due date", + "border": [ + true, + false, + true, + false + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ], + [ + { + "text": "6. Interest & late payment charges calculated based on the payment date will reflect in next bill ", + "border": [ + true, + false, + true, + true + ], + "margin": [ + 4, + 0, + 0, + 0.5 + ] + } + ] + ] + }, + "layout": {} + }, + { + "canvas": [ + { + "type": "line", + "x1": -40, + "y1": 28, + "x2": 700, + "y2": 28, + "dash": { + "length": 10, + "space": 5 + } + } + ] + }, + { + "text": "Authorized Signatory", + "style": "footer-bottom" + }, + { + "image": "{{scissorImage}}", + "width": 19, + "height": 19, + "margin": [ + -30, + -9.8, + 0, + 0 + ] + }, + { + "text": "{{acknowledgement_for}}", + "style": "footer-header" + }, + { + "style": "noc-table4", + "table": { + "widths": [ + "*", + "*", + "*", + "*" + ], + "body": [ + [ + { + "text": "{{date_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billdate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Bill Due Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billDueDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{consumer_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{bill_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{billNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{name_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}, {{nameAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{total_payment}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{total}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + ] + ] + } + }, + { + "text": "{{receivers_signature}}", + "style": "footer-bottom" + } + ], + "styles": { + "noc-head": { + "margin": [ + -25, + -30, + 0, + 1 + ] + }, + "receipt-logo-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 1 + ] + }, + "receipt-logo-sub-header": { + "color": "#484848", + "fontFamily": "Roboto", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 13, + -8, + -8 + ] + }, + "noc-table4": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 40, + -8, + -8 + ] + }, + "noc-table2": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 8, + -8, + -8 + ] + }, + "noc-table3": { + "fontSize": 10, + "color": "#484848", + "margin": [ + -25, + 13, + -8, + -8 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 8, + 1, + 0, + 0 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 3, + 1, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -30, + 1, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + 3, + 2, + 0, + 2 + ] + }, + "right-receipt-table": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 8, + 5, + 0, + 10 + ] + }, + "right-receipt-table2": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 10, + "bold": true, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 10, + "margin": [ + -27, + 25, + -10, + 0 + ], + "color": "#484848" + }, + "amount-due": { + "fontSize": 20, + "color": "#FC8019", + "bold": true, + "fontWeight": 700 + }, + "pt-disclaimer": { + "fontSize": 8, + "margin": [ + -27, + 20, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 8, + "margin": [ + 0, + 2, + 0, + 0 + ], + "color": "#484848" + }, + "qr-text": { + "fontSize": 12, + "margin": [ + 40, + 0, + 0, + 0 + ], + "color": "#484848", + "alignment": "left" + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right" + }, + "footer-header": { + "margin": [ + 0, + 2, + 0, + -40 + ], + "bold": true, + "color": "#000000", + "alignment": "center" + }, + "footer-bottom": { + "margin": [ + 0, + 20, + 0, + 0 + ], + "bold": true, + "color": "#000000", + "alignment": "right" + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-consolidatedacknowlegment.json b/configs/pdf-service/format-config/ws-consolidatedacknowlegment.json new file mode 100644 index 00000000..5e2e9c5f --- /dev/null +++ b/configs/pdf-service/format-config/ws-consolidatedacknowlegment.json @@ -0,0 +1,984 @@ +{ + "key": "ws-consolidatedacknowlegment", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "ws-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25, + "margin": [ + 12, + 10, + 12, + 10 + ] + }, + { + "stack": [ + { + "text": "{{logo_header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{logo_sub_header}}" + } + ], + "alignment": "left", + "margin": [ + 10, + 30, + 0, + 0 + ] + }, + { + "stack": [ + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABkAAAAZAAQMAAAAbwhzkAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAGUExURQAAAP7+/soH9D0AAAYwSURBVHja7dyxcYNAEAVQPA4UugRKoTRcGqW4BIcKNMKBcABzXu8JhIXn/UwSJ/Zt/Oea8Z+kAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAXkiyGdTn77iaHt79nLHa1oQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEJA9IC+ZVvolhHS3b88hpE+130FAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQP4AMmQK7vNpruVme80OppxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECOCeluH1PdeBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQkGND4pvaQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBADgYJE0OG+TTh0TggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7QqqSgpS78TUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQF5LGRF4h2MjwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMhGkPI0izvTP6Ju/IosLnk/b1/yBwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB+RVyz1+mdjDlEu6gW4wKAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyB6Scc1hp76MdjCGk3I0f5jsAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQHZBRJ348PhYkhNrb6rWTIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMi2kB8yPfTRJFKepnz07fbjdX40tT4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEJCtICuSqtWndjDllHotCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIRpDPpj797B+umSOv08PvGcj0sQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAdkD8pJppV/mkMXRYT5VuRtf3kFXU8kHAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQF5DGQoltbbImQxzYpMkMVN7SAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAeDnMZEype8p46CgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8AeSem9pr0oKAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwJSU0zh3ynW7yvOM17ceRurAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMi2kKr00dFTZgdTrjU7AAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB2RhyvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMkXJlylJdANIpEAAAAASUVORK5CYII=", + "width": 70, + "height": 70, + "alignment": "right", + "border": [ + false, + false, + false, + false + ], + "style": "qr-image" + } + ] + ] + } + } + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "columns": [ + { + "width": "20%", + "text": "{{consumer_no}}" + }, + { + "width": "50%", + "text": "{{consumerNo}}" + }, + { + "width": "14%", + "text": " " + }, + { + "width": "10%", + "text": "{{status_label}}", + "alignment": "right" + }, + { + "width": "10%", + "text": "{{status}}", + "alignment": "right" + } + ], + "margin": [ + -26, + 4, + 0, + 0 + ] + }, + { + "text": "{{service_details_header}}", + "style": "header" + }, + { + "style": "ws-table-property", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{service}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{connection_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{connection_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{meter_id}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{water_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{connectionCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{connectionType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{meterID}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{pipe_size}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{connection_execution_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{rainwater_harvesting_facility}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{water_source}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{pipeSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{connectionExecutionDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{rainwaterHarvestingFacility}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{waterSource}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{water_sub_source}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{waterSubSource}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{property_details_header}}", + "style": "header" + }, + { + "style": "ws-table-property", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{property_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_usage_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plot_size}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{propertyType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyUsageType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plotSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{property_ID}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{city_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plot_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{building_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{propertyID}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{city}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plot}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{building}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{street_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{locality_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{pincode_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{location_on_map}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{streetName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{locality}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pincode}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{lat}} {{long}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{owner_details_header}}", + "style": "header" + }, + { + "style": "ws-table-property", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{owner_mobile_number}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{owner_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{gender_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{guardian_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{ownerMobileNumber}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ownerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{gender}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{guardian}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{guardian_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{owner_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{email_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{correspondence_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{guardianName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ownerCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{email}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{correspondenceAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + } + ], + "styles": { + "ws-head": { + "fillColor": "#F2F2F2", + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontFamily": "Cambay", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 10 + ] + }, + "ws-table-property": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 8, + -8, + 2 + ] + }, + "header": { + "color": "#000000", + "textTransform": "uppercase", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 5, + 0, + -10 + ] + }, + "ws-sub-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 1 + ] + }, + "ws-sub-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + 3, + 1, + 0, + 0 + ] + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right", + "backgroundColor": "#dddddd" + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-consolidatedsewerageconnection.json b/configs/pdf-service/format-config/ws-consolidatedsewerageconnection.json new file mode 100644 index 00000000..1eed2e44 --- /dev/null +++ b/configs/pdf-service/format-config/ws-consolidatedsewerageconnection.json @@ -0,0 +1,785 @@ +{ + "key": "ws-consolidatedsewerageconnection", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "ws-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 50, + "height": 61.25, + "margin": [ + 12, + 10, + 12, + 10 + ] + }, + { + "stack": [ + { + "text": "{{logo_header}} {{mcGrade}}", + "style": "receipt-logo-header" + }, + { + "text": "{{logo_sub_header}}" + } + ], + "alignment": "left", + "margin": [ + 10, + 30, + 0, + 0 + ] + }, + { + "stack": [ + { + "table": { + "widths": [ + "*", + "*" + ], + "body": [ + [ + { + "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABkAAAAZAAQMAAAAbwhzkAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAGUExURQAAAP7+/soH9D0AAAYwSURBVHja7dyxcYNAEAVQPA4UugRKoTRcGqW4BIcKNMKBcABzXu8JhIXn/UwSJ/Zt/Oea8Z+kAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAXkiyGdTn77iaHt79nLHa1oQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEJA9IC+ZVvolhHS3b88hpE+130FAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQP4AMmQK7vNpruVme80OppxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECOCeluH1PdeBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQkGND4pvaQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBADgYJE0OG+TTh0TggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7QqqSgpS78TUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQF5LGRF4h2MjwoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMhGkPI0izvTP6Ju/IosLnk/b1/yBwEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB+RVyz1+mdjDlEu6gW4wKAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyB6Scc1hp76MdjCGk3I0f5jsAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQHZBRJ348PhYkhNrb6rWTIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMi2kB8yPfTRJFKepnz07fbjdX40tT4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEJCtICuSqtWndjDllHotCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIRpDPpj797B+umSOv08PvGcj0sQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAdkD8pJppV/mkMXRYT5VuRtf3kFXU8kHAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQF5DGQoltbbImQxzYpMkMVN7SAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAeDnMZEype8p46CgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8AeSem9pr0oKAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwJSU0zh3ynW7yvOM17ceRurAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMi2kKr00dFTZgdTrjU7AAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB2RhyvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMkXJlylJdANIpEAAAAASUVORK5CYII=", + "width": 70, + "height": 70, + "alignment": "right", + "border": [ + false, + false, + false, + false + ], + "style": "qr-image" + } + ] + ] + } + } + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "columns": [ + { + "width": "20%", + "text": "{{consumer_no}}" + }, + { + "width": "50%", + "text": "{{consumerNo}}" + }, + { + "width": "14%", + "text": " " + }, + { + "width": "10%", + "text": "{{status_label}}", + "alignment": "right" + }, + { + "width": "10%", + "text": "{{status}}", + "alignment": "right" + } + ], + "margin": [ + -26, + 10, + 0, + 0 + ] + }, + { + "text": "{{service_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "50%", + "25%" + ], + "body": [ + [ + { + "text": "{{service}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{connection_execution_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{unit_of_measurement}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{sewarage_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{connectionExecutionDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{uom}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{property_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{property_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{property_usage_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plot_size}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{propertyType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{propertyUsageType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plotSize}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{property_ID}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{city_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{plot_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{building_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{propertyID}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{city}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{plot}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{building}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{street_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{locality_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{pincode_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{location_on_map}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{streetName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{locality}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{pincode}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{lat}} {{long}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{owner_details_header}}", + "style": "header" + }, + { + "style": "ws-table", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "25%", + "25%", + "25%", + "25%" + ], + "body": [ + [ + { + "text": "{{owner_mobile_number}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{owner_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{gender_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{guardian_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{ownerMobileNumber}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ownerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{gender}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{guardian}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ], + [ + { + "text": "{{guardian_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{owner_category}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{email_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{correspondence_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{guardianName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{ownerCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{email}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + }, + { + "text": "{{correspondenceAddress}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table-value" + } + ] + ] + }, + "border": [ + true, + true, + true, + true + ] + } + ] + ] + }, + "layout": {} + } + ], + "styles": { + "ws-head": { + "fillColor": "#F2F2F2", + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontFamily": "Cambay", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 8, + -8, + 4 + ] + }, + "header": { + "color": "#000000", + "textTransform": "uppercase", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 12, + 0, + -10 + ] + }, + "ws-sub-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 2 + ] + }, + "ws-sub-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + 3, + 2, + 0, + 0 + ] + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right", + "backgroundColor": "#dddddd" + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-estimationnotice.json b/configs/pdf-service/format-config/ws-estimationnotice.json new file mode 100644 index 00000000..ddc08e4f --- /dev/null +++ b/configs/pdf-service/format-config/ws-estimationnotice.json @@ -0,0 +1,703 @@ +{ + "key": "ws-estimationnotice", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "ws-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 55, + "height": 61.25, + "margin": [ + 12, + 10, + 12, + 10 + ] + }, + { + "stack": [ + { + "text": "{{tenantName}} - {{UAT}}", + "style": "receipt-logo-header", + "margin": [ + 0, + 0, + 0, + 20 + ] + }, + { + "text": "{{estimation_notice_header}} {{service}} {{connection_header}}", + "style": "receipt-logo-header" + } + ], + "alignment": "center", + "margin": [ + 10, + 30, + 0, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "ws-table-property", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "table": { + "widths": [ + "16%", + "44%", + "18%", + "22%" + ], + "body": [ + [ + { + "text": "{{app_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{appNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{app_date}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{appDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{user_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{guardian_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{guardianName}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{usage_type}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{usageType}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": "{{mobile_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{mobileNumber}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{house_no}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{houseNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ], + [ + { + "text": "{{user_address}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": ": {{address}}, PIN:{{pincode}}", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "ws-sub-table" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{estimation_header}} {{service}} {{connection_header}}", + "style": "receipt-logo-header", + "alignment": "center" + }, + { + "style": "ws-table-property", + "table": { + "widths": [ + "*" + ], + "body": [ + [ + { + "table": { + "widths": [ + "auto", + "*", + "*" + ], + "body": [ + [ + { + "text": "{{sl_no}}", + "alignment": "center" + }, + { + "text": "{{fee_estimate}}", + "alignment": "center" + }, + { + "text": "{{amount}}", + "alignment": "center" + } + ], + [ + { + "text": "1.", + "alignment": "center" + }, + { + "text": "{{form_fee}}" + }, + { + "text": "{{formFee}}", + "alignment": "right" + } + ], + [ + { + "text": "2.", + "alignment": "center" + }, + { + "text": "{{scrutiny_fee}}" + }, + { + "text": "{{ScrutinyFee}}", + "alignment": "right" + } + ], + [ + { + "text": "3.", + "alignment": "center" + }, + { + "text": "{{one_time_fee}}" + }, + { + "text": "{{oneTimeFee}}", + "alignment": "right" + } + ], + [ + { + "text": "4.", + "alignment": "center" + }, + { + "text": "{{other_charge}}" + }, + { + "text": "{{otherCharge}}", + "alignment": "right" + } + ], + [ + { + "text": "5.", + "alignment": "center" + }, + { + "text": "{{road_charge}}" + }, + { + "text": "{{roadCharge}}", + "alignment": "right" + } + ], + [ + { + "text": "6.", + "alignment": "center" + }, + { + "text": "{{security_charge}}" + }, + { + "text": "{{securityCharge}}", + "alignment": "right" + } + ], + [ + { + "text": "7.", + "alignment": "center" + }, + { + "text": "{{tax_cess}}" + }, + { + "text": "{{taxCess}}", + "alignment": "right" + } + ], + [ + { + "text": "8.", + "alignment": "center" + }, + { + "text": "{{penalty}}" + }, + { + "text": "{{penaltyAmount}}", + "alignment": "right" + } + ], + [ + { + "text": "9.", + "alignment": "center" + }, + { + "text": "{{rebate}}" + }, + { + "text": "{{rebateAmount}}", + "alignment": "right" + } + ], [ + { + "text": "10.", + "alignment": "center" + }, + { + "text": "Connection Fee" + }, + { + "text": "{{connectionFee}}", + "alignment": "right" + } + ],[ + { + "text": "11.", + "alignment": "center" + }, + { + "text": "Composition Fee" + }, + { + "text": "{{compositionFee}}", + "alignment": "right" + } + ],[ + { + "text": "12.", + "alignment": "center" + }, + { + "text": "User Charges" + }, + { + "text": "{{userCharges}}", + "alignment": "right" + } + ], + [ + { + "text": "(+)", + "alignment": "center" + }, + { + "text": "{{comments}}" + }, + { + "text": "{{penaltyComments}}", + "alignment": "right" + } + ], + [ + { + "text": " " + }, + { + "text": "{{grand_total}}" + }, + { + "text": "{{totalAmount}}", + "alignment": "right" + } + ] + ] + }, + "border": [ + false, + false, + false, + false + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{approved_by}}", + "alignment": "right" + } + ], + "styles": { + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontFamily": "Cambay", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 10 + ] + }, + "ws-table-property": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 50 + ] + }, + "header": { + "color": "#000000", + "textTransform": "uppercase", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + }, + "ws-sub-table-value": { + "color": "#000000", + "fontSize": 10, + "fontWeight": 500 + }, + "ws-sub-table": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 0 + ] + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right", + "backgroundColor": "#dddddd" + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 5, + 5, + 0, + 0 + ] + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "alignment": "right", + "margin": [ + 0, + 5, + 30, + 0 + ] + }, + "receipt-table-value-down": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 400, + "alignment": "left", + "margin": [ + 3, + 5, + 0, + 5 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table-value-cont": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-onetime-receipt.json b/configs/pdf-service/format-config/ws-onetime-receipt.json new file mode 100644 index 00000000..4f2b136b --- /dev/null +++ b/configs/pdf-service/format-config/ws-onetime-receipt.json @@ -0,0 +1,1013 @@ +{ + "key": "ws-onetime-receipt", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 60, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGradePwssb}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}}(Employee Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 0, + 7, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "34%", + "18%", + "36%", + "12%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table", + "font": "Roboto" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table", + "font": "Roboto" + } + ], + [ + { + "text": "{{payment_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payer_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_contact}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Payment Mode", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Chq/DD/PO/Txn Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Chq/DD/PO/Txn Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "Usage Category", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{UsageCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Address", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ADdress}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "Land Area", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{LandArea}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + + ] + + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "65%", + "35%" + ], + "body": + [ + [ + { + "text": "Description Head of A/C", + "style": "receipt-table-value22" + },{ + "text": "Amount(in Rupees)", + "style": "receipt-table-value22" + } + ], + "{{#var_paymentheads}}[{\"text\":\"{{taxheaddd}}\",\"style\":\"receipt-tableee\",\"alignment\":\"left\"},{\"text\":\"{{amountt}}\",\"style\":\"receipt-tableee\",\"alignment\":\"right\"}]{{/var_paymentheads}}" + ] + + + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "no-signature", + "text": "{{no_signature}}" + }, + { + "text":"-----------------------------x-----------------------------x-----------------------------x-----------------------------x-----------------------------", + "style":"next-noc-table2", + "alignment":"center" + + }, + { + "text":" ", + "style":"next-noc-table2" + + }, + { + "text":" ", + "style":"next-noc-table2" + + }, + { + "style": "noc-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 60, + "height": 61.25 + }, + { + "stack": [ + { + "text": "{{logo-header}} {{mcGradePwssb}}", + "style": "receipt-logo-header" + }, + { + "text": "{{serviceType}} {{payment_receipt}}(Citizen Copy)", + "style": "receipt-logo-sub-header" + } + ], + "alignment": "left", + "margin": [ + 13, + 7, + 0, + 0 + ] + }, + { + "stack": [ + { + "text": "{{address}}" + }, + { + "text": "{{phoneNumber}}" + }, + { + "text": "{{website}}" + }, + { + "text": "{{email}}" + } + ], + "alignment": "right", + "color": "#484848", + "margin": [ + -100, + 0, + -25, + -3 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "noc-table", + "table": { + "widths": [ + "34%", + "16%", + "36%", + "14%" + ], + "body": [ + [ + { + "text": "{{receipt_no}}.", + "border": [ + true, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{receiptNo}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table", + "font": "Roboto" + }, + { + "text": "{{consumer_id}}", + "border": [ + false, + true, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{consumerID}}", + "border": [ + false, + true, + true, + false + ], + "style": "receipt-table", + "font": "Roboto" + } + ], + [ + { + "text": "{{payment_date}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentDate}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "{{payer_name}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerName}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "{{payer_contact}}", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{payerContact}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Payment Mode", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{paymentMode}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + } + ], + [ + { + "text": "Chq/DD/PO/Txn Date", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDD}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Chq/DD/PO/Txn Date", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{chequeDDDate}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "Usage Category", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{UsageCategory}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "Address", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ADdress}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "Bank Name", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{bankName}},{{branchName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + }, + { + "text": "IFSC Code", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{ifsc}}", + "border": [ + false, + false, + true, + false + ], + "style": "receipt-table" + + } + ], + [ + { + "text": "Land Area", + "border": [ + true, + false, + false, + false + ], + "style": "receipt-table-value" + }, + { + "text": "{{LandArea}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-table" + } + + ] + + ] + }, + "layout": {} + }, + { + "style": "next-noc-table", + "table": { + "widths": [ + "65%", + "35%" + ], + "body": + [ + [ + { + "text": "Description Head of A/C", + "style": "receipt-table-value22" + },{ + "text": "Amount(in Rupees)", + "style": "receipt-table-value22" + } + ], + "{{#var_paymentheads}}[{\"text\":\"{{taxheaddd}}\",\"style\":\"receipt-tableee\",\"alignment\":\"left\"},{\"text\":\"{{amountt}}\",\"style\":\"receipt-tableee\",\"alignment\":\"right\"}]{{/var_paymentheads}}" + ] + + + }, + "layout": {} + }, + { + "style": "receipt-approver", + "columns": [ + { + "text": [ + { + "text": "{{generated_by}}: ", + "bold": true + }, + { + "text": "{{user-name}}", + "bold": false + } + ], + "alignment": "left" + }, + { + "text": [ + { + "text": "{{commissioner/eo}}", + "bold": true + } + ], + "alignment": "right", + "margin": [ + 0, + 0, + -10, + 1 + ] + } + ] + }, + { + "style": "no-signature", + "text": "{{no_signature}}" + } + ], + "styles": { + "noc-head": { + "margin": [ + -30, + -30, + 0, + 0 + ] + }, + "receipt-table-value22": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "backgroundColor": "#D3D3D3", + "margin": [ + 8, + 0, + 0, + 0 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + 0, + 0, + 2 + ] + }, + "receipt-logo-sub-header": { + "color": "#000000", + "fontSize": 12, + "letterSpacing": 0.6 + }, + "noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 7, + -22, + -8 + ] + }, + "next-noc-table": { + "fontSize": 12, + "color": "#000000", + "margin": [ + -25, + 7, + -22, + -8 + ] + }, + "next-noc-table2": { + "fontSize": 8, + "color": "#000000", + "margin": [ + -25, + 0, + -22, + 0 + ] + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 8, + 0, + 0, + 0 + ] + }, + "receipt-tableee": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + 8, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -30, + 0, + 0, + 0 + ] + }, + "receipt-approver": { + "fontSize": 8, + "bold": true, + "margin": [ + -27, + 10, + -10, + 0 + ], + "color": "#484848" + }, + "no-signature": { + "fontSize": 8, + "margin": [ + -27, + 1, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer": { + "fontSize": 12, + "margin": [ + -27, + 30, + -10, + 0 + ], + "color": "#484848" + }, + "pt-disclaimer-value": { + "fontSize": 12, + "margin": [ + 2, + 5, + 0, + 0 + ], + "color": "#484848" + } + } + } +} diff --git a/configs/pdf-service/format-config/ws-sanctionletter.json b/configs/pdf-service/format-config/ws-sanctionletter.json new file mode 100644 index 00000000..06c5ee84 --- /dev/null +++ b/configs/pdf-service/format-config/ws-sanctionletter.json @@ -0,0 +1,636 @@ +{ + "key": "ws-sanctionletter", + "config": { + "defaultStyle": { + "font": "Cambay" + }, + "content": [ + { + "style": "ws-head", + "table": { + "widths": [ + 60, + "*", + 120 + ], + "body": [ + [ + { + "image": "{{logoImage}}", + "width": 60, + "height": 61.25, + "margin": [ + 50, + 30, + 12, + 10 + ] + }, + { + "stack": [ + { + "text": "{{mcGrade}}", + "style": "receipt-logo-header", + "margin": [ + 0, + 0, + 0, + 10 + ] + }, + { + "text": "{{tenantName}}", + "style": "receipt-logo-header" + }, + { + "text": "{{sanctionLetter}}", + "style": "receipt-logo-header" + } + ], + "alignment": "center", + "margin": [ + 90, + 30, + 0, + 0 + ] + } + ] + ] + }, + "layout": "noBorders" + }, + { + "style": "ws-table-property", + "table": { + "widths": [ + "103%" + ], + "body": [ + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "auto", + "text": "{{date_label}}", + "style": "ws-sub-header", + "alignment": "right" + }, + { + "width": "auto", + "text": "{{sanctionLetterDate}}", + "alignment": "right", + "style": "ws-sub-data" + } + ] + } + ], + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "20%", + "text": "{{sub_label}}", + "style": "receipt-value-down-sub" + }, + { + "width": "80%", + "text": "{{applicationType}} {{sub_data1}} {{applicationType}} {{sub_data2}} {{doorNo}} {{locality_label}} {{locality}} {{order_issued}} ", + "style": "receipt-value-down" + } + ], + "margin": [ + 50, + 10, + 0, + 0 + ] + } + ], + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "20%", + "text": "{{ref_label}}", + "style": "receipt-value-down-sub" + }, + { + "width": "80%", + "ol": [ + { + "text": "{{ref_message1}} {{ownerName}} {{doorNo}} {{locality_label}} {{locality}} {{dated_label}} {{appCreatedDate}}", + "style": "receipt-value-down" + }, + { + "text": "{{ref_message2}}{{applicationNumber}} {{dated_label}} {{estimationLetterDate}}", + "style": "receipt-value-down" + } + ] + } + ], + "margin": [ + 50, + 10, + 0, + 0 + ] + } + ], + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "100%", + "text": "{{order_label}}", + "style": "receipt-value-down-sub" + } + ], + "margin": [ + 25, + 10, + 0, + 0 + ] + } + ], + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "100%", + "text": "{{in_ref_label}} {{applicationNumber}} {{dated}} {{appCreatedDate}} {{order_message2}} {{applicationType}} {{order_message3}} {{door_no}} {{doorNo}} {{locality_label}} {{locality}}{{order_message4}} {{totalAmount}} {{order_message5}} {{applicationType}} {{order_message6}} {{totalAmount}} {{dated}} {{sanctionLetterDate}} {{order_message7}}", + "style": "receipt-value-down" + } + ], + "margin": [ + 50, + 10, + 0, + 0 + ] + } + ], + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "100%", + "text": "{{order_message12}} {{plumberName}}{{order_message13}} {{licenceNo}}{{order_message14}} {{contactNo}}{{order_message10}} 10 {{order_message15}} {{slaDate}}{{order_message11}}", + "style": "receipt-value-down" + } + ], + "margin": [ + 50, + 10, + 0, + 0 + ] + } + ], + [ + { + "stack": [ + { + "text": "{{for_commissioner_label}}", + "style": "receipt-table-value-total", + "fontSize": 12 + } + ], + "border": [ + false, + false, + false, + false + ], + "margin": [ + 40, + 60, + 0, + 0 + ] + } + ], + [ + { + "stack": [ + { + "table": { + "widths": [ + "10%", + "40%" + ], + "body": [ + [ + { + "text": "{{to_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-value-down-sub" + }, + { + "text": " ", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-value-down-sub" + } + ], + [ + { + "text": "{{sri_smt_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-value-down-sub" + }, + { + "text": "{{ownerName}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-value-down-sub" + } + ], + [ + { + "text": "{{door_no_label}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-value-down-sub" + }, + { + "text": "{{doorNo}}", + "border": [ + false, + false, + false, + false + ], + "style": "receipt-value-down-sub" + } + ] + ] + } + }, + [ + { + "border": [ + false, + false, + false, + false + ], + "columns": [ + { + "width": "auto", + "text": "{{app_no}}", + "style": "receipt-value-down-sub" + }, + { + "width": "2%", + "text": ":" + }, + { + "width": "40%", + "text": "{{applicationNumber}}", + "style": "receipt-value-down-sub" + } + ], + "margin": [ + 0, + 10, + 0, + 0 + ] + } + ] + ], + "border": [ + false, + false, + false, + false + ], + "margin": [ + 20, + 5, + 0, + 0 + ] + } + ] + ] + }, + "layout": {} + }, + { + "text": "{{approved_by}}", + "alignment": "center", + "style": "receipt-down-footer" + } + ], + "styles": { + "ws-head": { + "margin": [ + -39, + -38, + -38, + 0 + ] + }, + "receipt-down-footer": { + "color": "#FF0000", + "fontFamily": "Cambay", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 0, + -10, + 0, + 5 + ] + }, + "ws-consumer-sub-header": { + "color": "#000000", + "fontSize": 12, + "fontWeight": 500 + }, + "receipt-value-down": { + "color": "#000000", + "bold": false, + "fontSize": 10, + "fontWeight": 400, + "alignment": "left", + "margin": [ + -8, + 0, + 0, + 5 + ] + }, + "receipt-value-down-sub": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 400, + "alignment": "left", + "margin": [ + 10, + 0, + 0, + 1 + ] + }, + "ws-sub-header": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 380, + 10, + 10, + 10 + ] + }, + "ws-order-header": { + "color": "#000000", + "bold": true, + "fontSize": 10, + "fontWeight": 500, + "margin": [ + 10, + 10, + 10, + 10 + ] + }, + "receipt-logo-header": { + "color": "#000000", + "fontFamily": "Cambay", + "fontSize": 14, + "bold": true, + "letterSpacing": 0.74, + "margin": [ + 10, + -8, + 20, + 10 + ] + }, + "ws-table": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 10 + ] + }, + "ws-table-property": { + "fontSize": 12, + "color": "#484848", + "margin": [ + -25, + 18, + -8, + 50 + ] + }, + "header": { + "color": "#000000", + "textTransform": "uppercase", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + -25, + 15, + 0, + -10 + ] + }, + "ws-sub-table-value": { + "color": "#000000", + "fontSize": 12, + "fontWeight": 500 + }, + "ws-sub-table": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + 3, + 8, + 0, + 0 + ] + }, + "ws-sub-data": { + "color": "#000000", + "fontSize": 10, + "fontWeight": 400, + "margin": [ + -5, + 10, + 10, + 10 + ] + }, + "qr-image": { + "margin": [ + -40, + -1, + -3, + 0 + ], + "color": "#484848", + "alignment": "right", + "backgroundColor": "#dddddd" + }, + "receipt-table-value": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 5, + 5, + 0, + 0 + ] + }, + "receipt-table-value-total": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "alignment": "right", + "margin": [ + 0, + 5, + 30, + 0 + ] + }, + "receipt-table-value-down": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 400, + "alignment": "left", + "margin": [ + 3, + 5, + 0, + 5 + ] + }, + "receipt-table-value2": { + "color": "#000000", + "bold": false, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table-value-cont": { + "color": "#000000", + "bold": false, + "fontSize": 11, + "fontWeight": 400, + "margin": [ + 3, + 0, + 0, + 0 + ] + }, + "receipt-table": { + "color": "#484848", + "bold": true, + "fontSize": 12, + "fontWeight": 400, + "margin": [ + -30, + 5, + 0, + 0 + ] + }, + "receipt-table2": { + "color": "#000000", + "bold": true, + "fontSize": 12, + "fontWeight": 500, + "margin": [ + 3, + 0, + 0, + 0 + ] + } + } + } +} diff --git a/configs/reports/configs/asset-reports.yml b/configs/reports/configs/asset-reports.yml new file mode 100644 index 00000000..5e38d058 --- /dev/null +++ b/configs/reports/configs/asset-reports.yml @@ -0,0 +1,1522 @@ +--- +ReportDefinitions: +- reportName: AssetImmovableRegister + summary: Immovable Asset Register Report + version: 1.0.0 + moduleName: asset + viewPath: assetImmovableReport + selectiveDownload: true + externalService: + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27IMMOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dtrue%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27IMMOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dfalse%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + sourceColumns: + - name: name + label: reports.asset.name + type: string + source: asset + - name: code + label: reports.asset.code + type: string + linkedReport: + reportName: AssetImmovableRegisterDetail + linkedColumn: _parent?reportName={reportName}&assetdetail={code} + source: asset + - name: dateofcreation + label: reports.asset.dateofcreation + type: epoch + source: asset + - name: grossvalue + label: reports.asset.grossvalue + type: number + source: asset + - name: originalvalue + label: reports.asset.originalvalue + type: number + source: asset + searchParams: + - name: assetcategory + label: reports.asset.assetCategory + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.assetCategoryType%3D%3D%27IMMOVABLE%27%20%26%26%20%40.isAssetAllow%3D%3Dfalse)%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + stateData: true + wrapper: true + searchClause : AND assetsubcategory.assetsubcategoryparent =$assetcategory + - name: assetsubcategory + label: reports.asset.assetSubCategory + isMandatory: false + type: url + pattern: /egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.parent%3D%3D{assetcategory})%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + stateData: true + wrapper: true + searchClause : AND asset.assetcategory=$assetsubcategory + - name: department + label: reports.asset.departmentCode + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid|$..code|$..name + source: asset + stateData: true + wrapper: true + searchClause : AND asset.departmentcode=$department + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code in ($code) + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name ilike $name + - name: originalvaluefrom + label: reports.asset.originalvaluefrom + type: number + source: asset + searchClause : AND asset.originalvalue>=$originalvaluefrom + isMandatory: false + - name: originalvalueto + label: reports.asset.originalvalueto + type: number + source: asset + searchClause : AND asset.originalvalue<=$originalvalueto + isMandatory: false + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + + + + + query: select asset.name,asset.code,asset.ordernumber,asset.warrantyavailable,asset.wipreferenceno,asset.titledocumentsavailable as titledocumentsavailable, + asset.accumulateddepreciation,asset.grossvalue,asset.id,asset.quantity,asset.totalarea,asset.openingdate,asset.fundsource, + asset.location,(select string_agg(land.surveynumber,',') from egasset_asset_landdetails land where land.isenabled=true and asset.id=land.assetid group by asset.id) as + totalsurveyno,asset.acquiredfrom,asset.anticipatedLife,asset.modeofacquisition,asset.warrantyexpirydate,asset.defectliabilityyear as + defectliability,asset.defectliabilitymonth as defectliabilitymonth,asset.assetCategoryType,asset.defectliabilityday as defectliabilityday, + asset.securitydepositretained,asset.securitydepositrealized,asset.dateofcreation,asset.acquisitiondate,asset.grossvalue,asset.originalvalue, + currentvalue.currentamount,disposal.salevalue as disposalsalevalue,disposal.profitlossvoucherreference as disposalvoucherno,disposal.disposaldate, + disposal.buyername,disposal.buyeraddress,revaluation.revaluationdate,revaluation.incrementalrevalsum,revaluation.decrementalrevalsum, + depreciation.depreciationvalue,depreciation.totaldepreciationval,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, + assetparentcategoryname from egasset_asset asset left outer join (select b.* from egasset_current_value b inner join ( select assetid,tenantid, + max(createdtime) as createdtime from egasset_current_value where tenantid = $tenantid group by assetid,tenantid) c ON b.assetid = c.assetid + and b.tenantid=c.tenantid AND c.createdtime=b.createdtime) currentvalue ON asset.id=currentvalue.assetid AND asset.tenantid=currentvalue.tenantid + left outer join egasset_disposal disposal ON asset.id=disposal.assetid AND asset.tenantId = disposal.tenantid left outer join + ( select dep1.*,depsum.totaldepreciationval from egasset_depreciation dep1 inner join (select assetid,tenantid,max(createdtime) as createdtime + from egasset_depreciation where tenantid = $tenantid group by assetid,tenantid ) depmax ON dep1.assetid=depmax.assetid AND + dep1.tenantid=depmax.tenantid AND dep1.createdtime=depmax.createdtime inner join (select assetid,tenantid,sum(depreciationvalue) as + totaldepreciationval from egasset_depreciation where tenantid = $tenantid group by assetid,tenantid) depsum ON dep1.assetid=depsum.assetid + AND dep1.tenantid=depsum.tenantid ) depreciation ON asset.id=depreciation.assetid AND asset.tenantid=depreciation.tenantid left outer join + (select rev1.*,revinc.incrementalrevalsum,revdec.decrementalrevalsum from egasset_revaluation rev1 inner join (select assetid,tenantid,max(createddate) + as createddate from egasset_revaluation where tenantid = $tenantid group by assetid,tenantid ) revalmax ON rev1.assetid=revalmax.assetid AND + rev1.tenantid=revalmax.tenantid AND rev1.createddate=revalmax.createddate left outer join (select assetid,tenantid,sum(revaluationamount) as + incrementalrevalsum from egasset_revaluation where tenantid = $tenantid AND typeofchange='INCREASED' group by assetid,tenantid) revinc + ON rev1.assetid=revinc.assetid and rev1.tenantid=revinc.tenantid left outer join (select assetid,tenantid,sum(revaluationamount) as decrementalrevalsum + from egasset_revaluation where tenantid = $tenantid AND typeofchange='DECREASED' group by assetid,tenantid) revdec + ON rev1.assetid=revdec.assetid and rev1.tenantid=revdec.tenantid where rev1.tenantid = $tenantid) revaluation + ON asset.tenantid=revaluation.tenantid AND asset.id=revaluation.assetid + left outer join ( select assetSubcategory.name assetsubcategoryname,assetSubcategory.depreciationrate as depreciationrate, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname,ac.id assetparentcategoryid from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategory) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id ) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid + where asset.tenantid = $tenantid AND asset.assetCategoryType='IMMOVABLE' + + +- reportName: AssetImmovableRegisterDetail + summary: Immovable Asset Register Report + version: 1.0.0 + moduleName: asset + viewPath: assetImmovableReport + selectiveDownload: true + externalService: + - entity: $.MdmsRes.egf-master.FinancialYear + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=FinancialYear&tenantId=$tenantid&filter=%5B%3F(%20%40.startingDate%20%3C%3D%20$currentTime%20%26%26%20%40.endingDate%20%3E%3D%20$currentTime)%5D + keyOrder: startingDate,endingDate + tableName: tbl_financialYears + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27IMMOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dtrue%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27IMMOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dfalse%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + - entity: $.MdmsRes.egf-master.Fund + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=Fund&tenantId=$tenantid + keyOrder: id,tenantId,name,code + tableName: tbl_funds + stateData: true + sourceColumns: + - name: id + label: reports.asset.id + type: number + source: asset + - name: quantity + label: reports.asset.quantity + type: number + source: asset + - name: plintharea + label: reports.asset.plintharea + type: number + source: asset + showColumn: true + - name: cubiccontents + label: reports.asset.cubiccontents + type: string + source: asset + - name: landsurveyno + label: reports.asset.landsurveyno + type: string + source: asset + - name: length + label: reports.asset.length + type: number + source: asset + - name: width + label: reports.asset.width + type: number + source: asset + - name: height + label: reports.asset.height + type: number + source: asset + - name: totalarea + label: reports.asset.totalarea + type: number + source: asset + - name: acquiredfrom + label: reports.asset.acquiredfrom + type: string + source: asset + - name: anticipatedLife + label: reports.asset.anticipatedLife + type: number + source: asset + - name: modeofacquisition + label: reports.asset.modeofacquisition + type: string + source: asset + - name: warrantyexpirydate + label: reports.asset.warrantyexpirydate + type: number + source: asset + - name: defectliability + label: reports.asset.defectliability + type: number + source: asset + - name: defectliabilitymonth + label: reports.asset.defectliabilitymonth + type: number + source: asset + - name: defectliabilityday + label: reports.asset.defectliabilityday + type: string + source: asset + - name: securitydepositretained + label: reports.asset.securitydepositretained + type: number + source: asset + - name: securitydepositrealized + label: reports.asset.securitydepositrealized + type: number + source: asset + - name: dateofcreation + label: reports.asset.dateofcreation + type: string + source: asset + - name: acquisitiondate + label: reports.asset.acquisitiondate + type: string + source: asset + - name: grossvalue + label: reports.asset.grossvalue + type: number + source: asset + - name: originalvalue + label: reports.asset.originalvalue + type: number + source: asset + - name: currentvalue + label: reports.asset.currentvalue + type: number + source: asset + - name: currentamount + label: reports.asset.currentamount + type: number + source: asset + - name: disposalsalevalue + label: reports.asset.disposalsalevalue + type: number + source: asset + - name: disposalvoucherno + label: reports.asset.disposalvoucherno + type: number + source: asset + - name: disposaldate + label: reports.asset.disposaldate + type: string + source: asset + - name: revaluationdate + label: reports.asset.revaluationdate + type: string + source: asset + - name: incrementalrevalsum + label: reports.asset.incrementalrevalsum + type: number + source: asset + - name: decrementalrevalsum + label: reports.asset.decrementalrevalsum + type: number + source: asset + - name: depreciationvalue + label: reports.asset.depreciationvalue + type: number + source: asset + - name: totaldepreciationval + label: reports.asset.totaldepreciationval + type: number + source: asset + - name: name + label: reports.asset.name + type: string + source: asset + - name: code + label: reports.asset.code + type: string + source: asset + - name: ordernumber + label: reports.asset.ordernumber + type: number + - name: warrantyavailable + label: reports.asset.warrantyavailable + type: string + source: asset + - name: wipreferenceno + label: reports.asset.wipreferenceno + type: string + source: asset + - name: floors + label: reports.asset.floors + type: number + source: asset + - name: titledocumentsavailable + label: reports.asset.titledocumentsavailable + type: number + - name: buyername + label: reports.asset.buyername + type: string + source: asset + - name: accumulateddepreciation + label: reports.asset.accumulateddepreciation + type: number + source: asset + - name: openingdate + label: reports.asset.openingdate + type: number + source: asset + - name: fundsourcename + label: reports.asset.fundsource + type: string + source: asset + - name: location + label: reports.asset.location + type: string + source: asset + - name: totalsurveyno + label: reports.asset.totalsurveyno + type: string + source: asset + - name: assetattributes + label: reports.asset.assetattributes + type: string + source: asset + - name: assetsubcategoryname + label: reports.asset.assetsubcategoryname + type: string + source: asset + - name: assetparentcategoryname + label: reports.asset.assetparentcategoryname + type: string + source: asset + - name: depreciationrate + label: reports.asset.depreciationrate + type: string + source: asset + - name: totalrevalsum + label: reports.asset.totalrevalsum + type: string + source: asset + - name: prevtotaldepreciationval + label: reports.asset.prevtotaldepreciationval + type: string + source: asset + - name: currtotaldepreciationval + label: reports.asset.currtotaldepreciationval + type: string + source: asset + searchParams: + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name=$name + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code=$code + - name: assetdetail + label: reports.asset.detail + type: number + isMandatory: false + source: asset + searchClause : and asset.code in ($assetdetail) + + query: select asset.name,asset.code,asset.ordernumber,asset.warrantyavailable,asset.wipreferenceno,asset.titledocumentsavailable as titledocumentsavailable, + asset.accumulateddepreciation,asset.grossvalue,asset.id,asset.quantity,asset.totalarea,asset.openingdate,asset.fundsource,funds.fundsourcename, + asset.location,(select string_agg(land.surveynumber,',') from egasset_asset_landdetails land where land.isenabled=true and asset.id=land.assetid group by asset.id) as + totalsurveyno,asset.acquiredfrom,asset.anticipatedLife,asset.modeofacquisition,asset.warrantyexpirydate,asset.defectliabilityyear as + defectliability,asset.defectliabilitymonth as defectliabilitymonth,asset.assetCategoryType,asset.defectliabilityday as defectliabilityday, coalesce(grossvalue,0.0)-coalesce(accumulateddepreciation,0.0)+coalesce(incrementalrevalsum,0.0)-coalesce(decrementalrevalsum,0.0) as totalrevalsum, + asset.securitydepositretained,asset.securitydepositrealized,asset.dateofcreation,asset.acquisitiondate,asset.grossvalue,asset.originalvalue, + currentvalue.currentamount,disposal.salevalue as disposalsalevalue,disposal.profitlossvoucherreference as disposalvoucherno,disposal.disposaldate, + disposal.buyername,disposal.buyeraddress,revaluation.revaluationdate,revaluation.incrementalrevalsum,revaluation.decrementalrevalsum, + depreciation.depreciationvalue,depreciation.totaldepreciationval,depreciation.prevtotaldepreciationval,depreciation.currtotaldepreciationval,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, assetparentcategoryname from egasset_asset asset left outer join (select b.* from egasset_current_value b inner join ( select assetid,tenantid, max(createdtime) as createdtime from egasset_current_value where tenantid = $tenantid group by assetid,tenantid) c ON b.assetid = c.assetid and b.tenantid=c.tenantid AND c.createdtime=b.createdtime) currentvalue ON asset.id=currentvalue.assetid AND asset.tenantid=currentvalue.tenantid left outer join egasset_disposal disposal ON asset.id=disposal.assetid AND asset.tenantId = disposal.tenantid left outer join ( select dep1.*,depsum.totaldepreciationval,prevtotaldepreciationval,currtotaldepreciationval from egasset_depreciation dep1 + inner join (select assetid,tenantid,max(createdtime) as createdtime from egasset_depreciation where tenantid = $tenantid group by assetid,tenantid ) depmax ON dep1.assetid=depmax.assetid AND + dep1.tenantid=depmax.tenantid AND dep1.createdtime=depmax.createdtime inner join + (select assetid,tenantid,sum(depreciationvalue) as totaldepreciationval from egasset_depreciation where tenantid = $tenantid group by assetid,tenantid) depsum + ON dep1.assetid=depsum.assetid AND dep1.tenantid=depsum.tenantid left outer join + (select assetid,tenantid,sum(depreciationvalue) as prevtotaldepreciationval from egasset_depreciation where tenantid = $tenantid AND todate<=(select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) group by assetid,tenantid) prevdepsum + ON dep1.assetid=prevdepsum.assetid AND dep1.tenantid=prevdepsum.tenantid left outer join (select assetid,tenantid,sum(depreciationvalue) as currtotaldepreciationval + from egasset_depreciation where tenantid = $tenantid AND (todate BETWEEN (select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) + AND (select endingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) ) group by assetid,tenantid) currdepsum + ON dep1.assetid=currdepsum.assetid AND dep1.tenantid=currdepsum.tenantid) + depreciation ON asset.id=depreciation.assetid AND asset.tenantid=depreciation.tenantid + left outer join + (select rev1.*,revinc.incrementalrevalsum,revdec.decrementalrevalsum from egasset_revaluation rev1 inner join (select assetid,tenantid,max(createddate) + as createddate from egasset_revaluation where tenantid = $tenantid group by assetid,tenantid ) revalmax ON rev1.assetid=revalmax.assetid AND + rev1.tenantid=revalmax.tenantid AND rev1.createddate=revalmax.createddate left outer join (select assetid,tenantid,sum(revaluationamount) as + incrementalrevalsum from egasset_revaluation where tenantid = $tenantid AND typeofchange='INCREASED' group by assetid,tenantid) revinc + ON rev1.assetid=revinc.assetid and rev1.tenantid=revinc.tenantid left outer join (select assetid,tenantid,sum(revaluationamount) as decrementalrevalsum + from egasset_revaluation where tenantid = $tenantid AND typeofchange='DECREASED' group by assetid,tenantid) revdec + ON rev1.assetid=revdec.assetid and rev1.tenantid=revdec.tenantid where rev1.tenantid = $tenantid) revaluation + ON asset.tenantid=revaluation.tenantid AND asset.id=revaluation.assetid + left outer join ( select assetSubcategory.name assetsubcategoryname,assetSubcategory.depreciationrate as depreciationrate, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname,ac.id assetparentcategoryid from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategory) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id ) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid + left outer join (select funds.name fundsourcename,funds.code from (VALUES tbl_funds) as funds (id,tenantId,name,code)) as funds ON asset.fundsource=funds.code + where asset.tenantid = $tenantid AND asset.assetCategoryType='IMMOVABLE' + + +- reportName: AssetMovableRegister + summary: Movable Asset Register Report + version: 1.0.0 + moduleName: asset + viewPath: assetMovableReport + selectiveDownload: true + externalService: + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27MOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dtrue%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27MOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dfalse%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + sourceColumns: + - name: name + label: reports.asset.name + type: string + source: asset + - name: code + label: reports.asset.code + type: string + linkedReport: + reportName: AssetMovableRegisterDetail + linkedColumn: _parent?reportName={reportName}&assetdetail={code} + source: asset + - name: dateofcreation + label: reports.asset.dateofcreation + type: epoch + source: asset + - name: grossvalue + label: reports.asset.grossvalue + type: number + source: asset + - name: originalvalue + label: reports.asset.originalvalue + type: number + source: asset + searchParams: + - name: assetcategory + label: reports.asset.assetCategory + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.assetCategoryType%3D%3D%27MOVABLE%27%20%26%26%20%40.isAssetAllow%3D%3Dfalse)%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + wrapper: true + stateData: true + searchClause : AND assetsubcategory.assetsubcategoryparent =$assetcategory + - name: assetsubcategory + label: reports.asset.assetSubCategory + isMandatory: false + type: url + pattern: /egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.parent%3D%3D{assetcategory})%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + wrapper: true + stateData: true + searchClause : AND asset.assetcategory=$assetsubcategory + - name: department + label: reports.asset.departmentCode + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid|$..code|$..name + source: asset + wrapper: true + stateData: true + searchClause : AND asset.departmentcode=$department + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code in ($code) + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name=$name + - name: originalvaluefrom + label: reports.asset.originalvaluefrom + type: number + source: asset + searchClause : AND asset.originalvalue>=$originalvaluefrom + isMandatory: false + - name: originalvalueto + label: reports.asset.originalvalueto + type: number + source: asset + searchClause : AND asset.originalvalue<=$originalvalueto + isMandatory: false + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + + + + + + query: select asset.name,asset.code,asset.ordernumber,asset.warrantyavailable,asset.wipreferenceno,asset.titledocumentsavailable as titledocumentsavailable,asset.accumulateddepreciation,asset.grossvalue,asset.id,asset.quantity,asset.totalarea,asset.openingdate,asset.fundsource,asset.location,asset.assetCategoryType, + asset.acquiredfrom,asset.anticipatedLife,asset.modeofacquisition,asset.warrantyexpirydate,asset.defectliabilityyear as defectliability,asset.defectliabilitymonth as defectliabilitymonth,(select string_agg(land.surveynumber,',') from egasset_asset_landdetails land where land.isenabled=true and asset.id=land.assetid group by asset.id) as totalsurveyno, + asset.defectliabilityday as defectliabilityday,asset.securitydepositretained, + asset.securitydepositrealized,asset.dateofcreation,asset.acquisitiondate,asset.grossvalue,asset.originalvalue,currentvalue.currentamount, + disposal.salevalue as disposalsalevalue,disposal.profitlossvoucherreference as disposalvoucherno,disposal.disposaldate,disposal.buyername,disposal.buyeraddress, + revaluation.revaluationdate,revaluation.incrementalrevalsum,revaluation.decrementalrevalsum, + depreciation.depreciationvalue,depreciation.totaldepreciationval,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, + assetparentcategoryname + from egasset_asset asset left outer join + (select b.* from egasset_current_value b inner join ( select assetid,tenantid,max(createdtime) as createdtime from egasset_current_value + where tenantid = $tenantid group by assetid,tenantid) c + ON b.assetid = c.assetid and b.tenantid=c.tenantid AND c.createdtime=b.createdtime) currentvalue + ON asset.id=currentvalue.assetid AND asset.tenantid=currentvalue.tenantid + left outer join egasset_disposal disposal ON asset.id=disposal.assetid AND asset.tenantId = disposal.tenantid + left outer join ( select dep1.*,depsum.totaldepreciationval from egasset_depreciation dep1 + inner join + (select assetid,tenantid,max(createdtime) as createdtime from egasset_depreciation where tenantid = $tenantid + group by assetid,tenantid ) depmax ON dep1.assetid=depmax.assetid AND dep1.tenantid=depmax.tenantid AND dep1.createdtime=depmax.createdtime + inner join (select assetid,tenantid,sum(depreciationvalue) as totaldepreciationval from egasset_depreciation + where tenantid = $tenantid group by assetid,tenantid) depsum ON dep1.assetid=depsum.assetid + AND dep1.tenantid=depsum.tenantid ) depreciation ON asset.id=depreciation.assetid AND asset.tenantid=depreciation.tenantid + left outer join + (select rev1.*,revinc.incrementalrevalsum,revdec.decrementalrevalsum from egasset_revaluation rev1 inner join + (select assetid,tenantid,max(createddate) as createddate from egasset_revaluation where tenantid = $tenantid + group by assetid,tenantid ) revalmax ON rev1.assetid=revalmax.assetid AND rev1.tenantid=revalmax.tenantid AND rev1.createddate=revalmax.createddate + left outer join + (select assetid,tenantid,sum(revaluationamount) as incrementalrevalsum from egasset_revaluation where tenantid = $tenantid + AND typeofchange='INCREASED' group by assetid,tenantid) revinc ON rev1.assetid=revinc.assetid and rev1.tenantid=revinc.tenantid + left outer join (select assetid,tenantid,sum(revaluationamount) as decrementalrevalsum from egasset_revaluation + where tenantid = $tenantid AND typeofchange='DECREASED' group by assetid,tenantid) revdec + ON rev1.assetid=revdec.assetid and rev1.tenantid=revdec.tenantid + where rev1.tenantid = $tenantid) revaluation + ON asset.tenantid=revaluation.tenantid AND asset.id=revaluation.assetid + left outer join ( select assetSubcategory.name assetsubcategoryname,assetSubcategory.depreciationrate as depreciationrate, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname,ac.id assetparentcategoryid from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategory) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id ) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid + where asset.tenantid = $tenantid AND asset.assetCategoryType='MOVABLE' + + +- reportName: AssetMovableRegisterDetail + summary: Movable Asset Register Report + version: 1.0.0 + moduleName: asset + viewPath: assetMovableReport + selectiveDownload: true + externalService: + - entity: $.MdmsRes.egf-master.FinancialYear + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=FinancialYear&tenantId=$tenantid&filter=%5B%3F(%20%40.startingDate%20%3C%3D%20$currentTime%20%26%26%20%40.endingDate%20%3E%3D%20$currentTime)%5D + keyOrder: startingDate,endingDate + tableName: tbl_financialYears + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27MOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dtrue%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27MOVABLE%27++%26%26+%40.isAssetAllow%3D%3Dfalse%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + - entity: $.MdmsRes.egf-master.Fund + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=Fund&tenantId=$tenantid + keyOrder: id,tenantId,name,code + tableName: tbl_funds + stateData: true + sourceColumns: + - name: id + label: reports.asset.id + type: number + source: asset + - name: quantity + label: reports.asset.quantity + type: number + source: asset + - name: plintharea + label: reports.asset.plintharea + type: number + source: asset + showColumn: true + - name: cubiccontents + label: reports.asset.cubiccontents + type: string + source: asset + - name: landsurveyno + label: reports.asset.landsurveyno + type: string + source: asset + - name: length + label: reports.asset.length + type: number + source: asset + - name: width + label: reports.asset.width + type: number + source: asset + - name: height + label: reports.asset.height + type: number + source: asset + - name: totalarea + label: reports.asset.totalarea + type: number + source: asset + - name: acquiredfrom + label: reports.asset.acquiredfrom + type: string + source: asset + - name: anticipatedLife + label: reports.asset.anticipatedLife + type: number + source: asset + - name: modeofacquisition + label: reports.asset.modeofacquisition + type: string + source: asset + - name: warrantyexpirydate + label: reports.asset.warrantyexpirydate + type: number + source: asset + - name: defectliability + label: reports.asset.defectliability + type: number + source: asset + - name: defectliabilitymonth + label: reports.asset.defectliabilitymonth + type: number + source: asset + - name: defectliabilityday + label: reports.asset.defectliabilityday + type: string + source: asset + - name: securitydepositretained + label: reports.asset.securitydepositretained + type: number + source: asset + - name: securitydepositrealized + label: reports.asset.securitydepositrealized + type: number + source: asset + - name: dateofcreation + label: reports.asset.dateofcreation + type: string + source: asset + - name: acquisitiondate + label: reports.asset.acquisitiondate + type: string + source: asset + - name: grossvalue + label: reports.asset.grossvalue + type: number + source: asset + - name: originalvalue + label: reports.asset.originalvalue + type: number + source: asset + - name: currentvalue + label: reports.asset.currentvalue + type: number + source: asset + - name: currentamount + label: reports.asset.currentamount + type: number + source: asset + - name: disposalsalevalue + label: reports.asset.disposalsalevalue + type: number + source: asset + - name: disposalvoucherno + label: reports.asset.disposalvoucherno + type: number + source: asset + - name: disposaldate + label: reports.asset.disposaldate + type: string + source: asset + - name: revaluationdate + label: reports.asset.revaluationdate + type: string + source: asset + - name: incrementalrevalsum + label: reports.asset.incrementalrevalsum + type: number + source: asset + - name: decrementalrevalsum + label: reports.asset.decrementalrevalsum + type: number + source: asset + - name: depreciationvalue + label: reports.asset.depreciationvalue + type: number + source: asset + - name: totaldepreciationval + label: reports.asset.totaldepreciationval + type: number + source: asset + - name: name + label: reports.asset.name + type: string + source: asset + - name: code + label: reports.asset.code + type: string + source: asset + - name: ordernumber + label: reports.asset.ordernumber + type: number + - name: warrantyavailable + label: reports.asset.warrantyavailable + type: string + source: asset + - name: wipreferenceno + label: reports.asset.wipreferenceno + type: string + source: asset + - name: floors + label: reports.asset.floors + type: number + source: asset + - name: titledocumentsavailable + label: reports.asset.titledocumentsavailable + type: number + - name: buyername + label: reports.asset.buyername + type: string + source: asset + - name: accumulateddepreciation + label: reports.asset.accumulateddepreciation + type: number + source: asset + - name: openingdate + label: reports.asset.openingdate + type: number + source: asset + - name: fundsourcename + label: reports.asset.fundsource + type: string + source: asset + - name: location + label: reports.asset.location + type: string + source: asset + - name: totalsurveyno + label: reports.asset.totalsurveyno + type: string + source: asset + - name: assetsubcategoryname + label: reports.asset.assetsubcategoryname + type: string + source: asset + - name: assetparentcategoryname + label: reports.asset.assetparentcategoryname + type: string + source: asset + - name: depreciationrate + label: reports.asset.depreciationrate + type: number + source: asset + - name: totalrevalsum + label: reports.asset.totalrevalsum + type: number + source: asset + - name: prevtotaldepreciationval + label: reports.asset.prevtotaldepreciationval + type: string + source: asset + - name: currtotaldepreciationval + label: reports.asset.currtotaldepreciationval + type: string + source: asset + searchParams: + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name=$name + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code=$code + - name: assetcategory + label: reports.asset.assetcategory + type: string + isMandatory: false + source: asset + searchClause : AND asset.assetcategory=assetcategory + - name: assetdetail + label: reports.asset.detail + type: number + isMandatory: false + source: asset + searchClause : and asset.code in ($assetdetail) + + query: select asset.name,asset.code,asset.ordernumber,asset.warrantyavailable,asset.wipreferenceno,asset.titledocumentsavailable as titledocumentsavailable,asset.accumulateddepreciation,asset.grossvalue,asset.id,asset.quantity,asset.totalarea,asset.openingdate,asset.fundsource,asset.location,asset.assetCategoryType, + asset.acquiredfrom,asset.anticipatedLife,asset.modeofacquisition,asset.warrantyexpirydate,asset.defectliabilityyear as defectliability,asset.defectliabilitymonth as defectliabilitymonth,(select string_agg(land.surveynumber,',') from egasset_asset_landdetails land where land.isenabled=true and asset.id=land.assetid group by asset.id) as totalsurveyno,coalesce(grossvalue,0.0)-coalesce(accumulateddepreciation,0.0)+coalesce(incrementalrevalsum,0.0)-coalesce(decrementalrevalsum,0.0) as totalrevalsum, + asset.defectliabilityday as defectliabilityday,asset.securitydepositretained, + asset.securitydepositrealized,asset.dateofcreation,asset.acquisitiondate,asset.grossvalue,asset.originalvalue,currentvalue.currentamount,funds.fundsourcename, + disposal.salevalue as disposalsalevalue,disposal.profitlossvoucherreference as disposalvoucherno,disposal.disposaldate,disposal.buyername,disposal.buyeraddress, + revaluation.revaluationdate,revaluation.incrementalrevalsum,revaluation.decrementalrevalsum, + depreciation.depreciationvalue,depreciation.totaldepreciationval,depreciation.currtotaldepreciationval,depreciation.prevtotaldepreciationval,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, assetparentcategoryname from egasset_asset asset left outer join + (select b.* from egasset_current_value b inner join ( select assetid,tenantid,max(createdtime) as createdtime from egasset_current_value where tenantid = $tenantid group by assetid,tenantid) c + ON b.assetid = c.assetid and b.tenantid=c.tenantid AND c.createdtime=b.createdtime) currentvalue + ON asset.id=currentvalue.assetid AND asset.tenantid=currentvalue.tenantid left outer join egasset_disposal disposal ON asset.id=disposal.assetid AND asset.tenantId = disposal.tenantid left outer join ( select dep1.*,depsum.totaldepreciationval,prevtotaldepreciationval,currtotaldepreciationval from egasset_depreciation dep1 inner join (select assetid,tenantid,max(createdtime) as createdtime from egasset_depreciation where tenantid = $tenantid group by assetid,tenantid ) depmax ON dep1.assetid=depmax.assetid AND dep1.tenantid=depmax.tenantid AND dep1.createdtime=depmax.createdtime inner join (select assetid,tenantid,sum(depreciationvalue) as totaldepreciationval from egasset_depreciation where tenantid = $tenantid group by assetid,tenantid) depsum ON dep1.assetid=depsum.assetid AND dep1.tenantid=depsum.tenantid left outer join (select assetid,tenantid,sum(depreciationvalue) as prevtotaldepreciationval from egasset_depreciation where tenantid = $tenantid AND todate<=(select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) group by assetid,tenantid) prevdepsum ON dep1.assetid=prevdepsum.assetid AND dep1.tenantid=prevdepsum.tenantid left outer join (select assetid,tenantid,sum(depreciationvalue) as currtotaldepreciationval from egasset_depreciation where tenantid = $tenantid AND (todate BETWEEN (select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) AND (select endingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) ) group by assetid,tenantid) currdepsum ON dep1.assetid=currdepsum.assetid AND dep1.tenantid=currdepsum.tenantid) depreciation ON asset.id=depreciation.assetid AND asset.tenantid=depreciation.tenantid left outer join + (select rev1.*,revinc.incrementalrevalsum,revdec.decrementalrevalsum from egasset_revaluation rev1 inner join + (select assetid,tenantid,max(createddate) as createddate from egasset_revaluation where tenantid = $tenantid + group by assetid,tenantid ) revalmax ON rev1.assetid=revalmax.assetid AND rev1.tenantid=revalmax.tenantid AND rev1.createddate=revalmax.createddate + left outer join + (select assetid,tenantid,sum(revaluationamount) as incrementalrevalsum from egasset_revaluation where tenantid = $tenantid + AND typeofchange='INCREASED' group by assetid,tenantid) revinc ON rev1.assetid=revinc.assetid and rev1.tenantid=revinc.tenantid + left outer join (select assetid,tenantid,sum(revaluationamount) as decrementalrevalsum from egasset_revaluation + where tenantid = $tenantid AND typeofchange='DECREASED' group by assetid,tenantid) revdec + ON rev1.assetid=revdec.assetid and rev1.tenantid=revdec.tenantid + where rev1.tenantid = $tenantid) revaluation + ON asset.tenantid=revaluation.tenantid AND asset.id=revaluation.assetid + left outer join ( select assetSubcategory.name assetsubcategoryname,assetSubcategory.depreciationrate as depreciationrate, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname,ac.id assetparentcategoryid from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategory) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid left outer join (select funds.name fundsourcename,funds.code from (VALUES tbl_funds) as funds (id,tenantId,name,code)) as funds ON asset.fundsource=funds.code + where asset.tenantid = $tenantid AND asset.assetCategoryType='MOVABLE' + + +- reportName: AssetSchedule + summary: Asset Schedule Register Report + version: 1.0.0 + moduleName: asset + viewPath: assetScheduleReport + externalService: + - entity: $.MdmsRes.egf-master.FinancialYear + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=FinancialYear&tenantId=$tenantid&filter=%5B%3F(%20%40.startingDate%20%3C%3D%20$currentTime%20%26%26%20%40.endingDate%20%3E%3D%20$currentTime)%5D + keyOrder: startingDate,endingDate + tableName: tbl_financialYears + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+@.parent%21%3Dnull%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.parent%3D%3Dnull%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid + keyOrder: id,name,tenantId,depreciationRate,parent + tableName: tbl_assetcategories + stateData: true + sourceColumns: + - name: assetparentcategoryname + label: reports.asset.assetparentcategoryname + type: string + source: asset + - name: assetsubcategoryname + label: reports.asset.assetsubcategoryname + type: string + source: asset + - name: name + label: reports.asset.schedulename + type: string + source: asset + - name: depreciationrate + label: reports.asset.depreciationrate + type: string + source: asset + - name: code + label: reports.asset.code + type: string + source: asset + - name: revaluationreserveaccount + label: reports.asset.revaluationreserveaccount + type: string + source: asset + - name: previousfynetblock + label: reports.asset.currentstartnetblock + type: number + source: asset + - name: plusrevalsum + label: reports.asset.plusrevalsum + type: string + source: asset + - name: minusrevalsum + label: reports.asset.minusrevalsum + type: number + source: asset + - name: revaltotal + label: reports.asset.revaltotal + type: number + source: asset + - name: accumulateddepreciationaccount + label: reports.asset.accumulateddepreciationaccount + type: string + source: asset + - name: startdepval + label: reports.asset.startdepval + type: number + source: asset + - name: currdepsum + label: reports.asset.currdepsum + type: number + source: asset + - name: totaldepsum + label: reports.asset.totaldepsum + type: number + source: asset + - name: endcurrentamount + label: reports.asset.endcurrentamount + type: string + source: asset + - name: previousfynetblock + label: reports.asset.previousfynetblock + type: string + source: asset + searchParams: + - name: assetcategorytype + label: reports.asset.assetcategorytype + isMandatory: false + type: singlevaluelist + pattern: 'list://IMMOVABLE:IMMOVABLE,MOVABLE:MOVABLE,LAND:LAND' + source: asset + - name: assetcategory + label: reports.asset.assetCategory + isMandatory: false + type: url + pattern: /egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.assetCategoryType%3D%3D%27{assetcategorytype}%27%20%26%26%20%40.isAssetAllow%3D%3Dfalse)%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + wrapper: true + stateData: true + searchClause : + - name: assetsubcategory + label: reports.asset.assetSubCategory + isMandatory: false + type: url + pattern: /egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.parent%3D%3D{assetcategory})%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + stateData: true + wrapper: true + searchClause : AND asset.assetcategory=$assetsubcategory + - name: department + label: reports.asset.departmentCode + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid|$..id|$..name + source: asset + wrapper: true + stateData: true + searchClause : AND asset.departmentcode=$department + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code in ($code) + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name=$name + - name: originalvaluefrom + label: reports.asset.originalvaluefrom + type: number + source: asset + searchClause : AND asset.originalvalue>=$originalvaluefrom + isMandatory: false + - name: originalvalueto + label: reports.asset.originalvalueto + type: number + source: asset + searchClause : AND asset.originalvalue<=$originalvalueto + isMandatory: false + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + + + query: select asset.code,asset.assetcategory,asset.name,asset.originalvalue,asset.revaluationreserveaccount, + asset.accumulateddepreciationaccount,asset.assetaccount,asset.accumulateddepreciation,previousfynetblock,endcurrentamount, + plusrevalsum,minusrevalsum,coalesce(prevdepsum,0)+coalesce(asset.accumulateddepreciation,0) as startdepval, + coalesce(previousfynetblock,0.0)+coalesce(plusrevalsum,0.0)-coalesce(minusRevalsum,0.0) as revaltotal,prevdepsum, currdepsum, + coalesce(prevdepsum,0.0)+coalesce(currdepsum,0.0)+coalesce(asset.accumulateddepreciation,0.0) as totaldepsum,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, + assetparentcategoryname from egasset_asset asset inner join (select distinct(current.assetid),current.tenantid,current.transactiondate,previousfynetblock,current.createdtime, + endcurrentamount,plusrevalsum,minusrevalsum ,previousfynetblock+plusrevalsum-minusRevalsum as revaltotal,prevdepsum,currdepsum, + prevdepsum+currdepsum as totaldepsum from egasset_current_value current inner join (select value.assetid,currentamount as + endcurrentamount,value.tenantid,value.transactiondate,value.createdtime from egasset_current_value value inner join (select max(createdtime) as createdtime, + assetid,tenantid from egasset_current_value where tenantid=$tenantid AND transactiondate<=(select endingDate::bigint::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) + GROUP BY assetid,tenantid) as maxvalue ON value.assetid=maxvalue.assetid and value.tenantid=maxvalue.tenantid AND + value.createdtime=maxvalue.createdtime) endcurrent ON current.assetid=endcurrent.assetid AND current.tenantid= + endcurrent.tenantid AND current.createdtime=endcurrent.createdtime left outer join (select value.assetid,currentamount as + previousfynetblock,value.tenantid,value.transactiondate,value.createdtime from egasset_current_value value inner join (select max(createdtime) as + createdtime,assetid,tenantid from egasset_current_value where tenantid=$tenantid AND transactiondate<=(select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) GROUP BY assetid,tenantid ) as maxvalue ON value.assetid=maxvalue.assetid and + value.tenantid=maxvalue.tenantid AND value.createdtime=maxvalue.createdtime) prevyearcurrent ON current.assetid= + prevyearcurrent.assetid AND current.tenantid=prevyearcurrent.tenantid AND current.createdtime=prevyearcurrent.createdtime + left outer join (select COALESCE(sum(revaluationamount),0.0) plusRevalsum,assetid,tenantid from egasset_revaluation where + tenantid=$tenantid AND typeofchange='INCREASED' AND (revaluationdate BETWEEN (select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) AND (select endingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate))) + GROUP BY assetid,tenantid ) plusreval ON current.assetid=plusreval.assetid AND current.tenantid= + plusreval.tenantid left outer join (select sum(revaluationamount) minusRevalsum,assetid,tenantid from egasset_revaluation where + tenantid=$tenantid AND typeofchange='DECREASED' AND (revaluationdate between (select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) and (select endingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate))) GROUP BY assetid,tenantid ) minusreval ON current.assetid=minusreval.assetid AND current.tenantid= + minusreval.tenantid left outer join (select sum(depreciationvalue) prevdepsum,assetid,tenantid from egasset_depreciation where + tenantid=$tenantid AND todate<(select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) GROUP BY assetid,tenantid ) prevdep ON current.assetid=prevdep. + assetid AND current.tenantid=prevdep.tenantid left outer join (select sum(depreciationvalue) currdepsum,assetid,tenantid from + egasset_depreciation where tenantid=$tenantid AND (todate between (select startingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate)) and (select endingDate::bigint from (VALUES tbl_financialYears) as financialYears (startingDate,endingDate))) GROUP BY assetid,tenantid ) currdep ON current.assetid=currdep.assetid AND current.tenantid= + currdep.tenantid) as transactions ON asset.id=transactions.assetid AND asset.tenantid=transactions.tenantid + left outer join ( select assetSubcategory.name as assetsubcategoryname,CASE WHEN assetSubcategory.depreciationrate='null' THEN 'NA' WHEN assetSubcategory.depreciationrate='' THEN 'NA' ELSE assetSubcategory.depreciationrate END, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategories) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id ) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid + WHERE asset.tenantid=$tenantid + +- reportName: LandRegister + summary: Land Register Report + version: 1.0.0 + moduleName: asset + viewPath: landRegisterReport + selectiveDownload: true + externalService: + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27LAND%27++%26%26+%40.isAssetAllow%3D%3Dtrue%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27LAND%27++%26%26+%40.isAssetAllow%3D%3Dfalse%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + sourceColumns: + - name: name + label: reports.asset.name + type: string + source: asset + - name: code + label: reports.asset.code + type: string + linkedReport: + reportName: LandRegisterDetail + linkedColumn: _parent?reportName={reportName}&assetdetail={code} + source: asset + - name: dateofcreation + label: reports.asset.dateofcreation + type: epoch + source: asset + - name: grossvalue + label: reports.asset.grossvalue + type: number + source: asset + - name: originalvalue + label: reports.asset.originalvalue + type: number + source: asset + searchParams: + - name: assetcategory + label: reports.asset.assetCategory + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.assetCategoryType%3D%3D%27LAND%27%20%26%26%20%40.isAssetAllow%3D%3Dfalse)%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + wrapper: true + stateData: true + searchClause : AND assetsubcategory.assetsubcategoryparent =$assetcategory + - name: assetsubcategory + label: reports.asset.assetSubCategory + isMandatory: false + type: url + pattern: /egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F(%20%40.parent%3D%3D{assetcategory})%5D|$.MdmsRes.ASSET.AssetCategory.*.id|$.MdmsRes.ASSET.AssetCategory.*.name + source: asset + wrapper: true + stateData: true + searchClause : AND asset.assetcategory=$assetsubcategory + - name: department + label: reports.asset.departmentCode + isMandatory: false + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid|$..code|$..name + source: asset + wrapper: true + stateData: true + searchClause : AND asset.departmentcode=$department + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code in ($code) + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name=$name + - name: originalvaluefrom + label: reports.asset.originalvaluefrom + type: number + source: asset + searchClause : AND asset.originalvalue>=$originalvaluefrom + isMandatory: false + - name: originalvalueto + label: reports.asset.originalvalueto + type: number + source: asset + searchClause : AND asset.originalvalue<=$originalvalueto + isMandatory: false + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + + + + + query: select asset.name,asset.code,asset.ordernumber,asset.warrantyavailable,asset.wipreferenceno,asset.titledocumentsavailable as titledocumentsavailable,asset.accumulateddepreciation,asset.grossvalue,asset.id,asset.quantity,asset.totalarea,asset.openingdate,asset.fundsource,asset.location,(select string_agg(land.surveynumber,',') from egasset_asset_landdetails land where land.isenabled=true and asset.id=land.assetid group by asset.id) as totalsurveyno, + asset.acquiredfrom,asset.anticipatedLife,asset.modeofacquisition,asset.warrantyexpirydate,asset.defectliabilityyear as defectliability,asset.defectliabilitymonth as defectliabilitymonth,asset.assetCategoryType, + asset.defectliabilityday as defectliabilityday,asset.securitydepositretained, + asset.securitydepositrealized,asset.dateofcreation,asset.acquisitiondate,asset.grossvalue,asset.originalvalue,currentvalue.currentamount, + disposal.salevalue as disposalsalevalue,disposal.profitlossvoucherreference as disposalvoucherno,disposal.disposaldate,disposal.buyername,disposal.buyeraddress, + revaluation.revaluationdate,revaluation.incrementalrevalsum,revaluation.decrementalrevalsum,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, + assetparentcategoryname + from egasset_asset asset left outer join + (select b.* from egasset_current_value b inner join ( select assetid,tenantid,max(createdtime) as createdtime from egasset_current_value + where tenantid = $tenantid group by assetid,tenantid) c + ON b.assetid = c.assetid and b.tenantid=c.tenantid AND c.createdtime=b.createdtime) currentvalue + ON asset.id=currentvalue.assetid AND asset.tenantid=currentvalue.tenantid + left outer join egasset_disposal disposal ON asset.id=disposal.assetid AND asset.tenantId = disposal.tenantid + left outer join + (select rev1.*,revinc.incrementalrevalsum,revdec.decrementalrevalsum from egasset_revaluation rev1 inner join + (select assetid,tenantid,max(createddate) as createddate from egasset_revaluation where tenantid = $tenantid + group by assetid,tenantid ) revalmax ON rev1.assetid=revalmax.assetid AND rev1.tenantid=revalmax.tenantid AND rev1.createddate=revalmax.createddate + left outer join + (select assetid,tenantid,sum(revaluationamount) as incrementalrevalsum from egasset_revaluation where tenantid = $tenantid + AND typeofchange='INCREASED' group by assetid,tenantid) revinc ON rev1.assetid=revinc.assetid and rev1.tenantid=revinc.tenantid + left outer join (select assetid,tenantid,sum(revaluationamount) as decrementalrevalsum from egasset_revaluation + where tenantid = $tenantid AND typeofchange='DECREASED' group by assetid,tenantid) revdec + ON rev1.assetid=revdec.assetid and rev1.tenantid=revdec.tenantid + where rev1.tenantid = $tenantid) revaluation + ON asset.tenantid=revaluation.tenantid AND asset.id=revaluation.assetid + left outer join ( select assetSubcategory.name assetsubcategoryname,assetSubcategory.depreciationrate as depreciationrate, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategory) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id ) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid + where asset.tenantid = $tenantid AND asset.assetCategoryType='LAND' + + +- reportName: LandRegisterDetail + summary: Land Register Report + version: 1.0.0 + moduleName: asset + viewPath: landRegisterReport + selectiveDownload: true + externalService: + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27LAND%27++%26%26+%40.isAssetAllow%3D%3Dtrue%29%5D + keyOrder: id,name,depreciationRate,parent,tenantId + tableName: tbl_assetsubcategory + stateData: true + - entity: $.MdmsRes.ASSET.AssetCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=ASSET&masterName=AssetCategory&tenantId=$tenantid&filter=%5B%3F%28+%40.assetCategoryType%3D%3D%27LAND%27++%26%26+%40.isAssetAllow%3D%3Dfalse%29%5D + keyOrder: id,name,tenantId + tableName: tbl_assetcategory + stateData: true + - entity: $.MdmsRes.egf-master.Fund + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=Fund&tenantId=$tenantid + keyOrder: id,tenantId,name,code + tableName: tbl_funds + stateData: true + sourceColumns: + - name: id + label: reports.asset.id + type: number + source: asset + - name: quantity + label: reports.asset.quantity + type: number + source: asset + - name: plintharea + label: reports.asset.plintharea + type: number + source: asset + showColumn: true + - name: cubiccontents + label: reports.asset.cubiccontents + type: string + source: asset + - name: landsurveyno + label: reports.asset.landsurveyno + type: string + source: asset + - name: length + label: reports.asset.length + type: number + source: asset + - name: width + label: reports.asset.width + type: number + source: asset + - name: height + label: reports.asset.height + type: number + source: asset + - name: totalarea + label: reports.asset.totalarea + type: number + source: asset + - name: acquiredfrom + label: reports.asset.acquiredfrom + type: string + source: asset + - name: anticipatedLife + label: reports.asset.anticipatedLife + type: number + source: asset + - name: modeofacquisition + label: reports.asset.modeofacquisition + type: string + source: asset + - name: warrantyexpirydate + label: reports.asset.warrantyexpirydate + type: number + source: asset + - name: defectliability + label: reports.asset.defectliability + type: number + source: asset + - name: defectliabilitymonth + label: reports.asset.defectliabilitymonth + type: number + source: asset + - name: defectliabilityday + label: reports.asset.defectliabilityday + type: string + source: asset + - name: securitydepositretained + label: reports.asset.securitydepositretained + type: number + source: asset + - name: securitydepositrealized + label: reports.asset.securitydepositrealized + type: number + source: asset + - name: dateofcreation + label: reports.asset.dateofcreation + type: string + source: asset + - name: acquisitiondate + label: reports.asset.acquisitiondate + type: string + source: asset + - name: grossvalue + label: reports.asset.grossvalue + type: number + source: asset + - name: originalvalue + label: reports.asset.originalvalue + type: number + source: asset + - name: currentvalue + label: reports.asset.currentvalue + type: number + source: asset + - name: currentamount + label: reports.asset.currentamount + type: number + source: asset + - name: disposalsalevalue + label: reports.asset.disposalsalevalue + type: number + source: asset + - name: disposalvoucherno + label: reports.asset.disposalvoucherno + type: number + source: asset + - name: disposaldate + label: reports.asset.disposaldate + type: string + source: asset + - name: revaluationdate + label: reports.asset.revaluationdate + type: string + source: asset + - name: incrementalrevalsum + label: reports.asset.incrementalrevalsum + type: number + source: asset + - name: decrementalrevalsum + label: reports.asset.decrementalrevalsum + type: number + source: asset + - name: depreciationvalue + label: reports.asset.depreciationvalue + type: number + source: asset + - name: totaldepreciationval + label: reports.asset.totaldepreciationval + type: number + source: asset + - name: name + label: reports.asset.name + type: string + source: asset + - name: code + label: reports.asset.code + type: string + source: asset + - name: ordernumber + label: reports.asset.ordernumber + type: number + - name: warrantyavailable + label: reports.asset.warrantyavailable + type: string + source: asset + - name: wipreferenceno + label: reports.asset.wipreferenceno + type: string + source: asset + - name: floors + label: reports.asset.floors + type: number + source: asset + - name: titledocumentsavailable + label: reports.asset.titledocumentsavailable + type: number + - name: buyername + label: reports.asset.buyername + type: string + source: asset + - name: accumulateddepreciation + label: reports.asset.accumulateddepreciation + type: number + source: asset + - name: openingdate + label: reports.asset.openingdate + type: number + source: asset + - name: fundsourcename + label: reports.asset.fundsource + type: string + source: asset + - name: location + label: reports.asset.location + type: string + source: asset + - name: totalsurveyno + label: reports.asset.totalsurveyno + type: string + source: asset + - name: assetattributes + label: reports.asset.assetattributes + type: string + source: asset + - name: assetsubcategoryname + label: reports.asset.assetsubcategoryname + type: string + source: asset + - name: assetparentcategoryname + label: reports.asset.assetparentcategoryname + type: string + source: asset + - name: depreciationrate + label: reports.asset.depreciationrate + type: number + source: asset + - name: totalrevalsum + label: reports.asset.totalrevalsum + type: number + source: asset + searchParams: + - name: fromDate + label: reports.asset.fromDate + type: date + source: asset + searchClause : AND asset.createddate>=$fromDate + isMandatory: false + - name: toDate + label: reports.asset.toDate + type: date + source: asset + searchClause : AND asset.createddate<=$toDate + isMandatory: false + - name: name + label: reports.asset.name + type: string + isMandatory: false + source: asset + searchClause : AND asset.name=$name + - name: code + label: reports.asset.code + type: string + isMandatory: false + source: asset + searchClause : AND asset.code=$code + - name: assetdetail + label: reports.asset.detail + type: number + isMandatory: false + source: asset + searchClause : and asset.code in ($assetdetail) + + query: select asset.name,asset.code,asset.ordernumber,asset.warrantyavailable,asset.wipreferenceno,asset.titledocumentsavailable as titledocumentsavailable,asset.accumulateddepreciation,asset.grossvalue,asset.id,asset.quantity,asset.totalarea,asset.openingdate,asset.fundsource,asset.location,(select string_agg(land.surveynumber,',') from egasset_asset_landdetails land where land.isenabled=true and asset.id=land.assetid group by asset.id) as totalsurveyno,asset.assetattributes,funds.fundsourcename, + asset.acquiredfrom,asset.anticipatedLife,asset.modeofacquisition,asset.warrantyexpirydate,asset.defectliabilityyear as defectliability,asset.defectliabilitymonth as defectliabilitymonth,asset.assetCategoryType,coalesce(grossvalue,0.0)-coalesce(accumulateddepreciation,0.0)+coalesce(incrementalrevalsum,0.0)-coalesce(decrementalrevalsum,0.0) as totalrevalsum, + asset.defectliabilityday as defectliabilityday,asset.securitydepositretained, + asset.securitydepositrealized,asset.dateofcreation,asset.acquisitiondate,asset.grossvalue,asset.originalvalue,currentvalue.currentamount, + disposal.salevalue as disposalsalevalue,disposal.profitlossvoucherreference as disposalvoucherno,disposal.disposaldate,disposal.buyername,disposal.buyeraddress, + revaluation.revaluationdate,revaluation.incrementalrevalsum,revaluation.decrementalrevalsum,assetsubcategoryname,assetSubCategory.depreciationrate,assetsubcategoryparent, + assetparentcategoryname + from egasset_asset asset left outer join + (select b.* from egasset_current_value b inner join ( select assetid,tenantid,max(createdtime) as createdtime from egasset_current_value + where tenantid = $tenantid group by assetid,tenantid) c + ON b.assetid = c.assetid and b.tenantid=c.tenantid AND c.createdtime=b.createdtime) currentvalue + ON asset.id=currentvalue.assetid AND asset.tenantid=currentvalue.tenantid + left outer join egasset_disposal disposal ON asset.id=disposal.assetid AND asset.tenantId = disposal.tenantid + left outer join + (select rev1.*,revinc.incrementalrevalsum,revdec.decrementalrevalsum from egasset_revaluation rev1 inner join + (select assetid,tenantid,max(createddate) as createddate from egasset_revaluation where tenantid = $tenantid + group by assetid,tenantid ) revalmax ON rev1.assetid=revalmax.assetid AND rev1.tenantid=revalmax.tenantid AND rev1.createddate=revalmax.createddate + left outer join + (select assetid,tenantid,sum(revaluationamount) as incrementalrevalsum from egasset_revaluation where tenantid = $tenantid + AND typeofchange='INCREASED' group by assetid,tenantid) revinc ON rev1.assetid=revinc.assetid and rev1.tenantid=revinc.tenantid + left outer join (select assetid,tenantid,sum(revaluationamount) as decrementalrevalsum from egasset_revaluation + where tenantid = $tenantid AND typeofchange='DECREASED' group by assetid,tenantid) revdec + ON rev1.assetid=revdec.assetid and rev1.tenantid=revdec.tenantid + where rev1.tenantid = $tenantid) revaluation + ON asset.tenantid=revaluation.tenantid AND asset.id=revaluation.assetid + left outer join ( select assetSubcategory.name assetsubcategoryname,assetSubcategory.depreciationrate as depreciationrate, + assetSubcategory.parent as assetsubcategoryparent,assetSubcategory.tenantid as tenantid,assetSubcategory.id assetsubcategoryid, + ac.name as assetparentcategoryname from (VALUES tbl_assetsubcategory) as assetSubcategory (id,name,depreciationRate,parent,tenantId) + inner join (VALUES tbl_assetcategory) as ac (id,name,tenantId) ON assetSubcategory.parent = ac.id ) as + assetsubcategory ON asset.assetcategory::character varying=assetsubcategory.assetsubcategoryid left outer join (select funds.name fundsourcename,funds.code from (VALUES tbl_funds) as funds (id,tenantId,name,code)) as funds ON asset.fundsource=funds.code + where asset.tenantid = $tenantid AND asset.assetCategoryType='LAND' diff --git a/configs/reports/configs/citizen-reports.yml b/configs/reports/configs/citizen-reports.yml new file mode 100644 index 00000000..47098b07 --- /dev/null +++ b/configs/reports/configs/citizen-reports.yml @@ -0,0 +1,49 @@ +--- +ReportDefinitions: +- reportName: CitizenService + summary: Citizen Services Report + version: 1.0.0 + moduleName: citizen + sourceColumns: + - name: receiptNo + label: reports.citizen.receiptno + type: string + source: citizen + - name: receiptDate + label: reports.citizen.receiptdate + type: number + source: citizen + - name: totalAmount + label: reports.citizen.totalamount + type: number + source: citizen + - name: payeeName + label: reports.citizen.payeename + type: number + source: citizen + - name: consumerAddress + label: reports.citizen.consumeraddress + type: number + source: citizen + - name: print + label: reports.citizen.print + type: number + source: citizen + linkedReport: + reportName: ReceiptDetail + linkedColumn: _url?/pgr/viewGrievance/:srn + searchParams: + - name: consumerno + label: reports.citizen.consumerno + type: string + source: citizen + isMandatory: false + searchClause: and consumerNo = $consumerno + - name: receiptno + label: reports.citizen.receiptno + type: string + source: citizen + isMandatory: false + searchClause: and receiptno = $receiptno + query: select receiptNo,receiptDate,totalAmount,payeeName,consumerAddress,'print' as print from egcl_legacy_receipt_header where tenantid = $tenantid + diff --git a/configs/reports/configs/common-reports.yml b/configs/reports/configs/common-reports.yml new file mode 100644 index 00000000..98f4b55f --- /dev/null +++ b/configs/reports/configs/common-reports.yml @@ -0,0 +1,68 @@ +--- +ReportDefinitions: +- reportName: CommonInbox + summary: Common Inbox + version: 1.0.0 + moduleName: common + sourceColumns: + - name: createddate + label: reports.common.createddate + type: epoch + source: common + - name: sendername + label: reports.common.sendername + type: string + source: egpgr_router + - name: natureoftask + label: reports.common.natureoftask + type: string + source: common + - name: status + label: reports.common.status + type: string + source: common + - name: details + label: reports.common.details + type: string + source: common + - name: url + label: reports.common.url + type: string + source: common + searchParams: + - name: positionId + label: reports.pgr.complaintcategorytype + type: number + source: seva + - name: complainttype + label: reports.pgr.complainttype + type: number + source: seva + query: select * from ( + (select sub.createddate as createddate,sub.name as senderName,'Grievance' as natureoftask ,sub_a.code as status, + 'Complaint No.'|| sub.crn||' regarding '|| + (select name from egpgr_complainttype where code =sub.servicecode AND tenantid=sub.tenantid) ||' in '|| sub_a.code as details, + replace('_url?/pgr/viewGrievance/:srn',':srn',replace(sub.crn, '/', '%2F')::character varying) as url from submission sub inner join submission_attribute sub_a on sub.crn = sub_a.crn where + sub_a.key in('systemStatus','status') and sub_a.code in ('REGISTERED','FORWARDED','PROCESSING','REOPENED','ONHOLD') and sub.positionid IN ($positionId) and sub.tenantid = $tenantid order by createdDate desc) + union + (select createddate as createddate,sendername as sendername,natureoftask as natureoftask,value as status, abstractestimate.abstractestimatenumber::character varying ||':'||comments as details, + replace('_url?/non-framework/works/transaction/update/abstractEstimate/:id', ':id', replace(abstractestimate.abstractestimatenumber, '/', '%2F')::character varying) as url from EG_WF_STATES states JOIN + egw_abstractestimate abstractestimate ON abstractestimate.stateid = states.id::character varying where type = 'AbstractEstimate' and owner_pos IN ($positionId) + and states.tenantId=$tenantid and states.status<>2 order by states.createdDate desc) + union + (select createddate as createddate,sendername as sendername,natureoftask as natureoftask,value as status, abstractestimate.abstractestimatenumber::character varying ||':'||comments as details, + replace('_url?/non-framework/works/transaction/update/abstractEstimate/:id', ':id', replace(abstractestimate.abstractestimatenumber, '/', '%2F')::character varying) as url from EG_WF_STATES states JOIN + egw_abstractestimate abstractestimate ON abstractestimate.stateid = states.id::character varying where type = 'SpilloverAbstractEstimate' and owner_pos IN ($positionId) + and states.tenantId=$tenantid and states.status<>2 order by states.createdDate desc) + union + (select createddate as createddate,sendername as sendername,natureoftask as natureoftask,value as status, detailedestimate.id::character varying ||':'||comments as details, + replace('_url?/non-framework/works/transaction/viewDetailedEstimate/:id', ':id', replace(detailedestimate.estimatenumber, '/', '%2F')::character varying) as url from EG_WF_STATES states JOIN + egw_detailedestimate detailedestimate ON detailedestimate.stateid = states.id::character varying where type = 'DetailedEstimate' and owner_pos IN ($positionId) + and states.tenantId=$tenantid and states.status<>2 order by states.createdDate desc) + union + (select createddate as createddate,sendername as sendername,natureoftask as natureoftask,value as status, detailedestimate.id::character varying ||':'||comments as details, + replace('_url?/non-framework/works/transaction/viewDetailedEstimate/:id', ':id', replace(detailedestimate.estimatenumber, '/', '%2F')::character varying) as url from EG_WF_STATES states JOIN + egw_detailedestimate detailedestimate ON detailedestimate.stateid = states.id::character varying where type = 'SpilloverDetailedEstimate' and owner_pos IN ($positionId) + and states.tenantId=$tenantid and states.status<>2 order by states.createdDate desc)) result + order by createddate desc; + diff --git a/configs/reports/configs/e-pass-reports.yml b/configs/reports/configs/e-pass-reports.yml new file mode 100644 index 00000000..bb145438 --- /dev/null +++ b/configs/reports/configs/e-pass-reports.yml @@ -0,0 +1,96 @@ +ReportDefinitions: +- reportName: epassreport + summary: epass report + version: 1.0.0 + moduleName: rainmaker-epass + sourceColumns: + - name: applicationnumber + label: reports.epass.applicationnumber + type: string + source: epass + total: false + - name: applicationdate + label: reports.epass.applicationdate + type: string + source: epass + total: false + - name: fromdistrict + label: reports.epass.fromdistrict + type: string + source: epass + total: false + - name: todistrict + label: reports.epass.todistrict + type: string + source: epass + total: false + - name: tradeType + label: reports.epass.tradetype + type: string + source: epass + total: false + - name: issuedate + label: reports.epass.issuedate + type: string + source: epass + total: false + - name: purpose + label: reports.epass.purpose + type: string + source: epass + total: false + - name: vehiclenumber + label: reports.epass.vehiclenumber + type: string + source: epass + total: false + - name: licensenumber + label: reports.epass.licensenumber + type: string + source: epass + total: false + - name: status + label: reports.epass.status + type: string + source: epass + total: false + - name: rejectionremarks + label: reports.epass.rejectionremarks + type: string + source: epass + total: false + searchParams: + - name: fromDate + label: reports.epass.fromDate + type: epoch + source: epass + isMandatory: false + searchClause: AND tl.createdtime >= $fromDate + - name: toDate + label: reports.epass.toDate + type: epoch + source: epass + isMandatory: false + searchClause: AND tl.createdtime <= $toDate + query: | + select + tl.applicationnumber, + to_char((To_timestamp(tl.createdtime/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY HH:MI AM') as applicationDate, + CASE WHEN tlu.tradeType = 'INTERSTATE' THEN 'Other State to MP Pass' + WHEN tlu.tradeType = 'INTRASTATE' THEN 'MP Inter District Pass' + WHEN tlu.tradeType = 'MP_TO_OTHER_STATE' THEN 'MP to Other State Pass' + ELSE 'NA' END as tradeType, + initcap(replace(tld.additionaldetail->>'fromDistrict', 'MP_', '')) as fromDistrict, + initcap(replace(tld.additionaldetail->>'toDistrict', 'MP_', '')) as toDistrict, + COALESCE(to_char((To_timestamp(tl.issueddate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY HH:MI AM'), '') as issueDate, + initcap(replace(COALESCE(tld.additionaldetail->>'purpose', ''), '_',' ')) as purpose, + COALESCE(tld.additionaldetail->>'vehicleNumber', '') as vehicleNumber, + COALESCE(tl.licensenumber, '') as licensenumber, + initcap(tl.status) as status, + COALESCE(tlw.comment, '') as rejectionRemarks + from eg_tl_tradelicense as tl + inner join eg_tl_tradelicensedetail as tld on tld.tradelicenseid = tl.id + inner join eg_tl_TradeUnit as tlu on tlu.tradeLicenseDetailId = tld.id + left join eg_wf_processinstance_v2 as tlw on tlw.businessid = tl.applicationnumber and tlw.action = 'REJECT' + where tl.tenantid = $tenantid and tl.status not in ('INITIATED') + orderby: order by tl.createdtime desc diff --git a/configs/reports/configs/finance-reports.yml b/configs/reports/configs/finance-reports.yml new file mode 100644 index 00000000..a7cb996b --- /dev/null +++ b/configs/reports/configs/finance-reports.yml @@ -0,0 +1,177 @@ +ReportDefinitions: + - reportName: ReceiptRegister + summary: Receipt Register + version: 1.0.0 + moduleName: finance + externalService: + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: receiptnumber + label: reports.fin.erp.receiptnumber + type: string + source: finance-erp + total: false + - name: receiptdate + label: reports.fin.erp.receiptdate + type: string + source: finance-erp + total: false + - name: service + label: reports.fin.erp.service + type: string + source: finance-erp + total: false + - name: department + label: reports.fin.erp.department + type: string + source: finance-erp + total: false + - name: cash + label: reports.fin.erp.cash + type: number + source: finance-erp + total: true + - name: chequenumber + label: reports.fin.erp.chequenumber + type: number + source: finance-erp + total: false + - name: cheque + label: reports.fin.erp.cheque + type: number + source: finance-erp + total: true + - name: online + label: reports.fin.erp.online + type: number + source: finance-erp + total: true + - name: card + label: reports.fin.erp.card + type: number + source: finance-erp + total: true + - name: status + label: reports.fin.erp.status + type: string + source: finance-erp + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: dept + label: Department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$.MdmsRes.common-masters.Department[*].code|$.MdmsRes.common-masters.Department[*].name + source: finance-erp + wrapper: true + isMandatory: false + searchClause: AND deptmap_def.code = $dept + - name: service + label: Service + type: singlevaluelist + pattern: http://egov-common-masters:8080/egov-common-masters/businessDetails/_search?tenantId=$tenantid&active=true|$.BusinessDetails[*].code|$.BusinessDetails[*].name + source: finance-erp + wrapper: true + isMandatory: false + searchClause: AND rt.businessdetails = $service + + query: select to_char(to_timestamp(rt.receiptdate/1000),'DD/MM/YYYY') as receiptdate, rt.receiptnumber as receiptnumber, bd.name as Service, deptmap_def.name as department, (case when instrumenttype='Cash' then ins.amount end) as cash, (case when instrumenttype='Cheque' then ins.amount when instrumenttype='DD' then ins.amount end) as cheque, (case when instrumenttype='Cheque' then ins.instrumentnumber when instrumenttype='DD' then ins.instrumentnumber end) as chequenumber, (case when instrumenttype='Online' then ins.amount end) as online, (case when instrumenttype='Card' then amount end) as card, rt.status as status from egcl_receiptheader rt inner join (VALUES tbl_def_dept) AS deptmap_def(name,code) on deptmap_def.code=rt.department, eg_businessdetails bd, egcl_instrumentheader ins where ins.id = (select instrumentheader from egcl_receiptinstrument where receiptheader = rt.id) and rt.tenantid = bd.tenantid and rt.businessdetails = bd.code + orderby: ORDER BY receiptdate DESC NULLS LAST + - reportName: BankRemittance + summary: BankRemittance + version: 1.0.0 + moduleName: finance + sourceColumns: + - name: receiptnumber + label: reports.fin.erp.receiptnumber + type: string + source: finance-erp + total: false + - name: receiptdate + label: reports.fin.erp.receiptdate + type: string + source: finance-erp + total: false + - name: modeofpayment + label: reports.fin.erp.modeofpayment + type: string + source: finance-erp + total: false + - name: chequenumber + label: reports.fin.erp.chequenumber + type: string + source: finance-erp + total: false + - name: bankname + label: reports.fin.erp.bankname + type: string + source: finance-erp + total: false + - name: branchname + label: reports.fin.erp.branchname + type: string + source: finance-erp + total: false + - name: chequdate + label: reports.fin.erp.chequedate + type: string + source: finance-erp + total: false + - name: amount + label: reports.fin.erp.amount + type: number + source: finance-erp + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: dept + label: Department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$.MdmsRes.common-masters.Department[*].code|$.MdmsRes.common-masters.Department[*].name + source: finance-erp + wrapper: true + isMandatory: false + searchClause: AND rt.department = $dept + - name: service + label: Service + type: singlevaluelist + pattern: http://egov-common-masters:8080/egov-common-masters/businessDetails/_search?tenantId=$tenantid&active=true|$.BusinessDetails[*].code|$.BusinessDetails[*].name + source: finance-erp + wrapper: true + isMandatory: false + searchClause: AND rt.businessdetails = $service + - name: bankaccount + label: Bank Account + type: singlevaluelist + pattern: https://jalandhar-dev.egovernments.org/services/EGF/rest/bankaccount?tenantId=$tenantid|$.bankaccounts[*].code|$.bankaccounts[*].account + source: finance-erp + wrapper: true + isMandatory: false + searchClause: And ins.bankaccountid = $bankaccount + + query: select receiptnumber as receiptnumber , to_char(to_timestamp(receiptdate/1000),'DD/MM/YYYY') as receiptdate, instrumenttypeid as modeofpayment, transactionnumber as chequenumber, bankid as bankname, branchname branchname,amount as amount from egf_instrumentvoucher vh INNER JOIN egf_instrument ins on ins.id = vh.instrumentid INNER JOIN egcl_receiptheader rt on rt.id = vh.receiptheaderid WHERE rt.status = 'Remitted' diff --git a/configs/reports/configs/hrms-reports.yml b/configs/reports/configs/hrms-reports.yml new file mode 100644 index 00000000..c41187ca --- /dev/null +++ b/configs/reports/configs/hrms-reports.yml @@ -0,0 +1,85 @@ +--- +ReportDefinitions: +- reportName: HRMSEmployeewiseReport + decryptionPathId: TradeLicenseDetailsReport_v2 + summary: HRMS Employeewise Report + version: 1.0.0 + moduleName: rainmaker-hrms + sourceColumns: + - name: name + label: reports.hrms.name + type: string + source: hrms + total: false + - name: mobilenumber + label: reports.hrms.mobilenumber + type: string + source: hrms + total: false + - name: tenantid + label: reports.hrms.tenantid + type: string + source: hrms + total: false + - name: role_assigned + label: reports.hrms.role_assigned + type: string + source: hrms + total: false + - name: user_id + label: reports.hrms.user_id + type: string + source: hrms + total: false + - name: departmentname + label: report.hrms.departmentname + type: string + source: hrms + total: false + - name: designationname + label: reports.hrms.designationname + type: string + source: hrms + total: false + - name: status + label: reports.hrms.status + type: string + source: hrms + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND u.tenantId = $ulb + query: | + with userroles as + ( + select user_id,string_agg(role_code,',') as role_codes + from eg_userrole_v1 + group by user_id + ) + select + u.name, + u.mobilenumber, + u.tenantid, + r.role_codes as role_assigned, + e.code as user_id, + --assign.department, + --assign.designation, + msg.message as departmentname, + msg1.message as designationname, + case + when u.active='true' then 'Active' + when u.active='false' then 'Inactive' + end as status + from eg_user u + Left Outer join userroles r on u.id=r.user_id inner join eg_hrms_employee e on u.id=e.id + Left Outer join eg_hrms_assignment assign on e.uuid=assign.employeeid and assign.iscurrentassignment='true' + Left Outer join message as msg on msg.code=concat('COMMON_MASTERS_DEPARTMENT_',assign.department) and msg.locale='en_IN' + Left Outer join message as msg1 on msg1.code=concat('COMMON_MASTERS_DESIGNATION_',assign.designation) and msg1.locale='en_IN' + where u.type!='CITIZEN' + orderby: ORDER BY u.tenantId asc diff --git a/configs/reports/configs/inventoryReport.yml b/configs/reports/configs/inventoryReport.yml new file mode 100644 index 00000000..d04da1db --- /dev/null +++ b/configs/reports/configs/inventoryReport.yml @@ -0,0 +1,1090 @@ +--- +ReportDefinitions: + # Stock Opening Balance Report +- reportName: openingBalanceReport + summary: Stock Opening Balance Report + version: 1.0.0 + moduleName: inventory + externalService: + - entity: $.MdmsRes.inventory.Material + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid + keyOrder: code,name,tenantId + tableName: tbl_material + - entity: $.MdmsRes.common-masters.Uom + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Uom&tenantId=$tenantid + keyOrder: code,conversionFactor,tenantId + tableName: tbl_uom + sourceColumns: + + - name: financialYear + label: inventory.financialYear + type: string + source: materialReceipt + + - name: storeName + label: inventory.store.name + type: string + source: materialReceipt + + - name: materialCode + label: inventory.material.code + type: string + source: materialReceipt + + - name: materialName + label: inventory.materialName + type: string + source: material + + - name: materialTypeName + label: inventory.material.materialtype + type: string + source: materialReceiptDetails + + - name: uom + label: reports.inventory.openbal.Uom + type: string + source: materialReceiptDetails + + - name: qty + label: reports.inventory.openbal.Qty. + type: string + source: materialReceiptDetails + + - name: rate + label: inventory.Rate + type: string + source: materialReceiptDetails + + - name: totalAmount + label: reports.inventory.openbal.TotalAmount + type: string + source: materialReceiptDetails + + - name: remarks + label: reports.inventory.openbal.Remarks + type: string + source: materialReceiptDetails + + searchParams: + - name: financialYear + label: inventory.financialYear + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$..finYearRange|$..finYearRange + source: materialReceipt + isMandatory: true + + - name: storeName + label: inventory.store.name + type: singlevaluelist + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + source: store + isMandatory: true + wrapper: true + + - name: materialTypeName + label: inventory.material.materialtype + type: singlevaluelist + pattern: 'list://OPENING BALANCE:OPENING BALANCE' + source: materialReceipt + isMandatory: false + searchClause: AND matrcpt.receiptType = $materialTypeName + + - name: materialName + label: inventory.materialName + type: string + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + source: materialReceipt + isMandatory: false + searchClause: AND mat.name = $materialName + query: SELECT matrcpt.financialyear AS financialyear, + store.name AS storeName, + matrcptdtl.material AS materialcode, + mat.name AS materialname, + matrcpt.receiptType AS materialtypename, + matrcptdtl.uomno AS uom, + (matrcptdtl.receivedqty / (SELECT CAST(conversionFactor AS bigint) FROM (values tbl_uom )AS tb (code,conversionFactor,tenantid) + WHERE tb.code = matrcptdtl.uomno AND tb.tenantid= $tenantid AND matrcptdtl.tenantid = $tenantid)) ::numeric(13,2) AS qty, + matrcptdtl.unitrate AS rate, + (matrcptdtl.unitrate * (matrcptdtl.receivedqty / (SELECT CAST(conversionFactor AS bigint) FROM (values tbl_uom )AS tb (code,conversionFactor,tenantid) + WHERE tb.code = matrcptdtl.uomno AND tb.tenantid= $tenantid AND matrcptdtl.tenantid = $tenantid))) ::numeric(13,2) AS totalamount, + matrcptdtl.remarks AS remarks + FROM materialreceipt matrcpt, + (VALUES tbl_material) AS mat (code, name, tenantid), + (VALUES tbl_uom) AS uomtbl (code,conversionFactor,tenantid), + materialreceiptdetail matrcptdtl , store store + WHERE matrcpt.financialyear = $financialYear + AND matrcpt.receivingstore = store.code + AND matrcpt.receivingstore = $storeName + AND store.tenantid = matrcpt.tenantid + AND mat.tenantid= matrcpt.tenantid + AND uomtbl.code=matrcptdtl.uomno + AND uomtbl.tenantid= store.tenantid + AND matrcpt.tenantid = matrcptdtl.tenantid + AND mat.tenantid = matrcpt.tenantid + AND matrcpt.tenantid = $tenantid + AND matrcpt.mrnnumber = matrcptdtl.mrnnumber + AND mat.code = matrcptdtl.material + +# Supplier Report +- reportName: supplierreport + summary: Supplier List + version: 1.0.0 + moduleName: inventory + sourceColumns: + - name: supplierCode + label: inventory.supplier.code + type: string + source: supplier + + - name: supplierType + label: inventory.supplier.type + type: string + source: supplier + + - name: supplierName + label: inventory.supplier.name + type: string + source: supplier + + - name: status + label: inventory.common.status + type: string + source: supplier + + - name: address + label: inventory.supplier.address + type: string + source: supplier + + - name: contactNo + label: inventory.common.contactNo + type: string + source: supplier + + - name: email + label: inventory.report.email + type: string + source: supplier + + - name: cstNo + label: inventory.common.cstno + type: string + source: supplier + + - name: bankName + label: inventory.common.bankname + type: string + source: supplier + + - name: bankBranch + label: inventory.common.bankbranchname + type: string + source: supplier + + - name: bankAcctNo + label: inventory.common.bankacctno + type: string + source: supplier + + - name: ifsc + label: inventory.common.ifsc + type: string + source: supplier + + - name: contactPerson + label: inventory.common.contactperson + type: string + source: supplier + + - name: contactPersonNo + label: inventory.common.contactpersonno + type: string + source: supplier + + query: SELECT supplier.code AS supplierCode, supplier.type AS supplierType, supplier.name AS supplierName, + supplier.status AS status, supplier.address AS address , supplier.contactno AS contactNo, + supplier.email AS email, supplier.cstno AS cstNo, + bank.name AS bankName, supplier.bankbranch AS bankBranch, supplier.bankacctno AS bankAcctNo, + supplier.bankifsc AS ifsc, supplier.contactperson AS contactPerson, + supplier.contactpersonno AS contactPersonNo + FROM supplier AS supplier, egf_bank bank + WHERE + bank.code = supplier.bankcode + AND bank.tenantid = supplier.tenantid + AND supplier.tenantid = $tenantid + ORDER BY supplier.name asc; + +# Material Returned Report +# Need to change drop down Link based on report and Query +- reportName: materialReturnedReport + summary: Material Returned Report + version: 1.0.0 + moduleName: inventory + sourceColumns: + + - name: materialReturnNo + label: inventory.materialReturnNo + type: string + source: inventory + + - name: returnDate + label: inventory.returnDate + type: string + source: inventory + + - name: supplierName + label: inventory.supplierName + type: epoch + source: inventory + + - name: materialCode + label: inventory.materialCode + type: string + source: inventory + + - name: materialName + label: inventory.materialName + type: string + source: inventory + + - name: returnedQty + label: inventory.returnedQty + type: string + source: inventory + + - name: uom + label: inventory.uom + type: string + source: inventory + + - name: unitRate + label: inventory.unitRate + type: string + source: inventory + + - name: totalReturnedAmount + label: inventory.totalReturnedAmount + type: string + source: inventory + + - name: returnRemarks + label: inventory.returnRemarks + type: string + source: inventory + + - name: returnBy + label: inventory.returnBy + type: string + source: inventory + + searchParams: + + - name: storeName + label: inventory.store.name + type: singlevaluelist + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + source: store + isMandatory: true + + - name: fromDate + label: inventory.fromDate + type: epoch + source: inventory + isMandatory: false + + - name: toDate + label: inventory.toDate + type: epoch + source: inventory + isMandatory: false + + - name: supplierName + label: inventory.supplierName + pattern: http://inventory-services:8080/inventory-services/suppliers/_search?tenantId=$tenantid|$..code|$..name + type: singlevaluelist + source: inventory + isMandatory: false + + - name: materialReturnNo + label: inventory.materialReturnNo + type: singlevaluelist + source: inventory + isMandatory: false + + - name: materialName + label: inventory.materialName + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + type: singlevaluelist + source: inventory + isMandatory: false + + query: SELECT * FROM material; + +# Disposal of Scrap Report +# Need to Change drop down Link based on report and Query +- reportName: disposalOfScrapReport + summary: Disposal of Scrap Report + version: 1.0.0 + moduleName: inventory + sourceColumns: + + - name: storeName + label: inventory.storeName + type: string + source: inventory + + - name: materialCode + label: inventory.materialCode + type: string + source: inventory + + - name: materialName + label: inventory.materialName + type: string + source: inventory + + - name: materialTypeName + label: inventory.materialTypeName + type: epoch + source: inventory + + - name: disposalNo + label: inventory.disposalNo + type: string + source: inventory + + - name: disposalDate + label: inventory.disposalDate + type: string + source: inventory + + - name: disposalQty + label: inventory.disposalQty + type: string + source: inventory + + - name: uom + label: inventory.uom + type: string + source: inventory + + - name: disposalValue + label: inventory.disposalValue + type: string + source: inventory + + - name: lotNo + label: inventory.lotNo + type: string + source: inventory + + - name: disposalBy + label: inventory.disposalBy + type: string + source: inventory + + - name: remarks + label: inventory.remarks + type: string + source: inventory + + searchParams: + + - name: storeName + label: inventory.store.name + type: singlevaluelist + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + source: store + isMandatory: true + + - name: disposalFromDate + label: inventory.disposalFromDate + type: epoch + source: inventory + isMandatory: false + + - name: toDate + label: inventory.toDate + type: epoch + source: inventory + isMandatory: false + + - name: materialtypename + label: inventory.materialtypename + type: singlevaluelist + source: inventory + isMandatory: false + + - name: disposalNo + label: inventory.disposalNo + type: singlevaluelist + source: inventory + isMandatory: false + + - name: materialName + label: inventory.materialName + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + type: singlevaluelist + source: inventory + isMandatory: false + + query: SELECT * FROM material; + +# Rates comparison with history data Report +- reportName: ratesComparisonWithHistory + summary: Rates comparison with history data + version: 1.0.0 + moduleName: inventory + externalService: + - entity: $.MdmsRes.inventory.Material + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid + keyOrder: code,name,tenantId + tableName: tbl_material + sourceColumns: + + - name: materialCode + label: inventory.material.code + type: string + source: inventory + + - name: materialName + label: inventory.material.name + type: string + source: inventory + + - name: supplierName + label: inventory.supplierName + type: string + source: inventory + + - name: rateType + label: inventory.rateType + type: string + source: inventory + + - name: currentRate + label: inventory.currentRate + type: string + source: inventory + + - name: currentYear + label: inventory.currentYear + type: string + source: inventory + + - name: previousYear + label: inventory.previousYear + type: string + source: inventory + + searchParams: + - name: supplierName + label: inventory.supplierName + pattern: http://inventory-services:8080/inventory-services/suppliers/_search?tenantId=$tenantid|$..code|$..name + type: singlevaluelist + source: inventory + searchClause: AND pl.supplier = $supplierName + wrapper: true + isMandatory: false + + - name: materialName + label: inventory.materialName + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + type: singlevaluelist + source: inventory + searchClause: AND pld.material = $materialName + isMandatory: false + wrapper: true + + query: SELECT pld.material AS materialCode, + sup.name AS supplierName, + mat.name AS materialName, + pl.ratetype AS ratetype, + pld.ratePerUnit AS currentRate, + (SELECT count(*) FROM pricelistdetails WHERE material=pld.material AND pld.tenantid = $tenantid + AND fromdate::bigint >= (SELECT EXTRACT(EPOCH FROM timestamptz (CONCAT ((SELECT to_char(now(),'YYYY')),'-','01','-','01')))) + AND todate::bigint <= (SELECT EXTRACT(EPOCH FROM timestamptz (CONCAT ((SELECT to_char(now(),'YYYY')),'-','03','-','01'))))) AS currentYear, + (SELECT count(*) FROM pricelistdetails WHERE material=pld.material AND pricelistdetails.tenantid = $tenantid + AND fromdate::bigint >= (SELECT EXTRACT(EPOCH FROM timestamptz (CONCAT ((SELECT to_char(now()- interval '1 year','YYYY')),'-','01','-','01')))) + AND todate::bigint <= (SELECT EXTRACT(EPOCH FROM timestamptz (CONCAT ((SELECT to_char(now()- interval '1 year','YYYY')),'-','12','-','31'))))) AS previousYear + FROM pricelist pl,pricelistdetails pld,supplier sup,(VALUES tbl_material) AS mat (code, name, tenantid) + WHERE + pld.tenantid = sup.tenantid + AND sup.tenantid = pl.tenantid + AND pl.tenantid = $tenantid + AND mat.tenantid = pld.tenantid + AND pl.supplier = sup.code + AND pl.id = pld.pricelist + AND pld.deleted = false + AND mat.code = pld.material + +# Comparison between different rates Report +- reportName: comparisonBetweenDifferentRates + summary: Comparison between different rates + version: 1.0.0 + moduleName: inventory + externalService: + - entity: $.MdmsRes.inventory.Material + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid + keyOrder: code,name,tenantId + tableName: tbl_material + sourceColumns: + + - name: materialCode + label: inventory.material.code + type: string + source: inventory + + - name: materialName + label: inventory.materialName + type: string + source: inventory + + - name: supplierName + label: inventory.supplierName + type: string + source: inventory + + - name: dtt + label: inventory.DTT + type: string + source: inventory + + - name: quotation + label: inventory.quotation + type: string + source: inventory + + - name: dgsnd + label: inventory.DGSND + type: string + source: inventory + + - name: tender + label: inventory.tender + type: string + source: inventory + + searchParams: + - name: supplierName + label: inventory.supplierName + pattern: http://inventory-services:8080/inventory-services/suppliers/_search?tenantId=$tenantid|$..code|$..name + type: singlevaluelist + source: inventory + searchClause: AND pl.supplier = $supplierName + wrapper: true + isMandatory: false + + - name: materialName + label: inventory.materialName + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + type: singlevaluelist + source: inventory + searchClause: AND pld.material = $materialName + isMandatory: false + wrapper: true + + + query: SELECT pld.material AS materialCode, + mat.name AS materialName, + sup.name AS supplierName, + ((SELECT ratePerUnit FROM pricelistdetails WHERE material=pld.material AND pl.rateType = 'Quotation' AND pld.tenantid = $tenantid + AND FROMdate::bigint <= (SELECT extract(epoch FROM now())*1000) AND todate::bigint >= (SELECT extract(epoch FROM now()))*1000) + ORDER BY createdtime desc limit 1) AS quotation, + ((SELECT ratePerUnit FROM pricelistdetails WHERE material=pld.material AND pl.rateType ='DGSC Rate Contract' AND pld.tenantid = $tenantid + AND FROMdate::bigint <= (SELECT extract(epoch FROM now())*1000) AND todate::bigint >= (SELECT extract(epoch FROM now()))*1000) + ORDER BY createdtime desc limit 1) AS dgsnd, + ((SELECT ratePerUnit FROM pricelistdetails WHERE material=pld.material AND pl.rateType = 'ULB Rate Contract' AND pld.tenantid = $tenantid + AND FROMdate::bigint <= (SELECT extract(epoch FROM now())*1000) AND todate::bigint >= (SELECT extract(epoch FROM now()))*1000) + ORDER BY createdtime desc limit 1) AS dtt, + ((SELECT ratePerUnit FROM pricelistdetails WHERE material=pld.material AND pl.rateType = 'One Time Tender' AND pld.tenantid = $tenantid + AND FROMdate::bigint <= (SELECT extract(epoch FROM now())*1000) AND todate::bigint >= (SELECT extract(epoch FROM now()))*1000) + ORDER BY createdtime desc limit 1) AS tender + FROM pricelistdetails pld, pricelist pl, (VALUES tbl_material) AS mat (code, name, tenantid) , supplier sup + WHERE pld.tenantid = $tenantid + AND pl.tenantid = pld.tenantid + AND sup.tenantid=pl.tenantId + AND mat.tenantid = pl.tenantid + AND mat.code = pld.material + AND sup.code = pl.supplier + AND pld.deleted = false + AND pld.pricelist = pl.id + +# Procurement Expenditure Report +# Need to Change drop down Link based on report and Query +- reportName: procurementExpenditureReport + summary: Procurement Expenditure Report + version: 1.0.0 + moduleName: inventory + sourceColumns: + + - name: budgetHeadCode + label: inventory.budgetHeadCode + type: string + source: inventory + + - name: nameOfBudgetHead + label: inventory.nameOfBudgetHead + type: string + source: inventory + + - name: estimateBudget + label: inventory.estimateBudget + type: string + source: inventory + + - name: actualExpenses + label: inventory.actualExpenses + type: string + source: inventory + + - name: remainingBudget + label: inventory.remainingBudget + type: string + source: inventory + + searchParams: + + - name: storeName + label: inventory.store.name + type: singlevaluelist + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + source: inventory + isMandatory: true + wrapper: true + + - name: financialYear + label: inventory.financialYear + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$..finYearRange|$..finYearRange + source: inventory + isMandatory: true + + - name: budgetHead + label: inventory.budgetHead + type: singlevaluelist + source: inventory + isMandatory: true + + query: SELECT * FROM material; + +# Supplier wise Purchase Order History Report +- reportName: SupplierwisesPurchaseOrderHistoryReport + summary: Supplier wise Purchase Order History + version: 1.0.0 + moduleName: inventory + sourceColumns: + + - name: supplierName + label: inventory.supplierName + type: string + source: inventory + + - name: supplierCompanyName + label: inventory.supplierCompanyName + type: string + source: inventory + + - name: poNo + label: inventory.poNo + type: string + source: inventory + + - name: poDate + label: inventory.poDate + type: epoch + source: inventory + + - name: poStatus + label: inventory.poStatus + type: string + source: inventory + + - name: expectedDeliveryDate + label: inventory.expecteddeliverydate + type: epoch + source: inventory + + - name: paymentDueDate + label: inventory.paymentDueDate + type: epoch + source: inventory + + - name: qtyOrdered + label: inventory.qtyOrdered + type: string + source: inventory + + - name: poTotal + label: inventory.poTotal + type: string + source: inventory + + - name: amountPaid + label: inventory.amountPaid + type: string + source: inventory + + - name: balanceDue + label: inventory.balanceDue + type: string + source: inventory + + searchParams: + + - name: supplierName + label: inventory.supplierName + pattern: http://inventory-services:8080/inventory-services/suppliers/_search?tenantId=$tenantid|$..code|$..name + type: singlevaluelist + source: inventory + searchClause: AND po.supplier = $supplierName + wrapper: true + isMandatory: false + + - name: supplierCompanyName + label: inventory.supplierCompanyName + pattern: http://inventory-services:8080/inventory-services/suppliers/_search?tenantId=$tenantid&type=COMPANY|$..code|$..name + type: singlevaluelist + source: inventory + searchClause: AND sup.name = $supplierCompanyName + isMandatory: false + + - name: storeName + label: inventory.store.name + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + type: singlevaluelist + searchClause: AND po.store = $storeName + source: inventory + isMandatory: false + wrapper: true + + - name: poNo + label: inventory.poNo + type: string + source: inventory + searchClause: AND po.purchaseordernumber = $poNo + isMandatory: false + + - name: poDate + label: inventory.poDate + type: epoch + source: inventory + searchClause: AND po.purchaseorderdate = $poDate + isMandatory: false + + query: SELECT sup.name AS suppliername, + (SELECT name FROM supplier WHERE type = 'COMPANY' AND tenantid =$tenantid) AS supplierCompanyName, + po.purchaseorderNumber AS PoNo, + po.purchaseorderdate AS PoDate, + po.status AS postatus, + po.expecteddeliverydate AS expecteddeliverydate, + pod.orderquantity AS qtyOrdered + FROM supplier sup,purchaseorder po,purchaseorderdetail pod + WHERE po.tenantid = $tenantid + AND pod.tenantid = po.tenantid + AND pod.tenantid = sup.tenantid + AND po.purchaseordernumber = pod.purchaseorder + AND po.supplier = sup.code + +# Material wise Purchase Order History Report +- reportName: MaterialwisePurchaseOrderHistoryReport + summary: Material wise Purchase Order History + version: 1.0.0 + moduleName: inventory + externalService: + - entity: $.MdmsRes.inventory.Material + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid + keyOrder: code,name,tenantId,description + tableName: tbl_material + sourceColumns: + + - name: materialName + label: inventory.materialName + type: string + source: inventory + + - name: materialdescription + label: inventory.material.description + type: string + source: inventory + + - name: poNo + label: inventory.poNo + type: string + source: inventory + + - name: poDate + label: inventory.poDate + type: epoch + source: inventory + + - name: poStatus + label: inventory.poStatus + type: string + source: inventory + + - name: expectedDeliveryDate + label: inventory.expecteddeliverydate + type: epoch + source: inventory + + - name: paymentDueDate + label: inventory.paymentDueDate + type: epoch + source: inventory + + - name: qtyOrdered + label: inventory.qtyOrdered + type: string + source: inventory + + - name: poTotal + label: inventory.poTotal + type: string + source: inventory + + searchParams: + + - name: materialName + label: inventory.materialName + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid + type: singlevaluelist + source: inventory + searchClause: AND pld.material = $materialName + wrapper: true + isMandatory: false + + - name: storeName + label: inventory.store.name + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + type: singlevaluelist + source: inventory + searchClause: AND po.store = $storeName + isMandatory: false + wrapper: true + + - name: poNo + label: inventory.poNo + type: string + source: inventory + searchClause: AND po.purchaseordernumber = $poNo + isMandatory: false + + - name: poDate + label: inventory.poDate + type: epoch + source: inventory + searchClause: AND po.purchaseorderdate = $poDate + isMandatory: false + + query: SELECT mat.name AS materialName, + mat .description AS materialdescription, + po.purchaseorderNumber AS PoNo, + po.purchaseorderdate AS PoDate, + po.status AS postatus, + po.expecteddeliverydate AS expecteddeliverydate, + pod.orderquantity AS qtyOrdered + FROM (VALUES tbl_material) AS mat (code, name, tenantid,description),purchaseorder po,purchaseorderdetail pod + WHERE po.tenantid = $tenantid + AND pod.tenantid = po.tenantid + AND pod.tenantid = mat.tenantid + AND po.purchaseordernumber = pod.purchaseorder + AND pod.material = mat.code + +# Inventory Register Report +- reportName: inventoryRegisterReport + summary: Inventory Register + version: 1.0.0 + moduleName: inventory + sourceColumns: + - name: storeName + label: inventory.store.name + type: string + source: inventory + + - name: deptName + label: inventory.deptName + type: string + source: inventory + + - name: materialName + label: inventory.materialName + type: string + source: material + + - name: supplierName + label: inventory.suppliername + type: string + source: inventory + + - name: qty + label: inventory.qty + type: string + source: inventory + + - name: uom + label: inventory.uom + type: string + source: inventory + + - name: unitRate + label: inventory.unitrate + type: string + source: inventory + + - name: totalAmount + label: inventory.totalAmount + type: string + source: inventory + + - name: receiptDate + label: inventory.date + type: string + source: inventory + + - name: transactionNumber + label: inventory.transactionnumber + type: string + source: inventory + + - name: receiptType + label: inventory.receiptType + type: string + source: inventory + + searchParams: + - name: storeName + label: inventory.store.name + type: singlevaluelist + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + source: store + searchClause: AND store.code = $storeName + isMandatory: true + wrapper: true + + - name: materialName + label: inventory.materialName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + source: materialReceipt + isMandatory: false + query: select store.name as storeName,store.department as deptName, + sup.name as supplierName, + detail.receivedqty as qty,detail.uomno as uom,detail.unitrate as unitRate, + (detail.receivedqty * detail.unitrate) as totalAmount, + (select to_date(to_char(to_timestamp(Trunc(CAST(mat.receiptdate as bigint)/1000 )), 'YYYY/MM/DD'), 'YYYY-MM-DD')) as receiptDate, + detail.mrnnumber as transactionNumber,mat.receipttype as receipttype + from materialreceiptdetail detail,materialreceipt mat,store store,supplier sup + where detail.tenantid=$tenantid + AND mat.tenantid=detail.tenantid + AND store.tenantid=mat.tenantid + AND sup.tenantid= store.tenantid + AND mat.suppliercode =sup.code + AND mat.receivingstore=store.code + AND mat.mrnnumber=detail.mrnnumber + +# Need to add query +# Stock Aging Report +- reportName: stockAgingReport + summary: Stock Aging Report + version: 1.0.0 + moduleName: inventory + sourceColumns: + - name: materialCode + label: inventory.materialcode + type: string + source: inventory + + - name: materialName + label: inventory.materialName + type: string + source: inventory + + - name: materialTypeName + label: inventory.materialTypeName + type: string + source: material + + - name: lotNo + label: inventory.lotNo + type: string + source: inventory + + - name: qtyFrom0to90Days + label: inventory.qtyFrom0to90Days + type: string + source: inventory + + - name: stockValueFrom0to90Days + label: inventory.stockValueFrom0to90Days + type: string + source: inventory + + - name: qtyFrom91to180Days + label: inventory.qtyFrom91to180Days + type: string + source: inventory + + - name: stockValueFrom91to180Days + label: inventory.stockValueFrom91to180Days + type: string + source: inventory + + - name: qtyFrom181DaysAndAbove + label: inventory.qtyFrom181DaysAndAbove + type: string + source: inventory + + - name: stockValueFrom181DaysAndAbove + label: inventory.stockValueFrom181DaysAndAbove + type: string + source: inventory + + - name: totalQty + label: inventory.totalQty + type: string + source: inventory + + - name: totalStockValue + label: inventory.totalStockValue + type: string + source: inventory + + searchParams: + - name: storeName + label: inventory.store.name + type: singlevaluelist + pattern: http://inventory-services:8080/inventory-services/stores/_search?active=true&tenantId=$tenantid|$..code|$..name + source: store + searchClause: AND store.code = $storeName + isMandatory: true + wrapper: true + + - name: materialTypeName + label: inventory.materialTypeName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=MaterialType&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + source: materialReceipt + isMandatory: false + + - name: materialName + label: inventory.materialName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=inventory&masterName=Material&tenantId=$tenantid|$.MdmsRes.inventory.Material.*.code|$.MdmsRes.inventory.Material.*.name + source: materialReceipt + isMandatory: false + + - name: asOnDate + label: inventory.asOnDate + type: epoch + source: inventory + isMandatory: true + query: + + + + + + + diff --git a/configs/reports/configs/lcms-reports.yml b/configs/reports/configs/lcms-reports.yml new file mode 100644 index 00000000..ed7a3602 --- /dev/null +++ b/configs/reports/configs/lcms-reports.yml @@ -0,0 +1,891 @@ +--- +ReportDefinitions: +- reportName: CaseRegisterReport + summary: Case Register Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_court + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: true + - name: plantiffname + label: reports.lcms.nameOfPlaintiff + type: string + source: lcms + showColumn: true + - name: defendant + label: reports.lcms.nameOfDefendant + type: string + source: lcms + showColumn: true + - name: pleaderengagementdetails + label: reports.lcms.amountOfPleadersEngaged + type: string + source: lcms + showColumn: false + - name: sectionapplied + label: reports.lcms.sectionApplied + type: string + source: lcms + showColumn: false + - name: receiptdate + label: reports.lcms.dateOfReceiptOfOfficer + type: epoch + source: lcms + showColumn: false + - name: summondate + label: reports.lcms.dateOfSummon + type: epoch + source: lcms + showColumn: false + - name: resolutiondetails + label: reports.lcms.resolutionOfMunicipalDate + type: string + source: lcms + showColumn: false + - name: pleaderfee + label: reports.lcms.particularsOfPleadersFee + type: string + source: lcms + showColumn: false + - name: vakalatnamagenerationdate + label: reports.lcms.dateOfProductionOfVakalatnama + type: epoch + source: lcms + showColumn: false + - name: courtname + label: reports.lcms.suitFiledCourtName + type: string + source: lcms + showColumn: true + - name: departmentperson + label: reports.lcms.nameOfResponsibleOfficer + type: string + source: lcms + showColumn: false + - name: judgementdate + label: reports.lcms.dateOfJudgment + type: epoch + source: lcms + showColumn: false + - name: casejudgement + label: reports.lcms.judgmentDetails + type: string + source: lcms + showColumn: false + - name: advocateopinion + label: reports.lcms.opinionOfPleader + type: string + source: lcms + showColumn: false + - name: furtherprocessdetails + label: reports.lcms.furtherProcessDetails + type: string + source: lcms + showColumn: false + - name: particularsamount + label: reports.lcms.particularsOfActualAmount + type: string + source: lcms + showColumn: false + - name: voucherdate + label: reports.lcms.dateOfCredit + type: epoch + source: lcms + showColumn: false + - name: paymentdetails + label: reports.lcms.particularsOfPayment + type: string + source: lcms + showColumn: false + - name: voucherdate + label: reports.lcms.dateOfDebit + type: epoch + source: lcms + showColumn: false + - name: verificationremarks + label: reports.lcms.remarksRegardingReferenceToCourt + type: string + source: lcms + showColumn: false + - name: remarks + label: reports.lcms.remarks + type: string + source: lcms + showColumn: false + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + - name: caseNo + label: reports.lcms.caseNo + type: string + isMandatory: false + source: lcms + searchClause : AND upper(lc.caseno) = upper($caseNo) + - name: lcNumber + label: reports.lcms.lcNumber + type: string + isMandatory: false + source: lcms + searchClause : AND upper(lc.summonreferenceno) = upper($lcNumber) + - name: caseTitle + label: reports.lcms.caseTitle + type: string + isMandatory: false + source: lcms + searchClause : AND upper(lc.casedetails) = upper($caseTitle) + - name: courtName + label: reports.lcms.courtName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=court|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.courtname ->> 'code' = $courtName + - name: plaintiff + label: reports.lcms.plaintiff + type: string + isMandatory: false + source: lcms + searchClause : AND upper(lc.plantiffname) = upper($plaintiff) + - name: defendant + label: reports.lcms.defendant + type: string + isMandatory: false + source: lcms + searchClause : AND upper(lc.defendant) = upper($defendant) + - name: department + label: reports.lcms.department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.departmentname ->> 'code' = $department + - name: caseStatus + label: reports.lcms.caseStatus + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseStatus|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casestatus ->> 'code' = $caseStatus + query: select lc.caseno, lc.plantiffname, lc.defendant, lc.pleaderengagementdetails ,lc.sectionapplied, lc.summondate, CONCAT(lc.resloution, ', ', lc.resloutiondate) AS resolutiondetails, lc.vakalatnamagenerationdate, (select name from (VALUES tbl_court) as court (code,name) where court.code=lc.courtname::jsonb ->> 'code')as courtname, lc.departmentperson, lhd.judgementdate, lhd.casejudgement, lhd.advocateopinion, lhd.furtherprocessdetails, lc.remarks from egov_lcms_case lc LEFT OUTER JOIN egov_lcms_hearing_details as lhd ON (lc.code = lhd.casecode AND lhd.casestatus ->> 'code'= 'FO') WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate AND lc.tenantid=$tenantid +- reportName: CaseSummaryReport + summary: Case Summary Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.caseType + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseType&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casetype + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_court + - entity: $.MdmsRes.lcms.caseStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseStatus&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casestatus + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_department + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: true + - name: department + label: reports.lcms.department + type: string + source: lcms + showColumn: false + - name: casetype + label: reports.lcms.caseType + type: string + source: lcms + showColumn: false + - name: plantiffname + label: reports.lcms.plaintiff + type: string + source: lcms + showColumn: true + - name: defendant + label: reports.lcms.defendant + type: string + source: lcms + showColumn: true + - name: courtname + label: reports.lcms.courtName + type: string + source: lcms + showColumn: true + - name: advocate + label: reports.lcms.advocateName + type: string + source: lcms + showColumn: false + - name: casestatus + label: reports.lcms.status + type: string + source: lcms + showColumn: false + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + - name: caseNo + label: reports.lcms.caseNo + type: string + isMandatory: false + source: lcms + searchClause : AND lc.caseno=$caseNo + - name: department + label: reports.lcms.department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.departmentname ->> 'code' = $department + - name: advocate + label: reports.lcms.advocate + type: singlevaluelist + pattern: http://lcms-services:8080/lcms-services/legalcase/advocate/_search?tenantId=$tenantid&pageSize=500|$..code|$..name + source: lcms + searchClause : AND position($advocate in tempadvocate.advocatecode) > 0 + isMandatory: false + - name: courtName + label: reports.lcms.courtName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=court|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.courtname ->> 'code' = $courtName + - name: plaintiff + label: reports.lcms.plaintiff + type: string + isMandatory: false + source: lcms + searchClause : AND lc.plantiffname = $plaintiff + - name: defendant + label: reports.lcms.defendant + type: string + isMandatory: false + source: lcms + searchClause : AND lc.defendant = $defendant + query: select lc.caseno, (select name from (VALUES tbl_department) as departmentdata (code,name) where departmentdata.code= lc.departmentname->>'code')as department, (select name from (VALUES tbl_casetype) as casetype (code,name) where casetype.code=lc.casetype::jsonb ->> 'code') as casetype, lc.plantiffName, lc.defendant, (select name from (VALUES tbl_court) as court (code,name) where court.code=lc.courtname::jsonb ->> 'code') as courtname, tempadvocate.advocatename as advocate,(select name from (VALUES tbl_casestatus) as casestatus (code,name) where casestatus.code=lc.casestatus::jsonb ->> 'code') as casestatus from egov_lcms_case as lc left outer join + (select lca.casecode as casecode, string_agg(la.name,',') as advocatename,string_agg(la.code,',') as advocatecode from egov_lcms_case_advocate as lca inner join egov_lcms_advocate as la on la.code=lca.advocate->>'code' where lca.tenantid=$tenantid group by lca.casecode) as tempadvocate on lc.code=tempadvocate.casecode WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate and lc.tenantid=$tenantid + +- reportName: CaseDetailReport + summary: Case Detail Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name,type + tableName: tbl_court + - entity: $.MdmsRes.lcms.caseCategory + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseCategory&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casecategory + - entity: $.MdmsRes.lcms.caseStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseStatus&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casestatus + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_department + + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: false + - name: courtname + label: reports.lcms.courtName + type: string + source: lcms + showColumn: true + - name: courttype + label: reports.lcms.courtType + type: string + source: lcms + showColumn: false + - name: department + label: reports.lcms.department + type: string + source: lcms + showColumn: false + - name: casecategory + label: reports.lcms.caseCategory + type: string + source: lcms + showColumn: false + - name: sectionapplied + label: reports.lcms.sectionNo + type: string + source: lcms + showColumn: false + - name: advocate + label: reports.lcms.advocateName + type: string + source: lcms + showColumn: false + - name: plantiffname + label: reports.lcms.petitionName + type: string + source: lcms + showColumn: true + - name: defendant + label: reports.lcms.defendant + type: string + source: lcms + showColumn: true + - name: casestatus + label: reports.lcms.caseStatus + type: string + source: lcms + showColumn: true + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + - name: caseStatus + label: reports.lcms.caseStatus + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseStatus|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casestatus ->> 'code'= $caseStatus + - name: sectionNo + label: reports.lcms.sectionNo + type: string + isMandatory: false + source: lcms + searchClause : AND lc.sectionapplied=$sectionNo + - name: advocate + label: reports.lcms.advocate + type: singlevaluelist + pattern: http://lcms-services:8080/lcms-services/legalcase/advocate/_search?tenantId=$tenantid&pageSize=500|$..code|$..name + source: lcms + isMandatory: false + searchClause : AND position($advocate in tempadvocate.advocatecode) > 0 + - name: courtName + label: reports.lcms.courtName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=court|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.courtname ->> 'code' = $courtName + - name: plaintiff + label: reports.lcms.plaintiff + type: string + isMandatory: false + source: lcms + searchClause : AND lc.plantiffname = $plaintiff + - name: defendant + label: reports.lcms.defendant + type: string + isMandatory: false + source: lcms + searchClause : AND lc.defendant = $defendant + - name: caseCategory + label: reports.lcms.caseCategory + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseCategory|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casecategory ->> 'code' = $caseCategory + - name: department + label: reports.lcms.department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.departmentname ->> 'code' = $department + - name: caseType + label: reports.lcms.caseType + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseType|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casetype ->> 'code' = $caseType + query: select lc.caseno, (select name from (VALUES tbl_court) as court (code,name,type) where court.code=lc.courtname::jsonb ->> 'code') as courtname, (select type from (VALUES tbl_court) as court (code,name,type) where court.code=lc.courtname::jsonb ->> 'code') as courttype, (select name from (VALUES tbl_department) as departmentdata (code,name) where departmentdata.code= lc.departmentname->>'code')as department, (select name from (VALUES tbl_casecategory) as caseCategory (code,name) where caseCategory.code=lc.casecategory::jsonb ->> 'code') as casecategory, lc.sectionapplied, tempadvocate.advocatename as advocate, lc.plantiffName,lc.defendant, (select name from (VALUES tbl_casestatus) as caseStatus (code,name) where caseStatus.code=lc.casestatus::jsonb ->> 'code') as casestatus from egov_lcms_case as lc left outer join + (select lca.casecode as casecode, string_agg(la.name,',') as advocatename,string_agg(la.code,',') as advocatecode from egov_lcms_case_advocate as lca inner join egov_lcms_advocate as la on la.code=lca.advocate->>'code' where lca.tenantid=$tenantid group by lca.casecode) as tempadvocate on lc.code=tempadvocate.casecode WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate and lc.tenantid=$tenantid +- reportName: CaseHistoryReport + summary: Case History Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.caseType + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseType&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casetype + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_court + - entity: $.MdmsRes.lcms.caseStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseStatus&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casestatus + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_department + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: true + - name: summondate + label: reports.lcms.caseDate + type: epoch + source: lcms + showColumn: false + - name: courtname + label: reports.lcms.courtName + type: string + source: lcms + showColumn: true + - name: casetype + label: reports.lcms.caseType + type: string + source: lcms + showColumn: true + - name: department + label: reports.lcms.department + type: string + source: lcms + showColumn: false + - name: advocate + label: reports.lcms.advocateName + type: string + source: lcms + showColumn: true + - name: plantiffname + label: reports.lcms.plaintiff + type: string + source: lcms + showColumn: false + - name: defendant + label: reports.lcms.defendant + type: string + source: lcms + showColumn: false + - name: hearingdate + label: reports.lcms.hearingDate + type: epoch + source: lcms + showColumn: false + - name: casestatus + label: reports.lcms.status + type: string + source: lcms + showColumn: false + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + + - name: oragnization + label: reports.lcms.organization + type: singlevaluelist + pattern: http://lcms-services:8080/lcms-services/legalcase/advocate/agency/_search?tenantId=$tenantid&pageSize=500|$.agencies[*].name|$.agencies[*].name + source: lcms + isMandatory: false + + - name: advocatename + label: reports.lcms.advocate + type: url + pattern: /lcms-services/legalcase/advocate/agency/_search?tenantId=$tenantid&agencyName={oragnization}&pageSize=500|$.agencies[*].advocates[*].code|$.agencies[*].advocates[*].name + source: lcms + isMandatory: false + searchClause : AND position($advocatename in tempadvocate.advocatecode) > 0 + + - name: department + label: reports.lcms.department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.departmentname ->> 'code' = $department + - name: caseType + label: reports.lcms.caseType + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseType|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casetype ->> 'code' = $caseType + - name: courtName + label: reports.lcms.courtName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=court|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.courtname ->> 'code' = $courtName + + - name: caseStatus + label: reports.lcms.caseStatus + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseStatus|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casestatus ->> 'code'= $caseStatus + query: select lc.caseno, lc.summondate, (select name from (VALUES tbl_court) as court (code,name) where court.code=lc.courtname::jsonb ->> 'code') as courtname, (select name from (VALUES tbl_casetype) as caseType (code,name) where caseType.code=lc.casetype::jsonb ->> 'code') as casetype, tempadvocate.advocatename as advocate, (select name from (VALUES tbl_department) as departmentdata (code,name) where departmentdata.code= lc.departmentname->>'code')as department, lc.plantiffName, lc.defendant, lc.hearingdate, (select name from (VALUES tbl_casestatus) as caseStatus (code,name) where caseStatus.code=lc.casestatus::jsonb ->> 'code') as casestatus from egov_lcms_case as lc left outer join (select lca.casecode as casecode, string_agg(la.name,',') as advocatename,string_agg(la.code,',') as advocatecode from egov_lcms_case_advocate as lca inner join egov_lcms_advocate as la on la.code=lca.advocate->>'code' where lca.tenantid=$tenantid group by lca.casecode) as tempadvocate on lc.code=tempadvocate.casecode WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate +- reportName: CasePendencyReport + summary: Case Pendency Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.caseType + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseType&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casetype + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_court + - entity: $.MdmsRes.lcms.caseStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseStatus&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casestatus + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_department + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: true + - name: advocate + label: reports.lcms.advocateName + type: string + source: lcms + showColumn: true + - name: department + label: reports.lcms.department + type: string + source: lcms + showColumn: true + - name: courtname + label: reports.lcms.courtName + type: string + source: lcms + showColumn: false + - name: casetype + label: reports.lcms.caseType + type: string + source: lcms + showColumn: true + - name: plantiffname + label: reports.lcms.plaintiff + type: string + source: lcms + showColumn: false + - name: defendant + label: reports.lcms.defendant + type: string + source: lcms + showColumn: false + - name: casejudgement + label: reports.lcms.hearingDetails + type: string + source: lcms + showColumn: false + - name: casestatus + label: reports.lcms.caseStatus + type: string + source: lcms + showColumn: false + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + - name: department + label: reports.lcms.department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.departmentname ->> 'code' = $department + - name: advocate + label: reports.lcms.advocate + type: singlevaluelist + pattern: http://lcms-services:8080/lcms-services/legalcase/advocate/_search?tenantId=$tenantid&pageSize=500|$..code|$..name + source: lcms + isMandatory: false + searchClause : AND position($advocate in tempadvocate.advocatecode) > 0 + query: select lc.caseno, tempadvocate.advocatename as advocate, (select name from (VALUES tbl_department) as departmentdata (code,name) where departmentdata.code= lc.departmentname->>'code')as department, (select name from (VALUES tbl_court) as court (code,name) where court.code=lc.courtname::jsonb ->> 'code') as courtname, (select name from (VALUES tbl_casetype) as caseType (code,name) where caseType.code=lc.casetype::jsonb ->> 'code') as casetype, lc.plantiffName, lc.defendant, (select casejudgement from egov_lcms_hearing_details as lhd where lhd.casestatus->>'code'=lc.casestatus->>'code' and lhd.casecode=lc.code order by createdtime desc limit 1 ) as casejudgement, (select name from (VALUES tbl_casestatus) as caseStatus (code,name) where caseStatus.code=lc.casestatus::jsonb ->> 'code') as casestatus from egov_lcms_case as lc left outer join (select lca.casecode as casecode, string_agg(la.name,',') as advocatename,string_agg(la.code,',') as advocatecode from egov_lcms_case_advocate as lca inner join egov_lcms_advocate as la on la.code=lca.advocate->>'code' where lca.tenantid=$tenantid group by lca.casecode) as tempadvocate on lc.code=tempadvocate.casecode WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate and lc.tenantid=$tenantid +- reportName: CaseStatusReport + summary: Case Status Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.caseType + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseType&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casetype + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_court + - entity: $.MdmsRes.lcms.caseStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseStatus&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casestatus + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_department + + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: true + - name: advocate + label: reports.lcms.advocateName + type: string + source: lcms + showColumn: true + - name: department + label: reports.lcms.department + type: string + source: lcms + showColumn: false + - name: courtname + label: reports.lcms.courtName + type: string + source: lcms + showColumn: false + - name: casetype + label: reports.lcms.caseType + type: string + source: lcms + showColumn: true + - name: plantiffname + label: reports.lcms.plaintiff + type: string + source: lcms + showColumn: false + - name: defendant + label: reports.lcms.defendant + type: string + source: lcms + showColumn: false + - name: casejudgement + label: reports.lcms.hearingDetails + type: string + source: lcms + showColumn: false + - name: casestatus + label: reports.lcms.status + type: string + source: lcms + showColumn: true + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + - name: caseStatus + label: reports.lcms.caseStatus + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=caseStatus|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.casestatus ->> 'code'= $caseStatus + query: select lc.caseno, (select string_agg(name, ', ') from egov_lcms_advocate where code in( select advocate->>'code' from egov_lcms_case_advocate where casecode=lc.code)) as advocate, (select name from (VALUES tbl_department) as departmentdata (code,name) where departmentdata.code= lc.departmentname->>'code')as department,(select name from (VALUES tbl_court) as court (code,name) where court.code=lc.courtname::jsonb ->> 'code') as courtname, (select name from (VALUES tbl_casetype) as caseType (code,name) where caseType.code=lc.casetype::jsonb ->> 'code') as casetype, lc.plantiffName, lc.defendant,(select casejudgement from egov_lcms_hearing_details as lhd where lhd.casestatus->>'code'=lc.casestatus->>'code' and lhd.casecode=lc.code order by createdtime desc limit 1) as casejudgement, (select name from (VALUES tbl_casestatus) as caseStatus (code,name) where caseStatus.code=lc.casestatus::jsonb ->> 'code') as casestatus from egov_lcms_case as lc WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate and lc.tenantid=$tenantid +- reportName: DueDateReport + summary: Due Date Report + version: 1.0.0 + moduleName: lcms + selectiveDownload: true + externalService: + - entity: $.MdmsRes.lcms.caseType + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseType&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casetype + - entity: $.MdmsRes.lcms.court + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=court&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_court + - entity: $.MdmsRes.lcms.caseStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=lcms&masterName=caseStatus&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_casestatus + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid + keyOrder: code,name + tableName: tbl_department + sourceColumns: + - name: caseno + label: reports.lcms.caseNo + type: string + source: lcms + showColumn: true + - name: courtname + label: reports.lcms.courtName + type: string + source: lcms + showColumn: false + - name: casetype + label: reports.lcms.caseType + type: string + source: lcms + showColumn: true + - name: department + label: reports.lcms.department + type: string + source: lcms + showColumn: false + - name: departmentperson + label: reports.lcms.concernedPersonName + type: string + source: lcms + showColumn: false + - name: advocate + label: reports.lcms.advocateName + type: string + source: lcms + showColumn: true + - name: plantiffname + label: reports.lcms.plaintiff + type: string + source: lcms + showColumn: false + - name: defendant + label: reports.lcms.defendant + type: string + source: lcms + showColumn: false + - name: casestatus + label: reports.lcms.caseStatus + type: string + source: lcms + showColumn: true + - name: hearingdate + label: reports.lcms.hearingDetailsDateAndTime + type: epoch + source: lcms + showColumn: false + searchParams: + - name: fromDate + label: reports.lcms.fromDate + type: epoch + source: lcms + isMandatory: true + - name: toDate + label: reports.lcms.toDate + type: epoch + source: lcms + isMandatory: true + - name: department + label: reports.lcms.department + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=common-masters&masterName=Department|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.departmentname ->> 'code' = $department + - name: departmentPerson + label: reports.lcms.departmentPerson + type: string + isMandatory: false + source: lcms + searchClause : AND lc.departmentperson=$departmentPerson + - name: advocate + label: reports.lcms.advocate + type: singlevaluelist + pattern: http://lcms-services:8080/lcms-services/legalcase/advocate/_search?tenantId=$tenantid&pageSize=500|$..code|$..name + source: lcms + isMandatory: false + searchClause : AND position($advocate in tempadvocate.advocatecode) > 0 + - name: courtName + label: reports.lcms.courtName + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=lcms&masterName=court|$..code|$..name + source: lcms + wrapper: true + isMandatory: false + searchClause : AND lc.courtname ->> 'code' = $courtName + query: select lc.caseno, (select name from (VALUES tbl_court) as court (code,name) where court.code=lc.courtname::jsonb ->> 'code') as courtname, (select name from (VALUES tbl_casetype) as caseType (code,name) where caseType.code=lc.casetype::jsonb ->> 'code') as casetype, (select name from (VALUES tbl_department) as departmentdata (code,name) where departmentdata.code= lc.departmentname->>'code')as department, lc.departmentperson, tempadvocate.advocatename as advocate, lc.plantiffName, lc.defendant, (select name from (VALUES tbl_casestatus) as caseStatus (code,name) where caseStatus.code=lc.casestatus::jsonb ->> 'code') as casestatus, lc.hearingdate from egov_lcms_case as lc left outer join (select lca.casecode as casecode, string_agg(la.name,',') as advocatename,string_agg(la.code,',') as advocatecode from egov_lcms_case_advocate as lca inner join egov_lcms_advocate as la on la.code=lca.advocate->>'code' where lca.tenantid=$tenantid group by lca.casecode) as tempadvocate on lc.code=tempadvocate.casecode WHERE lc.caseregistrationdate>=$fromDate and lc.caseregistrationdate<=$toDate and lc.tenantid=$tenantid diff --git a/configs/reports/configs/pgr-reports.yml b/configs/reports/configs/pgr-reports.yml index 41b780da..2193f618 100644 --- a/configs/reports/configs/pgr-reports.yml +++ b/configs/reports/configs/pgr-reports.yml @@ -6,15 +6,15 @@ ReportDefinitions: sourceColumns: - name: citizen_mobile_app label: reports.rainmaker-pgr.citizen_mobile_app - type: number + type: string source: eg_pgr_service - name: citizen_web_app label: reports.rainmaker-pgr.citizen_web_app - type: number + type: string source: eg_pgr_service - name: counter_desktop label: reports.rainmaker-pgr.counter_desktop - type: number + type: string source: eg_pgr_service searchParams: - name: tenantId @@ -882,13 +882,13 @@ ReportDefinitions: type: epoch source: eg_pgr_service isMandatory: false - searchClause: AND createdtime >= $fromDate + searchClause: AND eg_pgr_service.createdtime >= $fromDate - name: toDate label: reports.rainmaker-pgr.dateto type: epoch source: eg_pgr_service isMandatory: false - searchClause: AND createdtime <= $toDate + searchClause: AND eg_pgr_service.createdtime <= $toDate query: | SELECT DISTINCT ON (servicerequestid) @@ -907,3 +907,1777 @@ ReportDefinitions: eg_pgr_address.uuid = eg_pgr_service.addressid AND rating is not null AND feedback is not null orderby: ORDER BY servicerequestid, epa."when" desc + + +- reportName: SourceWiseReport_v2 + summary: Fetches reports based on the source of reception of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: citizen_mobile_app + label: reports.rainmaker-pgr.citizen_mobile_app + type: string + source: eg_pgr_service + total: true + - name: citizen_web_app + label: reports.rainmaker-pgr.citizen_web_app + type: string + source: eg_pgr_service + total: true + - name: counter_desktop + label: reports.rainmaker-pgr.counter_desktop + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + query: | + SELECT + sum(case when source = 'mobileapp' then 1 else 0 end) as citizen_mobile_app, + sum(case when source = 'web' then 1 else 0 end) as citizen_web_app, + sum(case when source = 'ivr' then 1 else 0 end) as counter_desktop + FROM eg_pgr_service + WHERE tenantid = $tenantid + +- reportName: DescriptionReport_v2 + decryptionPathId: DescriptionReport_v2 + summary: Fetches department wise reports based description of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + - entity: $.TenantBoundary[0].boundary + apiURL: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=ADMIN&boundaryType=Locality&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_boundary + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + - name: actiondate + label: reports.rainmaker-pgr.actiondate + type: string + source: eg_pgr_service + total: false + - name: source + label: reports.rainmaker-pgr.source + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT + DISTINCT ON (servicerequestid) + (case when ua.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else ua.name end) as lastassignedto, --value for Unassigned + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + (SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as name, --value for NULL + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + source, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000) < 1 THEN CONCAT('Overdue by ', ((epa.when - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000, ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status, + to_char((To_timestamp(epa.when/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS actiondate + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign','resolve') + left outer join eg_user as ua on (ua.id = epa.assignee::int or ua.id = split_part(epa.by,':',1)::INTEGER) + WHERE + eg_pgr_service.tenantid LIKE $tenantid + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.status IN ('open','assigned','reassigrequested','rejected','closed','resolved') + orderby: ORDER BY servicerequestid, epa."when" desc + +- reportName: StateSourceReport_v2 + summary: Source of complaints across tenants + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: whatsapp + label: reports.rainmaker-pgr.source.whatsapp + type: string + source: eg_pgr_service + total: true + - name: ivr + label: reports.rainmaker-pgr.source.ivr + type: string + source: eg_pgr_service + total: true + - name: mobileapp + label: reports.rainmaker-pgr.source.mobileapp + type: string + source: eg_pgr_service + total: true + - name: web + label: reports.rainmaker-pgr.source.web + type: string + source: eg_pgr_service + total: true + - name: unknown + label: reports.rainmaker-pgr.source.unknown + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select initcap(split_part(tenantid, '.', 2)) as tenantid, + SUM(CASE WHEN source ='whatsapp' THEN 1 ELSE 0 END) as whatsapp, + SUM(CASE WHEN source ='ivr' THEN 1 ELSE 0 END) as ivr, + SUM(CASE WHEN source ='mobileapp' THEN 1 ELSE 0 END) as mobileapp, + SUM(CASE WHEN source ='web' THEN 1 ELSE 0 END) as web, + SUM(CASE WHEN source NOT IN ('web', 'ivr', 'mobileapp','whatsapp') OR source is NULL THEN 1 ELSE 0 END) as unknown + from eg_pgr_service + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid + +- reportName: EmployeeReport_v2 + decryptionPathId: EmployeeReport_v2 + summary: Fetches complaints for employees + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.TenantBoundary[0].boundary + apiURL: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=ADMIN&boundaryType=Locality&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_boundary + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT (SELECT deptmap.department FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode) AS department, + regexp_replace(eg_pgr_service.servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + eg_user.name, + phone, + eg_pgr_service.landmark, + housenoandstreetname as address, + description, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000)) < 1 THEN CONCAT('Overdue by ', ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000), ' days remaining') END) as slaHours), + initcap(status) as status FROM eg_pgr_service + INNER JOIN eg_user ON eg_pgr_service.accountid = eg_user.id::VARCHAR + INNER JOIN eg_pgr_address ON eg_pgr_service.addressid = eg_pgr_address.uuid + WHERE eg_pgr_service.status = 'assigned' + AND servicerequestid IN (SELECT DISTINCT businesskey FROM eg_pgr_action WHERE status = 'assigned' AND "when" IN (select max("when") FROM eg_pgr_action WHERE assignee NOTNULL GROUP BY businesskey) AND assignee = $userid) + orderby: ORDER BY eg_pgr_service.createdtime asc + +- reportName: StateULBReport_v2 + summary: Fetches complaints stats for all ULBs in state + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select initcap(split_part(tenantid, '.', 2)) as tenantid, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + COUNT(status) as total + from eg_pgr_service + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid + +- reportName: ComplaintTypeWiseReport + summary: Fetches complaint stats based on complaint types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: complainttype + label: reports.rainmaker-pgr.complainttype + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') as complainttype, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + count(status) as total + from eg_pgr_service + WHERE tenantid = $tenantid + groupby: GROUP BY tenantid,servicecode + orderby: ORDER BY tenantid,servicecode + +- reportName: DepartmentReport_v2 + summary: Fetches complaint stats based on complaint types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND tenantid = $ulb + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + deptmap_def.name as department, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + count(status) as total + from eg_pgr_service + INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) ON deptmap.serviceCode = eg_pgr_service.servicecode + INNER JOIN (VALUES tbl_def_dept) AS deptmap_def(name,code) ON deptmap.department = deptmap_def.code + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid,deptmap_def.name + orderby: ORDER BY tenantid,deptmap_def.name + +- reportName: ULBDepartmentReport_v2 + summary: Fetches complaint stats based on department types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: rejected + label: reports.rainmaker-pgr.rejected + type: string + source: pgr_data + total: true + - name: resolved + label: reports.rainmaker-pgr.resolved + type: string + source: pgr_data + total: true + - name: resolvedoutsidesla + label: reports.rainmaker-pgr.resolvedoutsidesla + type: string + source: pgr_data + total: true + - name: open + label: reports.rainmaker-pgr.open + type: string + source: pgr_data + total: true + - name: assigned + label: reports.rainmaker-pgr.assigned + type: string + source: pgr_data + total: true + - name: outsidesla + label: reports.rainmaker-pgr.outsidesla + type: string + source: pgr_data + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime <= $toDate + query: | + with pgr_data as (select + servicerequestid, + servicecode, + createdtime, + status, + (select max("when") from eg_pgr_action where action='resolve' and businesskey = servicerequestid) as resolvedtime, + (select min("when") from eg_pgr_action where action='open' and businesskey = servicerequestid) as opentime + from eg_pgr_service as ps + where + tenantid = $tenantid) + + select + deptmap_def.name as department, + count(*) as total, + SUM (CASE WHEN status in ('rejected') THEN 1 ELSE 0 END) as rejected, + SUM (CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as resolved, + SUM (CASE WHEN status in ('closed', 'resolved') and (resolvedtime - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedoutsidesla, + SUM (CASE WHEN status in ('assigned', 'reassignrequested') THEN 1 ELSE 0 END) as assigned, + SUM (CASE WHEN status in ('open') THEN 1 ELSE 0 END) as open, + SUM (CASE WHEN status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as outsidesla + from pgr_data + INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) ON deptmap.serviceCode = pgr_data.servicecode + INNER JOIN (VALUES tbl_def_dept) AS deptmap_def(name,code) ON deptmap.department = deptmap_def.code + WHERE 1=1 + groupby: GROUP BY deptmap_def.name + orderby: ORDER BY deptmap_def.name + +- reportName: ULBEmployeeWiseReport_v2 + decryptionPathId: ULBEmployeeWiseReport + summary: Fetches employee wise assignment report + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: employee + label: reports.rainmaker-pgr.employee + type: string + source: pgr_data + total: false + - name: rejected + label: reports.rainmaker-pgr.rejected + type: string + source: pgr_data + total: true + - name: resolved + label: reports.rainmaker-pgr.resolved + type: string + source: pgr_data + total: true + - name: resolvedoutsidesla + label: reports.rainmaker-pgr.resolvedoutsidesla + type: string + source: pgr_data + total: true + - name: open + label: reports.rainmaker-pgr.open + type: string + source: pgr_data + total: true + - name: assigned + label: reports.rainmaker-pgr.assigned + type: string + source: pgr_data + total: true + - name: outsidesla + label: reports.rainmaker-pgr.outsidesla + type: string + source: pgr_data + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime <= $toDate + query: | + with pgr_data as (select + (select assignee from eg_pgr_action as pa where + pa.businesskey = ps.servicerequestid + and pa."action" in ('assign', 'reassign') + order by "when" desc + fetch first 1 rows only + ) as assignee, + servicerequestid, + createdtime, + status, + (select max("when") from eg_pgr_action where action='resolve' and businesskey = servicerequestid) as resolvedtime, + (select min("when") from eg_pgr_action where action='open' and businesskey = servicerequestid) as opentime + from eg_pgr_service as ps + where + tenantid = $tenantid) + select + coalesce((select name from eg_user where id::varchar = assignee),'30048|23/xn3x2FAxn8vYAN0IdplsOxaE=') as employee, -- encrypted value for NULL + SUM (CASE WHEN status in ('rejected') THEN 1 ELSE 0 END) as rejected, + SUM (CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as resolved, + SUM (CASE WHEN status in ('closed', 'resolved') and (resolvedtime - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedoutsidesla, + SUM (CASE WHEN status in ('assigned', 'reassignrequested') THEN 1 ELSE 0 END) as assigned, + SUM (CASE WHEN status in ('open') THEN 1 ELSE 0 END) as open, + SUM (CASE WHEN status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as outsidesla + from pgr_data + WHERE 1=1 + groupby: GROUP BY assignee + orderby: ORDER BY assignee NULLS FIRST + + +- reportName: UlbPgrSlaReport_v2 + summary: Fetches employee sla for state + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: complainttype + label: reports.rainmaker-pgr.complainttype + type: string + source: eg_pgr_service + total: false + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + - name: pendinginsla + label: reports.rainmaker-pgr.pendinginsla + type: string + source: eg_pgr_service + total: true + - name: pendingoutsidesla + label: reports.rainmaker-pgr.pendingoutsidesla + type: string + source: eg_pgr_service + total: true + - name: resolvedinsla + label: reports.rainmaker-pgr.resolvedinsla + type: string + source: eg_pgr_service + total: true + - name: resolvedoutsidesla + label: reports.rainmaker-pgr.resolvedoutsidesla + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime <= $toDate + query: | + with pgr_data as (select + servicerequestid, + servicecode, + createdtime, + status, + (select max("when") from eg_pgr_action where action='resolve' and businesskey = servicerequestid) as resolvedtime, + (select min("when") from eg_pgr_action where action='open' and businesskey = servicerequestid) as opentime + from eg_pgr_service as ps) + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + regexp_replace(eg_pgr_service.servicecode, '([a-z])([A-Z])', '\1 \2','g') as complainttype, + count(eg_pgr_service.status) as total, + SUM (CASE WHEN eg_pgr_service.status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) < 14 * 86400 * 1000 THEN 1 ELSE 0 END) as pendinginsla, + SUM (CASE WHEN eg_pgr_service.status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as pendingoutsidesla, + SUM (CASE WHEN eg_pgr_service.status in ('closed', 'resolved') and (resolvedtime - opentime) < 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedinsla, + SUM (CASE WHEN eg_pgr_service.status in ('closed', 'resolved') and (resolvedtime - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedoutsidesla + from eg_pgr_service,pgr_data + WHERE tenantid != 'pb.testing' and eg_pgr_service.servicerequestid=pgr_data.servicerequestid + groupby: GROUP BY tenantid,eg_pgr_service.servicecode + orderby: ORDER BY tenantid,eg_pgr_service.servicecode + +- reportName: FeedbackReport_v2 + decryptionPathId: FeedbackReport_v2 + summary: Fetches complaint state based on Feedback + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: citizenname + label: reports.rainmaker-pgr.citizenname + type: string + source: eg_pgr_service + total: false + - name: complainttype + label: reports.rainmaker-pgr.complainttype + type: string + source: eg_pgr_service + total: false + - name: complaintnumber + label: reports.rainmaker-pgr.complaintnumber + type: string + source: eg_pgr_service + total: false + - name: lastassignto + label: reports.rainmaker-pgr.lastassignto + type: string + source: eg_pgr_service + total: false + - name: rating + label: reports.rainmaker-pgr.rating + type: string + source: eg_pgr_service + total: false + - name: feedback + label: reports.rainmaker-pgr.feedback + type: string + source: eg_pgr_service + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_pgr_service.tenantid = $ulb + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT + DISTINCT ON (servicerequestid) + initcap(split_part(eg_pgr_service.tenantid, '.', 2)) as tenantid, + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS complainttype, + ua.name as lastassignto, + servicerequestid AS complaintnumber, + eg_user.name AS citizenname, + rating, feedback FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign') + left outer join eg_user as ua on ua.id = epa.assignee::int + WHERE + eg_pgr_address.uuid = eg_pgr_service.addressid + AND rating is not null AND feedback is not null + orderby: ORDER BY servicerequestid, epa."when" desc + + +- reportName: ComplaintTypesReport_v2 + summary: Fetches complaint stats based on complaint types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: complainttype + label: reports.rainmaker-pgr.complainttype + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND tenantid = $ulb + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') as complainttype, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + count(status) as total + from eg_pgr_service + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid,servicecode + orderby: ORDER BY tenantid,servicecode + + + + +- reportName: StateDescriptionReport_v2 + decryptionPathId: DescriptionReport_v2 + summary: Fetches state description wise reports + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + - name: actiondate + label: reports.rainmaker-pgr.actiondate + type: string + source: eg_pgr_service + total: false + - name: source + label: reports.rainmaker-pgr.source + type: string + source: eg_pgr_service + total: false + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants..code|$.MdmsRes.tenant.tenants..name + source: eg_pgr_service + wrapper: true + isMandatory: false + searchClause: AND eg_pgr_service.tenantid = $ulb + + query: | + SELECT + DISTINCT ON (servicerequestid) + (case when ua.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else ua.name end) as lastassignedto, --value for Unassigned + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + --(SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as name, --value for NULL + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + source, + eg_pgr_service.tenantid, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000) < 1 THEN CONCAT('Overdue by ', ((epa.when - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000, ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status, + to_char((To_timestamp(epa.when/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS actiondate + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign','resolve') + left outer join eg_user as ua on (ua.id = epa.assignee::int or ua.id = split_part(epa.by,':',1)::INTEGER) + WHERE + eg_pgr_service.tenantid !='pb.testing' + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.status IN ('open','assigned','reassigrequested','rejected','closed','resolved') + orderby: ORDER BY servicerequestid, epa."when" desc + +- reportName: UlbwisePgrSlaReport_v2 + summary: Fetches Ulb employee sla + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: complainttype + label: reports.rainmaker-pgr.complainttype + type: string + source: eg_pgr_service + total: false + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + - name: pendinginsla + label: reports.rainmaker-pgr.pendinginsla + type: string + source: eg_pgr_service + total: true + - name: pendingoutsidesla + label: reports.rainmaker-pgr.pendingoutsidesla + type: string + source: eg_pgr_service + total: true + - name: resolvedinsla + label: reports.rainmaker-pgr.resolvedinsla + type: string + source: eg_pgr_service + total: true + - name: resolvedoutsidesla + label: reports.rainmaker-pgr.resolvedoutsidesla + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime <= $toDate + query: | + with pgr_data as (select + servicerequestid, + servicecode, + createdtime, + status, + (select max("when") from eg_pgr_action where action='resolve' and businesskey = servicerequestid) as resolvedtime, + (select min("when") from eg_pgr_action where action='open' and businesskey = servicerequestid) as opentime + from eg_pgr_service as ps) + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + regexp_replace(eg_pgr_service.servicecode, '([a-z])([A-Z])', '\1 \2','g') as complainttype, + count(eg_pgr_service.status) as total, + SUM (CASE WHEN eg_pgr_service.status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) < 14 * 86400 * 1000 THEN 1 ELSE 0 END) as pendinginsla, + SUM (CASE WHEN eg_pgr_service.status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as pendingoutsidesla, + SUM (CASE WHEN eg_pgr_service.status in ('closed', 'resolved') and (resolvedtime - opentime) < 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedinsla, + SUM (CASE WHEN eg_pgr_service.status in ('closed', 'resolved') and (resolvedtime - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedoutsidesla + from eg_pgr_service,pgr_data + WHERE tenantid = $tenantid and eg_pgr_service.servicerequestid=pgr_data.servicerequestid + groupby: GROUP BY tenantid,eg_pgr_service.servicecode + orderby: ORDER BY tenantid,eg_pgr_service.servicecode + +- reportName: DescriptionReport_NEW_v2 + decryptionPathId: DescriptionReport_v2 + summary: Fetches department wise reports based description of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + - entity: $.TenantBoundary[0].boundary + apiURL: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=ADMIN&boundaryType=Locality&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_boundary + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + - name: actiondate + label: reports.rainmaker-pgr.actiondate + type: string + source: eg_pgr_service + total: false + - name: source + label: reports.rainmaker-pgr.source + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + with comps as + ( + select businesskey,max(eg_pgr_action.when) as actiontime + from eg_pgr_action + where tenantid=$tenantid + group by businesskey + ) + SELECT + DISTINCT ON (servicerequestid) + (case when ua.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else ua.name::varchar end) as lastassignedto, --value for Unassigned + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + (SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as name, --value for NULL + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + source, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000) < 1 THEN CONCAT('Overdue by ', ((epa.when - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000, ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status, + to_char((To_timestamp(epa.when/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS actiondate + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign','resolve') + inner join comps on concat(comps.actiontime,comps.businesskey)=concat(epa.when,epa.businesskey) and comps.businesskey=eg_pgr_service.servicerequestid and comps.actiontime=epa.when + --left outer join eg_user as ua on (ua.id = epa.assignee::integer or ua.id = split_part(epa.by,':',1)::INTEGER) + left outer join eg_user as ua on (ua.id = (case when epa.assignee is not null then epa.assignee::integer else split_part(epa.by,':',1)::INTEGER end)) + WHERE + eg_pgr_service.tenantid LIKE $tenantid + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.status IN ('open','assigned','reassigrequested','rejected','closed','resolved') + orderby: ORDER BY servicerequestid, epa."when" desc + +- reportName: WBDescriptionReport_NEW_v2 + decryptionPathId: DescriptionReport_v2 + summary: Fetches department wise reports based description of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + - name: actiondate + label: reports.rainmaker-pgr.actiondate + type: string + source: eg_pgr_service + total: false + - name: source + label: reports.rainmaker-pgr.source + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT + DISTINCT ON (servicerequestid) + (case when ua.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else ua.name end) as lastassignedto, --value for Unassigned + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + --(SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as name, --value for NULL + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + source, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000) < 1 THEN CONCAT('Overdue by ', ((epa.when - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000, ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status, + to_char((To_timestamp(epa.when/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS actiondate + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign','resolve') + left outer join eg_user as ua on (ua.id = epa.assignee::int or ua.id = split_part(epa.by,':',1)::INTEGER) + WHERE + eg_pgr_service.tenantid LIKE $tenantid + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.servicecode in ('PipelineWorkTrafficJam','PipelineWorkTrenchpitNotBackfilled','PipelineWorkHouseConnectionDamaged','PipelineWorkRoadNotRestored','CivilWorksOverheadReservoirTank','CivilWorksWaterTreatmentPlant','EnvironmentalImpactHazardousMaterialAtSiteEtc','EnvironmentalImpactNoiseAndAirPollution','EnvironmentalImpactVehiclePollution','EnvironmentalImpactSoilContamination','EnvironmentalImpactSoilErosion','EnvironmentalImpactUnauthorisedTreeCutting','SocialImpactSexualHarrasmentAtWorkSiteEtc','SocialImpactResettlementOrRehabilitation','SocialImpactDamageOfProperty','SocialImpactLossOfLivelihood') + AND eg_pgr_service.status IN ('open','assigned','reassigrequested','rejected','closed','resolved') + orderby: ORDER BY servicerequestid, epa.when desc + +- reportName: StateWBDescriptionReport_NEW_v2 + decryptionPathId: DescriptionReport_v2 + summary: Fetches department wise reports based description of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + - name: actiondate + label: reports.rainmaker-pgr.actiondate + type: string + source: eg_pgr_service + total: false + - name: source + label: reports.rainmaker-pgr.source + type: string + source: eg_pgr_service + total: false + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT + DISTINCT ON (servicerequestid) + (case when ua.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else ua.name end) as lastassignedto, --value for Unassigned + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + --(SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as name, --value for NULL + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + source, + eg_pgr_service.tenantid, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000) < 1 THEN CONCAT('Overdue by ', ((epa.when - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000, ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status, + to_char((To_timestamp(epa.when/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS actiondate + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign','resolve') + left outer join eg_user as ua on (ua.id = epa.assignee::int or ua.id = split_part(epa.by,':',1)::INTEGER) + WHERE + eg_pgr_service.tenantid !='pb.testing' + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.servicecode in ('PipelineWorkTrafficJam','PipelineWorkTrenchpitNotBackfilled','PipelineWorkHouseConnectionDamaged','PipelineWorkRoadNotRestored','CivilWorksOverheadReservoirTank','CivilWorksWaterTreatmentPlant','EnvironmentalImpactHazardousMaterialAtSiteEtc','EnvironmentalImpactNoiseAndAirPollution','EnvironmentalImpactVehiclePollution','EnvironmentalImpactSoilContamination','EnvironmentalImpactSoilErosion','EnvironmentalImpactUnauthorisedTreeCutting','SocialImpactSexualHarrasmentAtWorkSiteEtc','SocialImpactResettlementOrRehabilitation','SocialImpactDamageOfProperty','SocialImpactLossOfLivelihood') + AND eg_pgr_service.status IN ('open','assigned','reassigrequested','rejected','closed','resolved') + orderby: ORDER BY servicerequestid, epa."when" desc + +- reportName: StateMsevaappDescriptionReport_NEW_v2 + decryptionPathId: DescriptionReport_v2 + summary: Fetches department wise reports based description of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + - name: actiondate + label: reports.rainmaker-pgr.actiondate + type: string + source: eg_pgr_service + total: false + - name: source + label: reports.rainmaker-pgr.source + type: string + source: eg_pgr_service + total: false + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT + DISTINCT ON (servicerequestid) + (case when ua.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else ua.name end) as lastassignedto, --value for Unassigned + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + --(SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as name, --value for NULL + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + source, + eg_pgr_service.tenantid, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000) < 1 THEN CONCAT('Overdue by ', ((epa.when - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - (epa.when - eg_pgr_service.createdtime)::bigint/86400000, ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status, + to_char((To_timestamp(epa.when/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS actiondate + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign','resolve') + left outer join eg_user as ua on (ua.id = epa.assignee::int or ua.id = split_part(epa.by,':',1)::INTEGER) + WHERE + eg_pgr_service.tenantid !='pb.testing' + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.servicecode in ('PropertyTaxIssue','TradeLicenseIssue','FireNocIssue','WaterandSewerageIssue') + AND eg_pgr_service.status IN ('open','assigned','reassigrequested') + orderby: ORDER BY servicerequestid, epa."when" desc + diff --git a/configs/reports/configs/pt-reports.yml b/configs/reports/configs/pt-reports.yml index dec6b257..f4b4e906 100644 --- a/configs/reports/configs/pt-reports.yml +++ b/configs/reports/configs/pt-reports.yml @@ -1,6 +1,7 @@ --- ReportDefinitions: - reportName: ReceiptRegister + decryptionPathId: ReceiptRegister summary: Receipt Register version: 1.0.0 moduleName: rainmaker-pt @@ -157,7 +158,7 @@ ReportDefinitions: pattern: 'list://Cash:Cash,Online:Online,Card:Card,DD:DD,Cheque:Cheque' source: pt isMandatory: false - searchClause: AND instrumenttype = $paymentMode + searchClause: AND instrumenttype = $paymentMo - name: financialyear label: Financial Year type: singlevaluelist @@ -214,7 +215,7 @@ ReportDefinitions: to_char((To_timestamp(rh.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, Initcap(COALESCE(pt_detail.usagecategoryminor, pt_detail.usagecategorymajor)) as usagetype, manualreceiptnumber as g8receiptno, - (CASE WHEN collectiontype='COUNTER' THEN eg_user.name ELSE '' END) as collectorname, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname, pt_detail.additionaldetails->>'remarks' as "remarks" FROM egcl_receiptheader_v1 AS rh JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader @@ -1622,7 +1623,7 @@ ReportDefinitions: to_char((To_timestamp(rh.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, Initcap(COALESCE(pt_detail.usagecategoryminor, pt_detail.usagecategorymajor)) as usagetype, manualreceiptnumber as g8receiptno, - (CASE WHEN collectiontype='COUNTER' THEN eg_user.name ELSE '' END) as collectorname, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname, pt_detail.additionaldetails->>'remarks' as "remarks" FROM egcl_receiptheader_v1 AS rh JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader @@ -1631,7 +1632,8 @@ ReportDefinitions: JOIN eg_pt_propertydetail_v2 pt_detail ON (pt_detail.property || ':' || pt_detail.assessmentnumber) = rh.consumercode JOIN eg_pt_address_v2 pt_addr ON pt_detail.property = pt_addr.property LEFT OUTER JOIN eg_user ON eg_user.id = rh.createdby::INTEGER - WHERE rh.tenantid = $tenantid and rh.status != 'Cancelled' and businessdetails='PT' and rh.createdby::INTEGER in (select user_id from eg_userrole_v1 where role_code ='SEVA_KENDRA_EMP') + WHERE rh.tenantid = $tenantid and rh.status != 'Cancelled' and businessdetails='PT' and rh.createdby::INTEGER in + (select user_id from eg_userrole_v1 where role_code ='SEVA_KENDRA_EMP') orderby: ORDER BY rh.receiptdate DESC - reportName: ReceiptRegisterSummary @@ -1942,9 +1944,13 @@ ReportDefinitions: SELECT financialyear, sum(case when usagecategorymajor='RESIDENTIAL' then amount else 0 end) as "residential", + sum(case when usagecategorymajor='RESIDENTIAL' then 1 else 0 end) as "countresidential", sum(case when usagecategorymajor='NONRESIDENTIAL' then amount else 0 end) as "nonresidential", + sum(case when usagecategorymajor='NONRESIDENTIAL' then 1 else 0 end) as "countnonresidential", sum(case when usagecategorymajor='MIXED' then amount else 0 end) as "mixed", + sum(case when usagecategorymajor='MIXED' then 1 else 0 end) as "countmixed", sum(amount) as totalamount, + count(amount) as totalcount, sum(case when instrumenttype='Online' then amount else 0 end) as "online", sum(case when instrumenttype='Cash' then amount else 0 end) as "cash", sum(case when instrumenttype='Cheque' then amount else 0 end) as "cheque", @@ -2064,4 +2070,7472 @@ ReportDefinitions: inner join eg_user as eu on eu.uuid = po.userid inner join eg_pt_address_v2 as pta on pta.property = pt.propertyid left outer join eg_pt_unit_v2_ot as pot on pot.propertydetail = pd.assessmentnumber - where rh.tenantid =$tenantid and pd.property not in (select property from eg_pt_propertydetail_v2 where financialyear in ('2019-20')) + where rh.tenantid =$tenantid and pd.property not in (select property from eg_pt_propertydetail_v2 where financialyear in ('2019-20')) + +- reportName: ReceiptRegister_V2 + decryptionPathId: ReceiptRegister_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: consumercode + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.ddChequeTransactionDate + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.ddChequeTransactionDate + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt_addr.locality IN ($localityArray) + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN bad.amount ELSE 0 END) as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as paidpropertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN bad.amount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN bad.amount ELSE 0 END) ) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' + GROUP BY pdid + ) + SELECT + pd.tenantid AS tenantid, + pd.id, + pt.propertyid as consumercode, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + payment.ifsccode AS bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + to_char((To_timestamp(payment.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.totaldue - payment.totalamountpaid AS pendingamount, + Initcap(case when pt.usagecategory like '%.%' then split_part(pt.usagecategory,'.',2) else pt.usagecategory end) as usagetype, + (case when eg_user.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eg_user.name end) as collectorname, + receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment,eg_pg_transactions as pg, eg_pt_property as pt, receipt_breakup, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and receipt_breakup.pdid=pd.id and pt.status!='INACTIVE' + and pt_addr.propertyid=pt.id and payment.transactionnumber = pg.txn_id + --and pt.propertyid='PT-1012-978737' + --and receiptnumber='PT/1012/2020-21/001021' + orderby: ORDER BY pd.receiptdate DESC; + + +- reportName: ReceiptRegister_without_locality_V2 + decryptionPathId: ReceiptRegister_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: paidpropertytax + label: reports.pt.paidpropertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: consumercode + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.ddChequeTransactionDate + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN bad.amount ELSE 0 END) as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as paidpropertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN bad.amount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN bad.amount ELSE 0 END) ) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' + AND pd.receiptdate >= $fromDate AND pd.receiptdate <= $toDate + GROUP BY pdid + ) + SELECT + pd.tenantid AS tenantid, + pd.id, + pt.propertyid as consumercode, + pt.surveyid as surveyid, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + --payment.ifsccode AS bankname, + concat(bank_branches.bank_name,' ',bank_branches.branch) as bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + to_char((To_timestamp(payment.instrumentdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.totaldue - payment.totalamountpaid AS pendingamount, + Initcap(case when pt.usagecategory like '%.%' then split_part(pt.usagecategory,'.',2) else pt.usagecategory end) as usagetype, + (case when eg_user.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eg_user.name end) as collectorname, + receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment left outer join bank_branches on bank_branches.ifsc=payment.ifsccode, + (select * from (select *,(row_number() over(partition by propertyid order by lastmodifiedtime desc)) as rw from eg_pt_property where tenantid=$tenantid) pts where rw=1) as pt, + receipt_breakup, egcl_bill bill + --,(select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and receipt_breakup.pdid=pd.id --and pt.status!='INACTIVE' + --and pt_addr.propertyid=pt.id + orderby: ORDER BY pd.receiptdate DESC; + + +- reportName: CancelledReceiptRegister_V2 + decryptionPathId: CancelledReceiptRegister_V2 + summary: Receipt Register for cancelled Receipts + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: consumercode + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.ddChequeTransactionDate + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: paymentstatus + label: reports.pt.paymentstatus + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN bad.amount ELSE 0 END) as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as paidpropertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN bad.amount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN bad.amount ELSE 0 END) ) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus = 'CANCELLED' and pd.businessservice='PT' + GROUP BY pdid + ) + SELECT + pd.tenantid AS tenantid, + pd.id, + bill.consumercode as consumercode, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + --payment.ifsccode AS bankname, + concat(bank_branches.bank_name,' ',bank_branches.branch) as bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + to_char((To_timestamp(payment.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.totaldue - payment.totalamountpaid AS pendingamount, + --Initcap(case when pt.usagecategory like '%.%' then split_part(pt.usagecategory,'.',2) else pt.usagecategory end) as usagetype, + (case when eg_user.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eg_user.name end) as collectorname, + receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno, + bill.additionaldetails + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment left outer join bank_branches on bank_branches.ifsc=payment.ifsccode, receipt_breakup, egcl_bill bill + --,(select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus = 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + --and pt.propertyid = bill.consumercode + and receipt_breakup.pdid=pd.id + --and pt_addr.propertyid=pt.id + orderby: ORDER BY pd.receiptdate DESC; + +- reportName: OldUlbWisePtCollection_V2 + summary: ULB-wise PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: totalassessments + label: reports.pt.totalassessments + type: string + source: pt + total: true + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: true + - name: totalamountdue + label: reports.pt.totalamountdue + type: string + source: pt + total: true + searchParams: + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: usage + label: Usage + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=PropertyTax&masterName=UsageCategoryMajor|$..code|$..name + source: pt + wrapper: true + isMandatory: false + searchClause: AND usagecategorymajor = $usage + query: | + SELECT + tenantid, + COUNT(*) AS totalassessments, + SUM(totalamount) AS totalamount, + SUM(amount) AS totalamountpaid, + (SUM(totalamount) - SUM(amount)) AS totalamountdue + FROM eg_pt_propertydetail_v2 AS pd + LEFT OUTER JOIN + (SELECT consumercode, totalamount, amount FROM egcl_receiptheader_v1 AS rh + LEFT OUTER JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + LEFT OUTER JOIN egcl_instrumentheader_v1 AS ih ON ri.instrumentheader = ih.id + and ih.instrumentstatus != 'CANCELLED' + where rh.status != 'Cancelled' + ) AS instrument_data ON (pd.property || ':' || pd.assessmentnumber) = instrument_data.consumercode + WHERE tenantid = $tenantid + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid, totalamountpaid DESC NULLS LAST + +- reportName: StateCancelledReceiptRegister_V2 + decryptionPathId: CancelledReceiptRegister_V2 + summary: Receipt Register for cancelled Receipts state + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: tenantid + label: reports.pt.ulb + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: paystatus + label: reports.pt.paymentstatus + type: string + source: pt + total: false + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: consumercode + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.ddChequeTransactionDate + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as propertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN adjustedamount ELSE 0 END) )as exemption, + ( SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE bad.tenantid not in ('pb.testing','pb.ludhiana_legacy') and payment.paymentstatus = 'CANCELLED' and pd.businessservice='PT' + GROUP BY pdid + ) + SELECT + pd.tenantid AS tenantid, + pd.id, + bill.consumercode, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + payment.ifsccode AS bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + to_char((To_timestamp(payment.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + pd.due AS pendingamount, + Initcap(case when pt.usagecategory like '%.%' then split_part(pt.usagecategory,'.',2) else pt.usagecategory end) as usagetype, + (CASE WHEN billd.collectiontype='COUNTER' THEN eg_user.name ELSE '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' END) as collectorname, + receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, manualreceiptnumber as g8receiptno, + payment.paymentstatus as paystatus + FROM egcl_paymentdetail pd, eg_user, eg_pt_property as pt, egcl_billdetial as billd, egcl_payment payment,receipt_breakup, egcl_bill bill, (select bill.id as billid, min(bd.fromperiod) fromperiod, max(bd.toperiod) toperiod from egcl_billdetial bd, egcl_bill bill where bill.id=bd.billid group by bill.id) bd + WHERE pd.paymentid=payment.id and eg_user.id = pd.createdby::INTEGER and pt.propertyid = bill.consumercode and bill.id=pd.billid and bill.id=billd.billid and bd.billid=bill.id and payment.paymentstatus = 'CANCELLED' and pd.businessservice='PT' and payment.tenantid not in ('pb.testing','pb.ludhiana_legacy') and receipt_breakup.pdid=pd.id + orderby: ORDER BY pd.receiptdate DESC; + +- reportName: StateWidePtCollection_V2 + summary: State Wide PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: tenantid + label: reports.pt.tenantid + type: string + source: pt + total: false + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: true + - name: totalassessments + label: reports.pt.totalassessments + type: string + source: pt + total: true + - name: totaloffline + label: reports.pt.totaloffline + type: string + source: pt + total: true + - name: countoffline + label: reports.pt.countoffline + type: string + source: pt + total: true + - name: totalonline + label: reports.pt.totalonline + type: string + source: pt + total: true + - name: countonline + label: reports.pt.countonline + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: usage + label: Usage + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=PropertyTax&masterName=UsageCategoryMajor|$..code|$..name + source: pt + wrapper: true + isMandatory: false + searchClause: AND pt.usagecategory = $usage + query: | + SELECT + initcap(split_part(payment.tenantid, '.', 2)) as tenantid, + sum(payment.totalamountpaid) as totalamountpaid, + count(payment.totalamountpaid) as totalassessments, + sum(case when payment.paymentmode='ONLINE' then payment.totalamountpaid else 0 end) as "totalonline", + sum(case when payment.paymentmode='ONLINE' then 1 else 0 end) as "countonline", + sum(case when payment.paymentmode='CASH' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='CHEQUE' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='DD' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='CARD' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='OFFLINE_RTGS' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='OFFLINE_NEFT' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='POTAL_ORDER' then payment.totalamountpaid else 0 end) as "totaloffline", + sum(case when payment.paymentmode!='ONLINE' then 1 else 0 end) as "countoffline" + --concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid!='pb.testing' group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid!='pb.testing' + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + groupby: GROUP BY payment.tenantid + orderby: ORDER BY payment.tenantid, totalamountpaid DESC NULLS LAST + + +- reportName: UlbWisePtCollection_V2 + summary: ULB Wide PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: true + - name: totalassessments + label: reports.pt.totalassessments + type: string + source: pt + total: true + - name: totaloffline + label: reports.pt.totaloffline + type: string + source: pt + total: true + - name: countoffline + label: reports.pt.countoffline + type: string + source: pt + total: true + - name: totalonline + label: reports.pt.totalonline + type: string + source: pt + total: true + - name: countonline + label: reports.pt.countonline + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: usage + label: Usage + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=PropertyTax&masterName=UsageCategoryMajor|$..code|$..name + source: pt + wrapper: true + isMandatory: false + searchClause: AND upper(split_part(pt.usagecategory,'.',1)) = $usage + query: | + SELECT + --initcap(split_part(payment.tenantid, '.', 2)) as tenantid, + sum(payment.totalamountpaid) as totalamountpaid, + count(payment.totalamountpaid) as totalassessments, + sum(case when payment.paymentmode='ONLINE' then payment.totalamountpaid else 0 end) as "totalonline", + sum(case when payment.paymentmode='ONLINE' then 1 else 0 end) as "countonline", + sum(case when payment.paymentmode='CASH' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='CHEQUE' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='DD' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='CARD' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='OFFLINE_RTGS' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='OFFLINE_NEFT' then payment.totalamountpaid else 0 end) + + sum(case when payment.paymentmode='POTAL_ORDER' then payment.totalamountpaid else 0 end) as "totaloffline", + sum(case when payment.paymentmode!='ONLINE' then 1 else 0 end) as "countoffline" + --concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + + +- reportName: ReceiptRegisterShort_V2 + decryptionPathId: ReceiptRegisterShort_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8book + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8dated + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.ptrId + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: amount + label: reports.pt.taxamount + type: string + source: pt + total: true + - name: transactionnumber + label: reports.pt.ddChequeNo + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: remarks + label: reports.pt.remarks + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt_addr.locality IN ($localityArray) + - name: collectorname + label: reports.pt.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=PTCEMP|$.Employees[*].user.id|$.Employees[*].user.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + pt.propertyid as propertyid, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as transactiondate, + payment.ifsccode AS bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber as transactionnumber, + --concat(to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY')) AS financialyear, + --concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + getfinancialyear(pd.billid) as financialyear, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname, + --receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno, + 'NA' as remarks + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, + (select bill.id as billid, bill.consumercode as consumercodei, min(bd.fromperiod) fromperiod, max(bd.toperiod) toperiod from egcl_billdetial bd, egcl_bill bill + where bill.id=bd.billid and bill.tenantid = $tenantid group by bill.id) bd, + (select string_agg(distinct propertyid,',') as propertyid,string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bd.billid=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bd.consumercodei and pt.status!='INACTIVE' + and pt_addr.propertyid=pt.id + orderby: ORDER BY pd.receiptdate DESC; + + +- reportName: ReceiptRegisterShort_WithoutLocality_V2 + decryptionPathId: ReceiptRegisterShort_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8book + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8dated + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.ptrId + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: amount + label: reports.pt.taxamount + type: string + source: pt + total: true + - name: transactionnumber + label: reports.pt.ddChequeNo + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: remarks + label: reports.pt.remarks + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: collectorname + label: reports.pt.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=PTCEMP|$.Employees[*].user.id|$.Employees[*].user.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + pt.propertyid as propertyid, + oldpropertyid, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as transactiondate, + payment.ifsccode AS bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber as transactionnumber, + --concat(to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY')) AS financialyear, + --concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + getfinancialyear(pd.billid) as financialyear, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname, + --receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno, + 'NA' as remarks + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, + (select * from (select *,(row_number() over(partition by propertyid order by lastmodifiedtime desc)) as rw from eg_pt_property where tenantid=$tenantid) pts where rw=1) as pt, + (select bill.id as billid, bill.consumercode as consumercodei, min(bd.fromperiod) fromperiod, max(bd.toperiod) toperiod from egcl_billdetial bd, egcl_bill bill + where bill.id=bd.billid and bill.tenantid = $tenantid group by bill.id) bd + where pd.paymentid=payment.id and bd.billid=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bd.consumercodei --and pt.status!='INACTIVE' + orderby: ORDER BY pd.receiptdate DESC; + + +- reportName: ULBPTDataDumpReport_V2 + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptnumber + type: string + source: pt + total: false + - name: paymentamount + label: reports.pt.paymentamount + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: localityname + label: reports.pt.localityname + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND payd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND payd.receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(billd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(billd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pta.locality IN ($localityArray) + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with eg_pt_unit_v2_ot as ( + select + propertyid + -- string_agg(distinct pu.occupancytype, ',') as occupancytype, + -- string_agg(distinct Initcap(case when usagecategory like '%.%' then split_part(usagecategory,'.',2) else usagecategory end),',') as propertytype + from eg_pt_unit as pu + where pu.tenantid = $tenantid + group by propertyid + ) + select + distinct on (payd.receiptnumber) + initcap(split_part(payd.tenantid, '.', 2)) as "ulb", + split_part(consumercode, ':', 1) as "propertytaxuniqueid", + --to_char((To_timestamp(receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS "transcationdate", + receiptnumber as "receiptnumber", + pt.oldpropertyid as "existingpropertyid", + --concat(to_char((To_timestamp(billd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(billd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) AS "financialyear", + --getfinancialyear(payd.billid) as financialyear, + eu."name" as "ownername", + eu.guardian as "guardianname", + --pt.landarea as "totalarea", + --pt.superbuiltuparea * 9 as "builtarea", + --pt.nooffloors as "floors", + eu.mobilenumber as "mobileno", + --paymentmode as "transcationmode", + payment.totalamountpaid as "paymentamount", + --to_char((To_timestamp(payment.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS "paymentdate", + --eu.emailid as "emailid", + REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',', pta.pincode), ',+', ','), '^,|,$', '') as "address", + --payment.payeraddress as "payeraddress", + --pt.additionaldetails->>'remarks' as "remarks", + pt.additionaldetails->>'FirmBusinessName' as "businessname", + --pot.occupancytype as occupancy, + --pot.propertytype as propertytype, + --pta.locality as "localitycode", + localnames.localityname as localityname + from egcl_paymentdetail as payd + inner join egcl_payment as payment on payment.id = payd.paymentid + inner join egcl_bill as bill on bill.id = payd.billid + inner join egcl_billdetial as billd on billd.billid=bill.id + inner join eg_pt_property as pt on pt.propertyid = bill.consumercode + inner join eg_pt_owner as po on po.propertyid = pt.id and po.status='ACTIVE' + inner join eg_user as eu on eu.uuid = po.userid + inner join eg_pt_address as pta on pta.propertyid = pt.id + left outer join eg_bndry_mohalla as localnames on pta.locality=localnames.localitycode + left outer join eg_pt_unit_v2_ot as pot on pot.propertyid = pt.id + where payd.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and payd.businessservice='PT' and pt.status!='INACTIVE' + + +- reportName: Sewa_Kendra_ReceiptRegister_V2 + summary: Sewa Kendra Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: propertyid + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: assessmentnumber + label: reports.pt.assessmentNo + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.ddChequeTransactionDate + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: remarks + label: reports.pt.remarks + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND rh.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND instrumenttype = replace($paymentMode,',','_') + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt_addr.locality IN ($localityArray) + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + receiptnumber, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as propertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN adjustedamount ELSE 0 END) )as exemption, + ( SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE bd.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' + and pd.createdby::INTEGER in (select user_id from eg_userrole_v1 where role_code ='SEVA_KENDRA_EMP') + GROUP BY pd.receiptnumber + ) + SELECT + bill.tenantid AS tenantid, + bill.id, + pt_detail.property AS propertyid, + pt_detail.assessmentnumber AS assessmentnumber, + bill.consumercode, + pd.receiptdate, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.ifsccode AS bankname, + pd.receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + receipt_breakup.*, + pd.due AS pendingamount, + pt_detail.financialyear, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + Initcap(COALESCE(pt_detail.usagecategoryminor, pt_detail.usagecategorymajor)) as usagetype, + manualreceiptnumber as g8receiptno, + (CASE WHEN collectiontype='COUNTER' THEN eg_user.name ELSE '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' END) as collectorname, + pt_detail.additionaldetails->>'remarks' as "remarks" + FROM egcl_bill AS bill + INNER JOIN egcl_billdetial as bd on bd.billid = bill.id + LEFT OUTER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + LEFT OUTER JOIN egcl_payment as payment on pd.paymentid=payment.id + JOIN eg_pt_propertydetail_v2 pt_detail ON pt_detail.property = bill.consumercode + JOIN eg_pt_address_v2 pt_addr ON pt_detail.property = pt_addr.property + JOIN receipt_breakup ON receipt_breakup.receiptnumber = pd.receiptnumber + LEFT OUTER JOIN eg_user ON eg_user.id = pd.createdby::INTEGER + WHERE bd.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and pd.createdby::INTEGER in (select user_id + FROM eg_userrole_v1 where role_code ='SEVA_KENDRA_EMP') + orderby: ORDER BY pd.receiptdate DESC + + +- reportName: ReceiptRegisterSummary_V2 + decryptionPathId: ReceiptRegisterShort_V2 + summary: Receipt Register Summary + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: firecess + label: reports.pt.firecess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancercess + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertytax + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.adjustment + type: string + source: pt + total: true + - name: noofassessments + label: reports.pt.noofassessments + type: string + source: pt + total: true + - name: sumcash + label: reports.pt.sumcash + type: string + source: pt + total: true + - name: sumcheque + label: reports.pt.sumcheque + type: string + source: pt + total: true + - name: countcheque + label: reports.pt.countcheque + type: string + source: pt + total: true + - name: sumonline + label: reports.pt.sumonline + type: string + source: pt + total: true + - name: totalamount + label: reports.pt.totalamount + type: string + source: pt + total: true + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: collectorname + label: reports.pt.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=PTCEMP|$.Employees[*].user.id|$.Employees[*].user.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + split_part(bd.tenantid,'.',2) as ulb, + Count (distinct pd.paymentid) as noofassessments, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as propertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN adjustedamount ELSE 0 END) )as exemption, + ( SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment, + sum(case when payment.paymentmode='CASH' then bad.adjustedamount else 0 end) as sumcash, + sum(case when payment.paymentmode='CHEQUE' then bad.adjustedamount else 0 end) as sumcheque, + COUNT(distinct case when payment.paymentmode='CHEQUE' then concat(payment.paymentmode,payment.instrumentnumber,payment.ifsccode,payment.totalamountpaid) end) as countcheque, + sum(case when payment.paymentmode='ONLINE' then bad.adjustedamount else 0 end) as sumonline, + (CASE WHEN payment.paymentmode!='ONLINE' THEN eg_user.name ELSE '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' END) as collectorname, --for Online collecion show None as collectorname + sum(adjustedamount) as totalamount + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + LEFT OUTER JOIN eg_user ON eg_user.id = pd.createdby::INTEGER + WHERE bd.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' + groupby: group by collectorname,bd.tenantid + +- reportName: StateReceiptRegisterSummary_V2 + summary: Receipt Register Summary + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: firecess + label: reports.pt.firecess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancercess + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertytax + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.adjustment + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND bd.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + split_part(bd.tenantid,'.',2) as ulb, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as propertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN adjustedamount ELSE 0 END) )as exemption, + ( SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + WHERE bd.tenantid != 'pb.testing' and pd.businessservice='PT' + groupby: group by bd.tenantid + orderby: order by bd.tenantid + +- reportName: FYCollectionsReport_V2 + summary: FY Collections + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: residential + label: reports.pt.residential + type: string + source: pt + total: true + - name: countresidential + label: reports.pt.countresidential + type: string + source: pt + total: true + - name: nonresidential + label: reports.pt.nonresidential + type: string + source: pt + total: true + - name: countnonresidential + label: reports.pt.countnonresidential + type: string + source: pt + total: true + - name: mixed + label: reports.pt.mixed + type: string + source: pt + total: true + - name: countmixed + label: reports.pt.countmixed + type: string + source: pt + total: true + - name: totalamount + label: reports.pt.totalamount + type: string + source: pt + total: true + - name: totalcount + label: reports.pt.totalcount + type: string + source: pt + total: true + - name: online + label: reports.pt.online + type: string + source: pt + total: true + - name: cash + label: reports.pt.cash + type: string + source: pt + total: true + - name: cheque + label: reports.pt.cheque + type: string + source: pt + total: true + - name: dd + label: reports.pt.dd + type: string + source: pt + total: true + - name: card + label: reports.pt.card + type: string + source: pt + total: true + - name: neft + label: reports.pt.neft + type: string + source: pt + total: true + - name: rtgs + label: reports.pt.rtgs + type: string + source: pt + total: true + - name: po + label: reports.pt.po + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt_addr.locality IN ($localityArray) + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + sum(payment.totalamountpaid) as totalamount, + count(payment.totalamountpaid) as totalcount, + sum(case when payment.paymentmode='ONLINE' then payment.totalamountpaid else 0 end) as "online", + sum(case when payment.paymentmode='CASH' then payment.totalamountpaid else 0 end) as "cash", + sum(case when payment.paymentmode='CHEQUE' then payment.totalamountpaid else 0 end) as "cheque", + sum(case when payment.paymentmode='DD' then payment.totalamountpaid else 0 end) as "dd", + sum(case when payment.paymentmode='CARD' then payment.totalamountpaid else 0 end) as "card", + sum(case when payment.paymentmode='OFFLINE_RTGS' then payment.totalamountpaid else 0 end) as "rtgs", + sum(case when payment.paymentmode='OFFLINE_NEFT' then payment.totalamountpaid else 0 end) as "neft", + sum(case when payment.paymentmode='POTAL_ORDER' then payment.totalamountpaid else 0 end) as "po", + sum(case when split_part(pt.usagecategory, '.', 1)='RESIDENTIAL' then payment.totalamountpaid else 0 end) as "residential", + sum(case when split_part(pt.usagecategory, '.', 1)='RESIDENTIAL' then 1 else 0 end) as "countresidential", + sum(case when split_part(pt.usagecategory, '.', 1) = 'NONRESIDENTIAL' then payment.totalamountpaid else 0 end) as "nonresidential", + sum(case when pt.usagecategory like 'NONRESIDENTIAL%' then 1 else 0 end) as "countnonresidential", + sum(case when pt.usagecategory='MIXED' then payment.totalamountpaid else 0 end) as "mixed", + sum(case when pt.usagecategory='MIXED' then 1 else 0 end) as "countmixed", + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, + (select * from (select *,(row_number() over(partition by propertyid order by lastmodifiedtime desc)) as rw from eg_pt_property where tenantid=$tenantid) pts where rw=1) as pt, + egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt_addr.propertyid=pt.id --and pt.status!='INACTIVE' + groupby: GROUP BY financialyear + orderby: ORDER BY financialyear + +- reportName: FYCollectionsReport_WithoutLocality_V2 + summary: FY Collections + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: residential + label: reports.pt.residential + type: string + source: pt + total: true + - name: countresidential + label: reports.pt.countresidential + type: string + source: pt + total: true + - name: nonresidential + label: reports.pt.nonresidential + type: string + source: pt + total: true + - name: countnonresidential + label: reports.pt.countnonresidential + type: string + source: pt + total: true + - name: mixed + label: reports.pt.mixed + type: string + source: pt + total: true + - name: countmixed + label: reports.pt.countmixed + type: string + source: pt + total: true + - name: totalamount + label: reports.pt.totalamount + type: string + source: pt + total: true + - name: totalcount + label: reports.pt.totalcount + type: string + source: pt + total: true + - name: online + label: reports.pt.online + type: string + source: pt + total: true + - name: cash + label: reports.pt.cash + type: string + source: pt + total: true + - name: cheque + label: reports.pt.cheque + type: string + source: pt + total: true + - name: dd + label: reports.pt.dd + type: string + source: pt + total: true + - name: card + label: reports.pt.card + type: string + source: pt + total: true + - name: neft + label: reports.pt.neft + type: string + source: pt + total: true + - name: rtgs + label: reports.pt.rtgs + type: string + source: pt + total: true + - name: po + label: reports.pt.po + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + sum(payment.totalamountpaid) as totalamount, + count(payment.totalamountpaid) as totalcount, + sum(case when payment.paymentmode='ONLINE' then payment.totalamountpaid else 0 end) as "online", + sum(case when payment.paymentmode='CASH' then payment.totalamountpaid else 0 end) as "cash", + sum(case when payment.paymentmode='CHEQUE' then payment.totalamountpaid else 0 end) as "cheque", + sum(case when payment.paymentmode='DD' then payment.totalamountpaid else 0 end) as "dd", + sum(case when payment.paymentmode='CARD' then payment.totalamountpaid else 0 end) as "card", + sum(case when payment.paymentmode='OFFLINE_RTGS' then payment.totalamountpaid else 0 end) as "rtgs", + sum(case when payment.paymentmode='OFFLINE_NEFT' then payment.totalamountpaid else 0 end) as "neft", + sum(case when payment.paymentmode='POTAL_ORDER' then payment.totalamountpaid else 0 end) as "po", + sum(case when split_part(pt.usagecategory, '.', 1)='RESIDENTIAL' then payment.totalamountpaid else 0 end) as "residential", + sum(case when split_part(pt.usagecategory, '.', 1)='RESIDENTIAL' then 1 else 0 end) as "countresidential", + sum(case when split_part(pt.usagecategory, '.', 1) = 'NONRESIDENTIAL' then payment.totalamountpaid else 0 end) as "nonresidential", + sum(case when pt.usagecategory like 'NONRESIDENTIAL%' then 1 else 0 end) as "countnonresidential", + sum(case when pt.usagecategory='MIXED' then payment.totalamountpaid else 0 end) as "mixed", + sum(case when pt.usagecategory='MIXED' then 1 else 0 end) as "countmixed", + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, + (select * from (select *,(row_number() over(partition by propertyid order by lastmodifiedtime desc)) as rw from eg_pt_property where tenantid=$tenantid) pts where rw=1) as pt, + egcl_bill bill + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode --and pt.status!='INACTIVE' + groupby: GROUP BY financialyear + orderby: ORDER BY financialyear + +- reportName: ULBDEFAULTERPTREPORT_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: transcationdate + label: reports.pt.transcationdate + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptnumber + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: payeraddress + label: reports.pt.payeraddress + type: string + source: pt + total: false + searchParams: + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pta.locality IN ($localityArray) + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with eg_pt_unit_v2_ot as ( + select + propertyid, + string_agg(distinct pu.occupancytype, ',') as occupancytype, + --string_agg(distinct coalesce(usagecategory), ',') as propertytype + string_agg(distinct Initcap(case when usagecategory like '%.%' then split_part(usagecategory,'.',2) else usagecategory end),',') as propertytype + from eg_pt_unit as pu + where pu.tenantid = $tenantid + group by propertyid + ) + select + distinct on (payd.receiptnumber) + initcap(split_part(payd.tenantid, '.', 2)) as "ulb", + split_part(consumercode, ':', 1) as "propertytaxuniqueid", + to_char((To_timestamp(payd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS "transcationdate", + payd.receiptnumber as "receiptnumber", + pt.oldpropertyid as "existingpropertyid", + concat(to_char((To_timestamp(billd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(billd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) AS "financialyear", + eu."name" as "ownername", + eu.guardian as "guardianname", + pot.propertytype as "propertytype", + eu.mobilenumber as "mobileno", + REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',', pta.pincode), ',+', ','), '^,|,$', '') as "address" + from egcl_paymentdetail as payd + + inner join egcl_payment as payment on payment.id = payd.paymentid + inner join egcl_bill as bill on bill.id = payd.billid + inner join egcl_billdetial as billd on billd.billid=bill.id + inner join eg_pt_property as pt on pt.propertyid = bill.consumercode + inner join eg_pt_owner as po on po.propertyid = pt.id and po.status='ACTIVE' + inner join eg_user as eu on eu.uuid = po.userid + inner join eg_pt_address as pta on pta.propertyid = pt.id + left outer join eg_pt_unit_v2_ot as pot on pot.propertyid = pt.id + where payd.tenantid = $tenantid + and bill.consumercode not in (select consumercode from egcl_bill where tenantid=$tenantid and businessservice='PT' and id in (select billid from egcl_billdetial where tenantid=$tenantid and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) ='2020-21')) + and pt.status!='INACTIVE' + +- reportName: ULBDEFAULTERPTREPORT_NEW_V2_OLD + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + searchParams: + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pta.locality IN ($localityArray) + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with eg_pt_unit_v2_ot as ( + select + propertyid, + string_agg(distinct pu.occupancytype, ',') as occupancytype, + --string_agg(distinct coalesce(usagecategory), ',') as propertytype + string_agg(distinct Initcap(case when usagecategory like '%.%' then split_part(usagecategory,'.',2) else usagecategory end),',') as propertytype + from eg_pt_unit as pu + where pu.tenantid = $tenantid + group by propertyid + ) + select + --distinct on (payd.receiptnumber) + --initcap(split_part(payd.tenantid, '.', 2)) as "ulb", + --split_part(consumercode, ':', 1) as "propertytaxuniqueid", + --to_char((To_timestamp(payd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS "transcationdate", + --payd.receiptnumber as "receiptnumber", + pt.propertyid as "propertytaxuniqueid", + string_agg(pt.oldpropertyid,',') as "existingpropertyid", + --concat(to_char((To_timestamp(billd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(billd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) AS "financialyear", + split_part(string_agg(eu."name",','),',',1) as "ownername", --first owner + --eu.guardian as "guardianname", + string_agg(pot.propertytype,',') as "propertytype", + split_part(string_agg(eu.mobilenumber,','),',',1) as "mobileno", + --string_agg(distinct REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',', pta.pincode), ',+', ','), '^,|,$', ''),',') as "address", + string_agg(distinct concat(pta.doorno,',',pta.plotno,',',pta.buildingname,',',pta.street,',',pta.landmark,',',eg_bndry_mohalla.localityname,',',pta.city),',') as "address" + from eg_pt_property pt + --inner join egcl_payment as payment on payment.id = payd.paymentid + --inner join egcl_bill as bill on bill.id = payd.billid + --inner join egcl_billdetial as billd on billd.billid=bill.id + --inner join as pt on pt.propertyid = bill.consumercode + inner join eg_pt_owner as po on po.propertyid = pt.id and po.status='ACTIVE' + inner join eg_user as eu on eu.uuid = po.userid + inner join eg_pt_address as pta on pta.propertyid = pt.id + inner join eg_pt_unit_v2_ot as pot on pot.propertyid = pt.id + inner join eg_bndry_mohalla on eg_bndry_mohalla.localitycode=pta.locality + where pt.tenantid = $tenantid + --and bill.consumercode not in (select consumercode from egcl_bill where tenantid=$tenantid and businessservice='PT' and id in (select billid from egcl_billdetial where tenantid=$tenantid and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) ='2020-21')) + and pt.status!='INACTIVE' + and pt.propertyid not in (select consumercode from egcl_bill where tenantid=$tenantid and businessservice='PT' and id in (select billid from egcl_billdetial where tenantid=$tenantid and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) ='2020-21')) + groupby: group by pt.propertyid + +- reportName: ULBDEFAULTERPTREPORT_NEW_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: financailyear + label: reports.pt.financailyear + type: string + source: pt + total: false + - name: amountcollected + label: reports.pt.amountcollected + type: string + source: pt + total: true + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: blockcode + label: reports.pt.blockname + type: string + source: pt + total: false + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with props as + (select + pt.propertyid as "propertytaxuniqueid", + string_agg(distinct collection.finyear, ', ') as "financailyear" , + --string_agg(collection.taxpaid::varchar, ', ') as "amountcollected" , + max(collection.taxpaid) as "amountcollected" , + string_agg(distinct pt.oldpropertyid,',') as "existingpropertyid", + split_part(string_agg(eu."name",','),',',1) as "ownername", + string_agg(pot.propertytype,',') as "propertytype", + split_part(string_agg(eu.mobilenumber,','),',',1) as "mobileno", + string_agg(distinct REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',',pta.localityname,',', pta.pincode), ',+', ','), '^,|,$', ''),',') as "address", + string_agg(distinct blockcode,',') as blockcode + from eg_pt_property pt + inner join (select a.consumercode, to_char((To_timestamp(a.taxperiodfrom/1000) at time Zone 'Asia/Kolkata'),'YYYY')||'-'||to_char((To_timestamp(a.taxperiodfrom/1000) at time Zone 'Asia/Kolkata'),'YYYY')::int+1 as finyear, a.tax, a.taxpaid from (select d.consumercode, d.taxperiodfrom, sum(dd.taxamount) tax, sum(dd.collectionamount) as taxpaid + from egbs_demanddetail_v1 dd, egbs_demand_v1 d + where dd.demandid=d.id + and d.status!='CANCELLED' and dd.tenantid=$tenantid and d.tenantid=$tenantid and d.consumercode like 'PT%' + group by d.consumercode, d.taxperiodfrom + having sum(dd.taxamount - dd.collectionamount)=0) a, + (select d.consumercode, max(d.taxperiodfrom) maxperiod + from egbs_demanddetail_v1 dd, egbs_demand_v1 d + where dd.demandid=d.id + and d.status!='CANCELLED' and dd.tenantid=$tenantid and d.tenantid=$tenantid and d.consumercode like 'PT%' + group by d.consumercode + having sum(dd.taxamount - dd.collectionamount)=0) b + where a.consumercode=b.consumercode and a.taxperiodfrom=b.maxperiod + ) collection ON collection.consumercode = pt.propertyid + inner join (SELECT DISTINCT ON (propertyid) propertyid ,name as name , mobilenumber + FROM eg_pt_owner , eg_user + WHERE uuid = userid and eg_pt_owner.tenantid=$tenantid + AND status = 'ACTIVE' + AND active = true ) eu ON pt.id=eu.propertyid + inner join (SELECT propertyid , locality,blockcode,doorno,street,buildingname,pincode,localityname, max(createdtime) + from eg_pt_address inner join eg_bndry_mohalla on eg_bndry_mohalla.localitycode=locality where eg_pt_address.tenantid=$tenantid + group by propertyid, locality, doorno,street,buildingname,pincode,localityname,blockcode) pta ON pt.id=pta.propertyid + inner join (select propertyid, + string_agg(distinct pu.occupancytype, ',') as occupancytype, + string_agg(distinct Initcap(case when usagecategory like '%.%' then split_part(usagecategory,'.',2) else usagecategory end),',') as propertytype + from eg_pt_unit as pu + where pu.tenantid = $tenantid + group by propertyid) pot ON pot.propertyid = pt.id + where pt.tenantid = $tenantid + and pt.status!='INACTIVE' + and pt.propertyid not in ( + + select consumercode from egcl_bill + where tenantid=$tenantid + and businessservice='PT' + and id in (select billid + from egcl_billdetial + where tenantid=$tenantid and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) ='2020-21')) + group by pt.propertyid + ), + prop2019 as + ( + select + oldpropertyid as oldpropertyid, + pt.propertyid as propertyid + from eg_pt_property pt + inner join eg_pt_assessment as assessment on assessment.propertyid=pt.propertyid and assessment.assessmentyear='2019-20' and assessment.tenantid=$tenantid + where pt.tenantid=$tenantid + group by pt.propertyid,oldpropertyid + ) + select * from props + where propertytaxuniqueid not in (select propertyid from prop2019 where oldpropertyid in (select concat('RID',previous_returnid) from ikon_2020_21_non_migrated_records where tenantid=$tenantid)) + +- reportName: ULBDEFAULTERPTREPORT_FY_SEARCH + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: financailyear + label: reports.pt.financailyear + type: string + source: pt + total: false + - name: amountcollected + label: reports.pt.amountcollected + type: string + source: pt + total: true + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: blockcode + label: reports.pt.blockname + type: string + source: pt + total: false + searchParams: + - name: finYear + label: Financial Year + type: singlevaluelist + pattern: 'list://2015-16:2015-16,2016-17:2016-17,2017-18:2017-18,2017-18:2017-18,2018-19:2018-19,2019-20:2019-20,2020-21:2020-21,2021-22:2021-22,2022-23:2022-23,2023-24:2023-24' + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with props as + (select + pt.propertyid as "propertytaxuniqueid", + string_agg(distinct collection.finyear, ', ') as "financailyear" , + --string_agg(collection.taxpaid::varchar, ', ') as "amountcollected" , + max(collection.taxpaid) as "amountcollected" , + string_agg(distinct pt.oldpropertyid,',') as "existingpropertyid", + split_part(string_agg(eu."name",','),',',1) as "ownername", + string_agg(pot.propertytype,',') as "propertytype", + split_part(string_agg(eu.mobilenumber,','),',',1) as "mobileno", + string_agg(distinct REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',',pta.localityname,',', pta.pincode), ',+', ','), '^,|,$', ''),',') as "address", + string_agg(distinct blockcode,',') as blockcode + from eg_pt_property pt + inner join (select a.consumercode, to_char((To_timestamp(a.taxperiodfrom/1000) at time Zone 'Asia/Kolkata'),'YYYY')||'-'||to_char((To_timestamp(a.taxperiodfrom/1000) at time Zone 'Asia/Kolkata'),'YYYY')::int+1 as finyear, a.tax, a.taxpaid from (select d.consumercode, d.taxperiodfrom, sum(dd.taxamount) tax, sum(dd.collectionamount) as taxpaid + from egbs_demanddetail_v1 dd, egbs_demand_v1 d + where dd.demandid=d.id + and d.status!='CANCELLED' and dd.tenantid=$tenantid and d.tenantid=$tenantid and d.consumercode like 'PT%' + group by d.consumercode, d.taxperiodfrom + having sum(dd.taxamount - dd.collectionamount)=0) a, + (select d.consumercode, max(d.taxperiodfrom) maxperiod + from egbs_demanddetail_v1 dd, egbs_demand_v1 d + where dd.demandid=d.id + and d.status!='CANCELLED' and dd.tenantid=$tenantid and d.tenantid=$tenantid and d.consumercode like 'PT%' + group by d.consumercode + having sum(dd.taxamount - dd.collectionamount)=0) b + where a.consumercode=b.consumercode and a.taxperiodfrom=b.maxperiod + ) collection ON collection.consumercode = pt.propertyid + inner join (SELECT DISTINCT ON (propertyid) propertyid ,name as name , mobilenumber + FROM eg_pt_owner , eg_user + WHERE uuid = userid and eg_pt_owner.tenantid=$tenantid + AND status = 'ACTIVE' + AND active = true ) eu ON pt.id=eu.propertyid + inner join (SELECT propertyid , locality,blockcode,doorno,street,buildingname,pincode,localityname, max(createdtime) + from eg_pt_address inner join eg_bndry_mohalla on eg_bndry_mohalla.localitycode=locality where eg_pt_address.tenantid=$tenantid + group by propertyid, locality, doorno,street,buildingname,pincode,localityname,blockcode) pta ON pt.id=pta.propertyid + inner join (select propertyid, + string_agg(distinct pu.occupancytype, ',') as occupancytype, + string_agg(distinct Initcap(case when usagecategory like '%.%' then split_part(usagecategory,'.',2) else usagecategory end),',') as propertytype + from eg_pt_unit as pu + where pu.tenantid = $tenantid + group by propertyid) pot ON pot.propertyid = pt.id + where pt.tenantid = $tenantid + and pt.status!='INACTIVE' + and pt.propertyid not in ( + select consumercode from egcl_bill + where tenantid=$tenantid + and businessservice='PT' + and id in (select billid + from egcl_billdetial + where tenantid=$tenantid and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) =$finYear)) + group by pt.propertyid + ) + select * from props where 1=1 + --where propertytaxuniqueid not in (select propertyid from prop2019 where oldpropertyid in (select concat('RID',previous_returnid) from ikon_2020_21_non_migrated_records where tenantid=$tenantid)) + +- reportName: ULBDEFAULTERPTREPORT_MINI_STATE_V2_OLD + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND pt.tenantid = $ulb + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with eg_pt_unit_v2_ot as ( + select + propertyid, + string_agg(distinct pu.occupancytype, ',') as occupancytype, + --string_agg(distinct coalesce(usagecategory), ',') as propertytype + string_agg(distinct Initcap(case when usagecategory like '%.%' then split_part(usagecategory,'.',2) else usagecategory end),',') as propertytype + from eg_pt_unit as pu + where pu.tenantid = $ulb + group by propertyid + ), + prop2019 as + ( + select + oldpropertyid as oldpropertyid, + pt.propertyid as propertyid + from eg_pt_property pt + inner join eg_pt_assessment as assessment on assessment.propertyid=pt.propertyid and assessment.assessmentyear='2019-20' and assessment.tenantid=$ulb + where pt.tenantid=$ulb + group by pt.propertyid,oldpropertyid + ) + select + --distinct on (payd.receiptnumber) + --initcap(split_part(payd.tenantid, '.', 2)) as "ulb", + --split_part(consumercode, ':', 1) as "propertytaxuniqueid", + --to_char((To_timestamp(payd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS "transcationdate", + --payd.receiptnumber as "receiptnumber", + pt.propertyid as "propertytaxuniqueid", + string_agg(pt.oldpropertyid,',') as "existingpropertyid", + --concat(to_char((To_timestamp(billd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(billd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) AS "financialyear", + split_part(string_agg(eu."name",','),',',1) as "ownername", + --eu.guardian as "guardianname", + string_agg(pot.propertytype,',') as "propertytype", + split_part(string_agg(eu.mobilenumber,','),',',1) as "mobileno", + string_agg(distinct REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',', pta.pincode), ',+', ','), '^,|,$', ''),',') as "address" + from eg_pt_property pt + --inner join egcl_payment as payment on payment.id = payd.paymentid + --inner join egcl_bill as bill on bill.id = payd.billid + --inner join egcl_billdetial as billd on billd.billid=bill.id + --inner join as pt on pt.propertyid = bill.consumercode + inner join eg_pt_owner as po on po.propertyid = pt.id and po.status='ACTIVE' + inner join eg_user as eu on eu.uuid = po.userid + inner join eg_pt_address as pta on pta.propertyid = pt.id + inner join eg_pt_unit_v2_ot as pot on pot.propertyid = pt.id + where pt.tenantid = $ulb + --and bill.consumercode not in (select consumercode from egcl_bill where tenantid=$ulb and businessservice='PT' and id in (select billid from egcl_billdetial where tenantid=$ulb and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) ='2020-21')) + and pt.status!='INACTIVE' + and pt.propertyid not in (select consumercode from egcl_bill where tenantid=$ulb and businessservice='PT' and id in (select billid from egcl_billdetial where tenantid=$ulb and concat(to_char((To_timestamp(fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-',to_char((To_timestamp(toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')) ='2020-21')) + and pt.propertyid not in (select propertyid from prop2019 where oldpropertyid in (select concat('RID',previous_returnid) from ikon_2020_21_non_migrated_records where tenantid=$ulb)) + groupby: group by pt.propertyid + +- reportName: ULBDEFAULTERPTREPORT_MINI_STATE_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + select mobilenumber,name from eg_user + where uuid in (select userid from eg_pt_owner where propertyid in + (select id from eg_pt_property where status='ACTIVE' and tenantid=$ulb + and propertyid in (select consumercode from egcl_bill where id in (select billid from egcl_billdetial where fromperiod=1554076800000 and toperiod=1585699199000 and tenantid=$ulb and amountpaid>100000) and businessservice='PT') + and propertyid not in (select consumercode from egcl_bill where id in (select billid from egcl_billdetial where fromperiod=1585699200000 and toperiod=1617215399000 and tenantid=$ulb ) and businessservice='PT') + )) + +- reportName: ZoneFYReport_V2 + summary: Zone FY Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: zonecode + label: reports.pt.zonename + type: string + source: pt + total: false + - name: 2013_14PTR + label: reports.pt.2013_14_PTR + type: string + source: pt + total: true + - name: 2013_14Collection + label: reports.pt.2013_14Collection + type: string + source: pt + total: true + - name: 2014_15PTR + label: reports.pt.2014_15_PTR + type: string + source: pt + total: true + - name: 2014_15Collection + label: reports.pt.2014_15Collection + type: string + source: pt + total: true + - name: 2015_16PTR + label: reports.pt.2015_16_PTR + type: string + source: pt + total: true + - name: 2015_16Collection + label: reports.pt.2015_16Collection + type: string + source: pt + total: true + - name: 2016_17PTR + label: reports.pt.2016_17_PTR + type: string + source: pt + total: true + - name: 2016_17Collection + label: reports.pt.2016_17Collection + type: string + source: pt + total: true + - name: 2017_18PTR + label: reports.pt.2017_18_PTR + type: string + source: pt + total: true + - name: 2017_18Collection + label: reports.pt.2017_18Collection + type: string + source: pt + total: true + - name: 2018_19PTR + label: reports.pt.2018_19_PTR + type: string + source: pt + total: true + - name: 2018_19Collection + label: reports.pt.2018_19Collection + type: string + source: pt + total: true + - name: 2019_20PTR + label: reports.pt.2019_20_PTR + type: string + source: pt + total: true + - name: 2019_20Collection + label: reports.pt.2019_20Collection + type: string + source: pt + total: true + - name: 2020_21PTR + label: reports.pt.2020_21_PTR + type: string + source: pt + total: true + - name: 2020_21Collection + label: reports.pt.2020_21Collection + type: string + source: pt + total: true + - name: 2021_22PTR + label: reports.pt.2021_22_PTR + type: string + source: pt + total: true + - name: 2021_22Collection + label: reports.pt.2021_22Collection + type: string + source: pt + total: true + - name: 2022_23PTR + label: reports.pt.2022_23_PTR + type: string + source: pt + total: true + - name: 2022_23Collection + label: reports.pt.2022_23Collection + type: string + source: pt + total: true + - name: totalptr + label: reports.pt.totalptr + type: string + source: pt + total: true + - name: totalcollection + label: reports.pt.totalcollection + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with fy2013 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2013-14' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + + ), + fy2014 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2014-15' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2015 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2015-16' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2016 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + inner JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2016-17' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2017 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2017-18' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2018 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2018-19' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2019 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2019-20' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2020 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2020-21' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2021 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2021-22' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2022 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2022-23' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + fy2023 as + ( + SELECT + zonecode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY'))='2023-24' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,zonecode + ), + zones as + ( + select zonecode,string_agg(distinct zonename,',') as zname from eg_bndry_mohalla where tenantid=$tenantid group by zonecode + ) + SELECT + zones.zonecode as zonecode, + zones.zname as zonename, + coalesce(fy2013.totalcount,0) as "2013_14PTR", + coalesce(fy2013.amount,0) as "2013_14Collection", + coalesce(fy2014.totalcount,0) as "2014_15PTR", + coalesce(fy2014.amount,0) as "2014_15Collection", + coalesce(fy2015.totalcount,0) as "2015_16PTR", + coalesce(fy2015.amount,0) as "2015_16Collection", + coalesce(fy2016.totalcount,0) as "2016_17PTR", + coalesce(fy2016.amount,0) as "2016_17Collection", + coalesce(fy2017.totalcount,0) as "2017_18PTR", + coalesce(fy2017.amount,0) as "2017_18Collection", + coalesce(fy2018.totalcount,0) as "2018_19PTR", + coalesce(fy2018.amount,0) as "2018_19Collection", + coalesce(fy2019.totalcount,0) as "2019_20PTR", + coalesce(fy2019.amount,0) as "2019_20Collection", + coalesce(fy2020.totalcount,0) as "2020_21PTR", + coalesce(fy2020.amount,0) as "2020_21Collection", + coalesce(fy2021.totalcount,0) as "2021_22PTR", + coalesce(fy2021.amount,0) as "2021_22Collection", + coalesce(fy2022.totalcount,0) as "2022_23PTR", + coalesce(fy2022.amount,0) as "2022_23Collection", + coalesce(fy2023.totalcount,0) as "2023_24PTR", + coalesce(fy2023.amount,0) as "2023_24Collection", + coalesce(fy2013.totalcount,0)+coalesce(fy2014.totalcount,0)+coalesce(fy2015.totalcount,0)+coalesce(fy2016.totalcount,0)+coalesce(fy2017.totalcount,0)+coalesce(fy2018.totalcount,0)+coalesce(fy2019.totalcount,0)+coalesce(fy2020.totalcount,0)+coalesce(fy2021.totalcount,0)+coalesce(fy2022.totalcount,0)+coalesce(fy2023.totalcount,0) as "totalptr", + coalesce(fy2013.amount,0)+coalesce(fy2014.amount,0)+coalesce(fy2015.amount,0)+coalesce(fy2016.amount,0)+coalesce(fy2017.amount,0)+coalesce(fy2018.amount,0)+coalesce(fy2019.amount,0)+coalesce(fy2020.amount,0)+coalesce(fy2021.amount,0)+coalesce(fy2022.amount,0)+coalesce(fy2023.amount,0) as "totalcollection" + from zones + left outer join fy2013 on fy2013.zonecode=zones.zonecode + left outer join fy2014 on fy2014.zonecode=zones.zonecode + left outer join fy2015 on fy2015.zonecode=zones.zonecode + left outer join fy2016 on fy2016.zonecode=zones.zonecode + left outer join fy2017 on fy2017.zonecode=zones.zonecode + left outer join fy2018 on fy2018.zonecode=zones.zonecode + left outer join fy2019 on fy2019.zonecode=zones.zonecode + left outer join fy2020 on fy2020.zonecode=zones.zonecode + left outer join fy2021 on fy2021.zonecode=zones.zonecode + left outer join fy2022 on fy2022.zonecode=zones.zonecode + left outer join fy2023 on fy2023.zonecode=zones.zonecode + where 1=1 + orderby: order by zonename + + +- reportName: BlockFYReport_V2 + summary: Block FY Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: 2013_14PTR + label: reports.pt.2013_14_PTR + type: string + source: pt + total: true + - name: 2013_14Collection + label: reports.pt.2013_14Collection + type: string + source: pt + total: true + - name: 2014_15PTR + label: reports.pt.2014_15_PTR + type: string + source: pt + total: true + - name: 2014_15Collection + label: reports.pt.2014_15Collection + type: string + source: pt + total: true + - name: 2015_16PTR + label: reports.pt.2015_16_PTR + type: string + source: pt + total: true + - name: 2015_16Collection + label: reports.pt.2015_16Collection + type: string + source: pt + total: true + - name: 2016_17PTR + label: reports.pt.2016_17_PTR + type: string + source: pt + total: true + - name: 2016_17Collection + label: reports.pt.2016_17Collection + type: string + source: pt + total: true + - name: 2017_18PTR + label: reports.pt.2017_18_PTR + type: string + source: pt + total: true + - name: 2017_18Collection + label: reports.pt.2017_18Collection + type: string + source: pt + total: true + - name: 2018_19PTR + label: reports.pt.2018_19_PTR + type: string + source: pt + total: true + - name: 2018_19Collection + label: reports.pt.2018_19Collection + type: string + source: pt + total: true + - name: 2019_20PTR + label: reports.pt.2019_20_PTR + type: string + source: pt + total: true + - name: 2019_20Collection + label: reports.pt.2019_20Collection + type: string + source: pt + total: true + - name: 2020_21PTR + label: reports.pt.2020_21_PTR + type: string + source: pt + total: true + - name: 2020_21Collection + label: reports.pt.2020_21Collection + type: string + source: pt + total: true + - name: 2021_22PTR + label: reports.pt.2020_21_PTR + type: string + source: pt + total: true + - name: 2021_22Collection + label: reports.pt.2020_21Collection + type: string + source: pt + total: true + - name: 2022_23PTR + label: reports.pt.2022_23_PTR + type: string + source: pt + total: true + - name: 2021_22Collection + label: reports.pt.2022_23Collection + type: string + source: pt + total: true + - name: totalptr + label: reports.pt.totalptr + type: string + source: pt + total: true + - name: totalcollection + label: reports.pt.totalcollection + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with fy2013 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2013-14' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + + ), + fy2014 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2014-15' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2015 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2015-16' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2016 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + inner JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2016-17' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2017 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2017-18' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2018 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2018-19' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2019 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2019-20' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2020 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2020-21' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2021 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2021-22' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2022 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2022-23' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + fy2023 as + ( + SELECT + blockcode, + sum(payment.totalamountpaid) as amount, + count(payment.totalamountpaid) as totalcount, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY')) as financialyear + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, egcl_bill bill, + (select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode= pt_addr.locality and eg_bndry_mohalla.tenantid=$tenantid + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bill.consumercode and pt.status!='INACTIVE' and pt_addr.propertyid=pt.id + and concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time zone 'Asia/Kolkata'),'YY'))='2023-24' + and pd.receiptdate>=$fromDate and pd.receiptdate<=$toDate + GROUP BY financialyear,blockcode + ), + blocks as + ( + select blockcode,string_agg(distinct blockname,',') as zname from eg_bndry_mohalla where tenantid=$tenantid group by blockcode + ) + SELECT + blocks.blockcode as blockcode, + blocks.zname as blockname, + coalesce(fy2013.totalcount,0) as "2013_14PTR", + coalesce(fy2013.amount,0) as "2013_14Collection", + coalesce(fy2014.totalcount,0) as "2014_15PTR", + coalesce(fy2014.amount,0) as "2014_15Collection", + coalesce(fy2015.totalcount,0) as "2015_16PTR", + coalesce(fy2015.amount,0) as "2015_16Collection", + coalesce(fy2016.totalcount,0) as "2016_17PTR", + coalesce(fy2016.amount,0) as "2016_17Collection", + coalesce(fy2017.totalcount,0) as "2017_18PTR", + coalesce(fy2017.amount,0) as "2017_18Collection", + coalesce(fy2018.totalcount,0) as "2018_19PTR", + coalesce(fy2018.amount,0) as "2018_19Collection", + coalesce(fy2019.totalcount,0) as "2019_20PTR", + coalesce(fy2019.amount,0) as "2019_20Collection", + coalesce(fy2020.totalcount,0) as "2020_21PTR", + coalesce(fy2021.amount,0) as "2021_22Collection", + coalesce(fy2021.totalcount,0) as "2021_22PTR", + coalesce(fy2020.amount,0) as "2020_21Collection", + coalesce(fy2022.totalcount,0) as "2022_23PTR", + coalesce(fy2022.amount,0) as "2022_23Collection", + coalesce(fy2013.totalcount,0)+coalesce(fy2014.totalcount,0)+coalesce(fy2015.totalcount,0)+coalesce(fy2016.totalcount,0)+coalesce(fy2017.totalcount,0)+coalesce(fy2018.totalcount,0)+coalesce(fy2019.totalcount,0)+coalesce(fy2020.totalcount,0)+coalesce(fy2021.totalcount,0)+coalesce(fy2022.totalcount,0)+coalesce(fy2023.totalcount,0) as "totalptr", + coalesce(fy2013.amount,0)+coalesce(fy2014.amount,0)+coalesce(fy2015.amount,0)+coalesce(fy2016.amount,0)+coalesce(fy2017.amount,0)+coalesce(fy2018.amount,0)+coalesce(fy2019.amount,0)+coalesce(fy2020.amount,0)+coalesce(fy2021.amount,0)+coalesce(fy2022.amount,0)+coalesce(fy2023.amount,0) as "totalcollection" + from blocks + left outer join fy2013 on fy2013.blockcode=blocks.blockcode + left outer join fy2014 on fy2014.blockcode=blocks.blockcode + left outer join fy2015 on fy2015.blockcode=blocks.blockcode + left outer join fy2016 on fy2016.blockcode=blocks.blockcode + left outer join fy2017 on fy2017.blockcode=blocks.blockcode + left outer join fy2018 on fy2018.blockcode=blocks.blockcode + left outer join fy2019 on fy2019.blockcode=blocks.blockcode + left outer join fy2020 on fy2020.blockcode=blocks.blockcode + left outer join fy2021 on fy2021.blockcode=blocks.blockcode + left outer join fy2022 on fy2022.blockcode=blocks.blockcode + left outer join fy2023 on fy2023.blockcode=blocks.blockcode + where 1=1 + orderby: order by blockname + +- reportName: TopPayersReport_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: consumercode + label: reports.pt.consumercode + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptnumber + type: string + source: pt + total: false + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobilenumber + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND egcl_billdetial.tenantid=$ulb + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + select distinct bill.consumercode,pt.usagecategory,pd.receiptnumber ,p.totalamountpaid, + concat(pa.doorno,' ',pa.buildingname,pa.street,' ',pa.city,' ,',pa.pincode) as address, u.name as ownername, u.mobilenumber as mobileno + from egcl_payment p inner join + egcl_paymentdetail pd on pd.paymentid=p.id and p.paymentstatus !='CANCELLED' and p.tenantid=$tenantid + and pd.businessservice='PT' inner join egcl_bill bill on bill.id=pd.billid inner join eg_pt_property pt + on bill.consumercode=pt.propertyid and pt.status='ACTIVE' and + pt.usagecategory like '%NONRESIDENTIAL.INDUSTRIAL%' inner join eg_pt_address pa on pa.propertyid=pt.id inner join eg_pt_owner po on + po.propertyid=pt.id inner join eg_user u on u.uuid=po.userid and u.active=true + + orderby: order by p.totalamountpaid desc limit 150 + +- reportName: PendingPTApplicationsReport_V2 + summary: ULB-wise PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: tenantid + label: reports.pt.tenantid + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: applicationnumber + label: reports.pt.applicationnumber + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: status + label: reports.pt.status + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: channel + label: reports.pt.channel + type: string + source: pt + total: false + - name: createdon + label: reports.pt.createdon + type: string + source: pt + total: false + query: | + select + tenantid, + propertyid, + acknowldgementnumber as applicationnumber, + oldpropertyid, + status, + propertytype, + usagecategory, + channel, + to_char((To_timestamp(createdtime/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as createdon + from eg_pt_property where status='INWORKFLOW' and tenantid=$tenantid + +- reportName: StatusReport_V2 + decryptionPathId: StatusReport_V2 + summary: Status Report + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: applicationnumber + label: reports.pt.applicationnumber + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: createdtime + label: reports.pt.createdtime + type: string + source: pt + total: false + - name: createdby + label: reports.pt.createdby + type: string + source: pt + total: false + - name: zone + label: reports.pt.zone + type: string + source: pt + total: false + - name: block + label: reports.pt.block + type: string + source: pt + total: false + - name: localityname + label: reports.pt.localityname + type: string + source: pt + total: false + - name: approvedby + label: reports.pt.approvedby + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: status + label: reports.pt.status + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND propety.createdtime >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND propety.createdtime <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + propety.propertyid, propety.acknowldgementnumber as applicationnumber, propety.usagecategory, + to_char((To_timestamp(propety.createdtime/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS createdtime, + (case when eu.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eu.name end) AS createdby, + localnames.zonecode AS zone, localnames.blockcode AS block, localnames.localityname AS localityname, + REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.buildingname, ',',pta.street,',', pta.pincode), ',+', ','), '^,|,$', '') as "address", pt_detail.financialyear, propety.status, + (case when propety.status = 'INWORKFLOW' then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else euser.name end) as approvedby + FROM eg_pt_property as propety + Left outer join eg_user as eu on eu.uuid = propety.createdby + Left outer join eg_user as euser on euser.uuid = propety.lastmodifiedby + Left outer join eg_pt_address as pta on pta.propertyid = propety.id + INNER join eg_pt_propertydetail_v2 pt_detail ON pt_detail.property = propety.propertyid + Left outer join egcl_bill as bill on bill.consumercode = propety.propertyid + Left outer join eg_bndry_mohalla as localnames on pta.locality=localnames.localitycode + WHERE propety.tenantid=$tenantid AND propety.acknowldgementnumber NOTNULL AND propety.status='ACTIVE' + orderby: ORDER BY propety.createdtime DESC + +- reportName: ULBPTData + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB-wise PT Data + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: useruuid + label: reports.pt.useruuid + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pt.createdtime >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pt.createdtime <= $toDate + query: | + select pt.propertyid as propertyid, u.name as ownername, u.guardian as guardianname, u.mobilenumber as mobileno, u.uuid as useruuid from eg_pt_property pt, eg_pt_owner po, eg_user u where pt.id=po.propertyid and po.userid=u.uuid and pt.status='ACTIVE' and po.status='ACTIVE' and pt.tenantid=$tenantid + orderby: ORDER BY pt.propertyid DESC NULLS LAST + +- reportName: PTReportforGISMapping + decryptionPathId: ULBPTDataDumpReport_V2 + summary: PT Report for GIS Mapping + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: applicationnumber + label: reports.pt.applicationnumber + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: nooffloors + label: reports.pt.nooffloors + type: string + source: pt + total: false + - name: landarea + label: reports.pt.landarea + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: locality + label: reports.pt.locality + type: string + source: pt + total: false + - name: localityname + label: reports.pt.localityname + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND p.createdtime >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND p.createdtime <= $toDate + query: | + select distinct p.propertyid,p.nooffloors,p.landarea,p.usagecategory,p.surveyid,p.oldpropertyid,u.name as ownername, + u.guardian as guardianname,u.mobilenumber as mobileno, a.locality,localnames.localityname as localityname + from eg_pt_property as p inner join eg_pt_owner as o on p.id=o.propertyid and o.tenantid=$tenantid inner join eg_user as u + on o.userid=u.uuid and o.status='ACTIVE' inner join eg_pt_address as a on p.id=a.propertyid + left outer join eg_bndry_mohalla as localnames on a.locality=localnames.localitycode + where p.tenantid=$tenantid and p.status='ACTIVE' + and + o.propertyid in (select id from eg_pt_property where tenantid=$tenantid and status='ACTIVE') + orderby: ORDER BY p.propertyid + + +- reportName: PT_DEFAULTER_REPORT_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB_PT_DEFAULTER + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyId + type: string + source: pt + total: false + - name: businessname + label: reports.pt.busnessname + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: latestfy + label: reports.pt.latestfy + type: string + source: pt + total: false + - name: max_pt_tax + label: reports.pt.max_pt_tax + type: string + source: pt + total: true + - name: max_paid + label: reports.pt.max_paid + type: string + source: pt + total: true + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusagetype + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: block + label: reports.pt.block + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: finYear + label: Financial Year + type: singlevaluelist + pattern: 'list://2015-16:2015-16,2016-17:2016-17,2017-18:2017-18,2017-18:2017-18,2018-19:2018-19,2019-20:2019-20,2020-21:2020-21,2021-22:2021-22,2022-23:2022-23,2023-24:2023-24' + source: pt + isMandatory: false + searchClause: AND 1=1 + - name: usageType + label: Usage Type + type: singlevaluelist + pattern: 'list://RESIDENTIAL:Residential,NONRESIDENTIAL:NonResidential,MIXED:Mixed' + source: pt + isMandatory: false + searchClause: AND split_part(props.propertyusagetype,'.',1) = $usageType + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND props.localitycode IN ($localityArray) + query: | + with assessments as + ( + select + propertyid, + string_agg(concat(assessmentyears,' (Rs.',totalamount,')'),', ') as fy, + max(assessmentyears) as latest_fy, + max(totalamount) as maxtotal, + max(propertytax) as max_pt_tax + from report_assessments + where tenantid=$tenantid + and propertyid not in (select propertyid from report_assessments where tenantid=$tenantid and assessmentyears =$finYear) + group by propertyid + ), + owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobileNumber,','),',',1) as mobileNumber, + propertyid + from report_owners + group by propertyid + ) + select + assessments.propertyid as propertyid, + props.oldpropertyid as oldpropertyid, + props.firmbusinessname as businessname, + assessments.fy as financialyear, + assessments.latest_fy as latestfy, + assessments.max_pt_tax as max_pt_tax, + assessments.maxtotal as max_paid, + props.propertytype as propertytype, + propertyusagetype as propertyusagetype, + concat(address,' ',localityname) as address, + blockcode as block, + owners.ownername as ownername, + owners.mobileNumber as mobileno + from report_properties props + inner join assessments on assessments.propertyid=props.propertyid + inner join owners on owners.propertyid=props.propertyid + where props.oldpropertyid not in (select concat('RID',previous_returnid) from ikon_2020_21_non_migrated_records where tenantid=$tenantid and replace(session,'-20','-')=$finYear) + +- reportName: PT_RECEIPTREGISTER_REPORT_V2 + decryptionPathId: ReceiptRegister_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.transactiondate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: paidpropertytax + label: reports.pt.paidpropertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: consumercode + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rp.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rp.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND rp.paymentmode = replace($paymentMode,',','_') + query: | + with assessments as + ( + select + billid, + sum(ra.propertytax) as propertytax, + sum(ra.paidpropertytax) as paidpropertytax, + sum(ra.firecess) as firecess, + sum(ra.cancercess) as cancercess, + sum(ra.adhocrebate) as adhocrebate, + sum(ra.rebate) as rebate, + sum(ra.penalty) as penalty, + sum(ra.adhocpenalty) as adhocpenalty, + sum(ra.interest) as interest, + sum(ra.exemption) as exemption, + sum(ra.adjustment) as roundoff + from report_assessments ra + where tenantid=$tenantid + group by billid + ) + select + rp.receiptnumber, + rp.propertyid as consumercode, + to_char((To_timestamp(rp.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as "receiptdate", + to_char((To_timestamp(rp.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as "transactiondate", + rp.paymentmode, + rp.g8_issuedate as g8issuedate, + rp.g8_receiptnumber as g8receiptno, + rp.amoutpaid as amount, + rp.paymentmode as instrumenttype, + asmt.propertytax as propertytax, + asmt.paidpropertytax as paidpropertytax, + asmt.firecess as firecess, + asmt.cancercess as cancercess, + asmt.adhocrebate as adhocrebate, + asmt.rebate as rebate, + asmt.penalty as penalty, + asmt.adhocpenalty as adhocpenalty, + asmt.interest as interest, + asmt.exemption as exemption, + asmt.roundoff as adjustment, + (case when rp.collectedby is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else rp.collectedby end) as collectorname + from report_payments as rp + inner join assessments as asmt on asmt.billid = rp.billid -- asmt.billid like concat('%',rp.billid,'%') + where rp.paymentstatus!='CANCELLED' and rp.tenantid=$tenantid + orderby: order by receiptnumber + + + + +- reportName: PT_DATA_DUMP_REPORT_V2 + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.propertyusagetype + type: string + source: pt + total: false + - name: localityname + label: reports.pt.localityname + type: string + source: pt + total: false + - name: totalarea + label: reports.pt.totalarea + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND rp.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND rp.receiptdate <= $toDate + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt.localitycode IN ($localityArray) + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobilenumber,','),',',1) as mobilenumber, + split_part(string_agg(guardianname,','),',',1) as guardianname, + --split_part(string_agg(emailid,','),',',1) as emailid, + propertyid + from report_owners where status='ACTIVE' and tenantid=$tenantid + group by propertyid + ), + units as + ( + select + propertyid + --sum(builtuparea) as builtuparea, + --string_agg(occupancytype,',') as occupancytype + from report_units + where active='true' and tenantid=$tenantid + group by propertyid + ) + --payments as + --( + --select propertyid, sum(amoutpaid) as amountpaid from report_payments where tenantid=$tenantid and paymentstatus!='CANCELLED' + --group by propertyid + + --) + select + --rp.billid, + --ra.billid, + pt.tenantid as ulb, + pt.propertyid as propertytaxuniqueid, + --to_char((To_timestamp(rp.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as "transactiondate", + --rp.receiptnumber as receiptnumber, + --to_char((To_timestamp(rp.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS "paymentdate", + --rp.paymentmode as paymentmode, + pt.oldpropertyid as existingpropertyid, + --ra.assessmentyears as financialyear, + --getfinancialyear(rp.billid) as financialyear, + owners.ownername as ownername, + owners.guardianname as guardianname, + owners.mobilenumber as mobileno, + pt.plotsize as totalarea, + --ru.builtuparea as builtarea, + --pt.nooffloors as floors, + --ru.occupancytype as occupancy, + --pt.propertytype as propertytype, + --rp.payermobilenumber as mobilenumber, + --ra.totalamount as paymentamount, + --rp.amoutpaid as paymentamount, + --rp.transactiondate as transcationdate, + --owners.emailid as emailid, + pt.address as address, + pt.surveyid, + --pt.additionaldetails->>'remarks' as remarks, + --pt.additionaldetails->>'businessName' as firmbusinessname, + pt.firmbusinessname as businessname, + --pt.localitycode as localitycode, + pt.localityname as localityname, + --pt.zonename as zonename, + --pt.blockname as blockname, + pt.propertyusagetype as usagetype + from report_properties pt + inner join units as ru on ru.propertyid=pt.propertyid + inner join report_payments as rp on rp.propertyid=pt.propertyid and rp.paymentstatus!='CANCELLED' + --inner join report_assessments ra on split_part(ra.billid,',',1)=rp.billid and ra.propertyid=rp.propertyid + inner join owners on owners.propertyid=pt.propertyid and propertystatus='ACTIVE' + where pt.tenantid=$tenantid + + +- reportName: PT_ZoneFYReport_V2 + summary: Zone FY Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: zonename + label: reports.pt.zonename + type: string + source: pt + total: false + - name: 2013_14PTR + label: reports.pt.2013_14_PTR + type: string + source: pt + total: true + - name: 2013_14Collection + label: reports.pt.2013_14Collection + type: string + source: pt + total: true + - name: 2014_15PTR + label: reports.pt.2014_15_PTR + type: string + source: pt + total: true + - name: 2014_15Collection + label: reports.pt.2014_15Collection + type: string + source: pt + total: true + - name: 2015_16PTR + label: reports.pt.2015_16_PTR + type: string + source: pt + total: true + - name: 2015_16Collection + label: reports.pt.2015_16Collection + type: string + source: pt + total: true + - name: 2016_17PTR + label: reports.pt.2016_17_PTR + type: string + source: pt + total: true + - name: 2016_17Collection + label: reports.pt.2016_17Collection + type: string + source: pt + total: true + - name: 2017_18PTR + label: reports.pt.2017_18_PTR + type: string + source: pt + total: true + - name: 2017_18Collection + label: reports.pt.2017_18Collection + type: string + source: pt + total: true + - name: 2018_19PTR + label: reports.pt.2018_19_PTR + type: string + source: pt + total: true + - name: 2018_19Collection + label: reports.pt.2018_19Collection + type: string + source: pt + total: true + - name: 2019_20PTR + label: reports.pt.2019_20_PTR + type: string + source: pt + total: true + - name: 2019_20Collection + label: reports.pt.2019_20Collection + type: string + source: pt + total: true + - name: 2020_21PTR + label: reports.pt.2020_21_PTR + type: string + source: pt + total: true + - name: 2020_21Collection + label: reports.pt.2020_21Collection + type: string + source: pt + total: true + - name: 2021_22PTR + label: reports.pt.2021_22_PTR + type: string + source: pt + total: true + - name: 2021_22Collection + label: reports.pt.2021_22Collection + type: string + source: pt + total: true + - name: 2022_23PTR + label: reports.pt.2022_23_PTR + type: string + source: pt + total: true + - name: 2022_23Collection + label: reports.pt.2022_23Collection + type: string + source: pt + total: true + - name: 2023_24PTR + label: reports.pt.2023_24_PTR + type: string + source: pt + total: true + - name: 2023_24Collection + label: reports.pt.2023_24Collection + type: string + source: pt + total: true + - name: totalptr + label: reports.pt.totalptr + type: string + source: pt + total: true + - name: totalcollection + label: reports.pt.totalcollection + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with summary as + ( + select + assessmentyears, + zonename, + sum(totalamount) as amount, + count(distinct receiptnumber) as totalcount + from report_assessments as asmt + inner join report_properties as pt on pt.propertyid=asmt.propertyid + inner join report_payments as payment on payment.billid=asmt.billid and (asmt.totalamount>0 or payment.amoutpaid=0) + where payment.paymentstatus!='CANCELLED' and pt.tenantid=$tenantid + and asmt.createdtime>=$fromDate + and asmt.createdtime<=$toDate + group by assessmentyears,zonename + ) + select + zonename, + sum(case when assessmentyears='2013-14' then amount else 0 end) as "2013_14Collection", + sum(case when assessmentyears='2013-14' then totalcount else 0 end) as "2013_14PTR", + sum(case when assessmentyears='2014-15' then amount else 0 end) as "2014_15Collection", + sum(case when assessmentyears='2014-15' then totalcount else 0 end) as "2014_15PTR", + sum(case when assessmentyears='2015-16' then amount else 0 end) as "2015_16Collection", + sum(case when assessmentyears='2015-16' then totalcount else 0 end) as "2015_16PTR", + sum(case when assessmentyears='2016-17' then amount else 0 end) as "2016_17Collection", + sum(case when assessmentyears='2016-17' then totalcount else 0 end) as "2016_17PTR", + sum(case when assessmentyears='2017-18' then amount else 0 end) as "2017_18Collection", + sum(case when assessmentyears='2017-18' then totalcount else 0 end) as "2017_18PTR", + sum(case when assessmentyears='2018-19' then amount else 0 end) as "2018_19Collection", + sum(case when assessmentyears='2018-19' then totalcount else 0 end) as "2018_19PTR", + sum(case when assessmentyears='2019-20' then amount else 0 end) as "2019_20Collection", + sum(case when assessmentyears='2019-20' then totalcount else 0 end) as "2019_20PTR", + sum(case when assessmentyears='2020-21' then amount else 0 end) as "2020_21Collection", + sum(case when assessmentyears='2020-21' then totalcount else 0 end) as "2020_21PTR", + sum(case when assessmentyears='2021-22' then amount else 0 end) as "2021_22Collection", + sum(case when assessmentyears='2021-22' then totalcount else 0 end) as "2021_22PTR", + sum(case when assessmentyears='2022-23' then amount else 0 end) as "2022_23Collection", + sum(case when assessmentyears='2022-23' then totalcount else 0 end) as "2022_23PTR", + sum(case when assessmentyears='2023-24' then amount else 0 end) as "2023_24Collection", + sum(case when assessmentyears='2023-24' then totalcount else 0 end) as "2023_24PTR", + sum(amount) as totalcollection, + sum(totalcount) as totalptr + from summary + where 1=1 + groupby: group by zonename + + +- reportName: PT_BlockFYReport_V2 + summary: Block FY Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: 2013_14PTR + label: reports.pt.2013_14_PTR + type: string + source: pt + total: true + - name: 2013_14Collection + label: reports.pt.2013_14Collection + type: string + source: pt + total: true + - name: 2014_15PTR + label: reports.pt.2014_15_PTR + type: string + source: pt + total: true + - name: 2014_15Collection + label: reports.pt.2014_15Collection + type: string + source: pt + total: true + - name: 2015_16PTR + label: reports.pt.2015_16_PTR + type: string + source: pt + total: true + - name: 2015_16Collection + label: reports.pt.2015_16Collection + type: string + source: pt + total: true + - name: 2016_17PTR + label: reports.pt.2016_17_PTR + type: string + source: pt + total: true + - name: 2016_17Collection + label: reports.pt.2016_17Collection + type: string + source: pt + total: true + - name: 2017_18PTR + label: reports.pt.2017_18_PTR + type: string + source: pt + total: true + - name: 2017_18Collection + label: reports.pt.2017_18Collection + type: string + source: pt + total: true + - name: 2018_19PTR + label: reports.pt.2018_19_PTR + type: string + source: pt + total: true + - name: 2018_19Collection + label: reports.pt.2018_19Collection + type: string + source: pt + total: true + - name: 2019_20PTR + label: reports.pt.2019_20_PTR + type: string + source: pt + total: true + - name: 2019_20Collection + label: reports.pt.2019_20Collection + type: string + source: pt + total: true + - name: 2020_21PTR + label: reports.pt.2020_21_PTR + type: string + source: pt + total: true + - name: 2020_21Collection + label: reports.pt.2020_21Collection + type: string + source: pt + total: true + - name: 2021_22PTR + label: reports.pt.2020_21_PTR + type: string + source: pt + total: true + - name: 2021_22Collection + label: reports.pt.2020_21Collection + type: string + source: pt + total: true + - name: 2022_23PTR + label: reports.pt.2022_23_PTR + type: string + source: pt + total: true + - name: 2022_23Collection + label: reports.pt.2022_23Collection + type: string + source: pt + total: true + - name: 2023_24PTR + label: reports.pt.2023_24_PTR + type: string + source: pt + total: true + - name: 2023_24Collection + label: reports.pt.2023_24Collection + type: string + source: pt + total: true + - name: totalptr + label: reports.pt.totalptr + type: string + source: pt + total: true + - name: totalcollection + label: reports.pt.totalcollection + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + with summary as + ( + select + assessmentyears, + blockname, + sum(totalamount) as amount, + count(distinct receiptnumber) as totalcount + from report_assessments as asmt + inner join report_properties as pt on pt.propertyid=asmt.propertyid + inner join report_payments as payment on payment.billid=asmt.billid and (asmt.totalamount>0 or payment.amoutpaid=0) + where payment.paymentstatus!='CANCELLED' and pt.tenantid=$tenantid + and asmt.createdtime>=$fromDate + and asmt.createdtime<=$toDate + group by assessmentyears,blockname + ) + select + blockname, + sum(case when assessmentyears='2013-14' then amount else 0 end) as "2013_14Collection", + sum(case when assessmentyears='2013-14' then totalcount else 0 end) as "2013_14PTR", + sum(case when assessmentyears='2014-15' then amount else 0 end) as "2014_15Collection", + sum(case when assessmentyears='2014-15' then totalcount else 0 end) as "2014_15PTR", + sum(case when assessmentyears='2015-16' then amount else 0 end) as "2015_16Collection", + sum(case when assessmentyears='2015-16' then totalcount else 0 end) as "2015_16PTR", + sum(case when assessmentyears='2016-17' then amount else 0 end) as "2016_17Collection", + sum(case when assessmentyears='2016-17' then totalcount else 0 end) as "2016_17PTR", + sum(case when assessmentyears='2017-18' then amount else 0 end) as "2017_18Collection", + sum(case when assessmentyears='2017-18' then totalcount else 0 end) as "2017_18PTR", + sum(case when assessmentyears='2018-19' then amount else 0 end) as "2018_19Collection", + sum(case when assessmentyears='2018-19' then totalcount else 0 end) as "2018_19PTR", + sum(case when assessmentyears='2019-20' then amount else 0 end) as "2019_20Collection", + sum(case when assessmentyears='2019-20' then totalcount else 0 end) as "2019_20PTR", + sum(case when assessmentyears='2020-21' then amount else 0 end) as "2020_21Collection", + sum(case when assessmentyears='2020-21' then totalcount else 0 end) as "2020_21PTR", + sum(case when assessmentyears='2021-22' then amount else 0 end) as "2021_22Collection", + sum(case when assessmentyears='2021-22' then totalcount else 0 end) as "2021_22PTR", + sum(case when assessmentyears='2022-23' then amount else 0 end) as "2022_23Collection", + sum(case when assessmentyears='2022-23' then totalcount else 0 end) as "2022_23PTR", + sum(case when assessmentyears='2023-24' then amount else 0 end) as "2023_24Collection", + sum(case when assessmentyears='2023-24' then totalcount else 0 end) as "2023_24PTR", + sum(amount) as totalcollection, + sum(totalcount) as totalptr + from summary + where 1=1 + groupby: group by blockname + +- reportName: PT_NO_PAYMENT_DEFAULTERS_REPORT + summary: PT NO PAYMENT DEFAULTERS_REPORT + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: tenantid + label: reports.pt.tenantid + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: firmbusinessname + label: reports.pt.firmbusinessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: zonename + label: reports.pt.zonename + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusagetype + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: superbuilduparea + label: reports.pt.superbuilduparea + type: string + source: pt + total: false + - name: nooffloors + label: reports.pt.nooffloors + type: string + source: pt + total: false + - name: ownershipcategory + label: reports.pt.ownershipcategory + type: string + source: pt + total: false + - name: source + label: reports.pt.source + type: string + source: pt + total: false + - name: channel + label: reports.pt.channel + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: propertystatus + label: reports.pt.propertystatus + type: string + source: pt + total: false + searchParams: + - name: usageType + label: Usage Type + type: singlevaluelist + pattern: 'list://RESIDENTIAL:Residential,NONRESIDENTIAL:NonResidential,MIXED:Mixed,' + source: pt + isMandatory: false + searchClause: AND split_part(propertyusagetype,'.',1) = $usageType + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND localitycode IN ($localityArray) + - name: fromPlotsize + label: reports.pt.fromPlotsize + type: string + source: pt + isMandatory: false + searchClause: AND plotsize >= ($fromPlotsize)::int + - name: toPlotsize + label: reports.pt.toPlotsize + type: string + source: pt + isMandatory: false + searchClause: AND plotsize <= ($toPlotsize)::int + query: | + select + tenantid, + propertyid, + surveyid, + oldpropertyid, + firmbusinessname, + concat(address,' ',localityname) as address, + blockname, + zonename, + plotsize, + propertyusagetype, + propertytype, + superbuilduparea, + nooffloors, + ownershipcategory, + source, + channel, + propertystatus + from report_properties_withoutdemand + where tenantid=$tenantid + +- reportName: PTReceiptRegister_7to10Sept2020 + decryptionPathId: ReceiptRegister_V2 + summary: PTReceiptRegister_7to10Sept2020 + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: consumercode + label: reports.pt.consumercode + type: string + source: pt + total: false + - name: tenantid + label: reports.pt.tenantid + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjustment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: paidpropertytax + label: reports.pt.paidpropertytax + type: string + source: pt + total: true + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.transactiondate + type: string + source: pt + total: false + - name: collectorname + label: reports.pt.collectorname + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialyear + type: string + source: pt + total: false + + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + tenantid, consumercode, surveyid, receiptdate, receiptnumber, amount, instrumenttype, transactionnumber, + financialyear, transactiondate, pendingamount, usagetype, collectorname, pdid, adhocpenalty, adhocrebate, firecess, cancercess, interest, + penalty, rebate, propertytax, paidpropertytax, exemption, adjustment, g8issuedate, g8receiptno from pt_7to10sept2020_receipts + where tenantid=$tenantid + orderby: ORDER BY receiptdate DESC; + + +- reportName: TempReport + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Temporar report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyuid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobilenumber + type: string + source: pt + total: false + searchParams: + - name: finYear + label: Financial Year + type: singlevaluelist + pattern: 'list://1554057000000:2019-20,1585679400000:2020-21,1617215400000:2021-22,1648751400000:2022-23,1648771200000:2023-24' + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + select eg_pt_owner.propertyid as propertyuid, + pt.propertyid as propertyid, + oldpropertyid, + concat(case when pta.doorno is null then '' else 'door no ' end,pta.doorno,' location ',pta.plotno,pta.buildingname,pta.street) as address, + name as ownername, + mobilenumber as mobileno + from eg_pt_owner + inner join eg_user on eg_pt_owner.userid=eg_user.uuid + inner join eg_pt_property pt on pt.id=eg_pt_owner.propertyid + inner join eg_pt_address pta on pta.propertyid=pt.id + where eg_pt_owner.propertyid in + (select id + from eg_pt_property + where tenantid=$tenantid and status='ACTIVE' and propertyid not in (select consumercode from egbs_demand_v1 where tenantid=$tenantid and businessservice='PT' and taxperiodfrom=$finYear::bigint ) -- and taxperiodfrom=1617215400000) -- 2021-22 + ) + + +- reportName: DailyCollectionReport + summary: Collection Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A4" + sourceColumns: + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: count_receipts + label: reports.pt.count + type: string + source: pt + total: true + - name: paid_without_cess + label: reports.pt.withoutCess + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: totalpaid + label: reports.pt.total + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN bad.amount ELSE 0 END) as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as paidpropertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN bad.amount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN bad.amount ELSE 0 END) ) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' + AND pd.receiptdate >= $fromDate AND pd.receiptdate <= $toDate + GROUP BY pdid + ) + SELECT + concat(payment.paymentmode,substring(instrumentnumber,0,position ('/' in instrumentnumber))) as instrumenttype, + count(*) as count_receipts, + sum(payment.totalamountpaid)-sum(receipt_breakup.firecess+receipt_breakup.cancercess) as paid_without_cess, + sum(receipt_breakup.firecess) as firecess, + sum(receipt_breakup.cancercess) as cancercess, + sum(payment.totalamountpaid) as totalpaid + FROM egcl_paymentdetail pd, egcl_payment payment , receipt_breakup + where pd.paymentid=payment.id and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and receipt_breakup.pdid=pd.id and paymentmode not in ('CHEQUE','OFFLINE_NEFT','OFFLINE_RTGS') + groupby: group by instrumenttype,substring(instrumentnumber,0,position ('/' in instrumentnumber)) + + +- reportName: DailyChequeDetail + summary: Cheque RTGS NEFT Collection Register + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptno + type: string + source: pt + total: false + - name: receiptdate + label: reports.pt.receiptdate + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.transactionno + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.transactiondate + type: string + source: pt + total: false + - name: ifsc + label: reports.pt.ifsccode + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankname + type: string + source: pt + total: false + - name: amount_without_cess + label: reports.pt.withoutCess + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: amount + label: reports.pt.total + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN bad.amount ELSE 0 END) as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) as paidpropertytax, + (SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN bad.amount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_OWNER_EXEMPTION' THEN bad.amount ELSE 0 END) ) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_ROUNDOFF' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END)) as adjustment + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' + and paymentmode in ('CHEQUE','OFFLINE_NEFT','OFFLINE_RTGS') + AND pd.receiptdate >= $fromDate AND pd.receiptdate <= $toDate + GROUP BY pdid + ) + SELECT + payment.paymentmode as instrumenttype, + receiptnumber, + to_char((To_timestamp(receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + payment.transactionnumber, + to_char((To_timestamp(payment.instrumentdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.ifsccode AS ifsc, + concat(bank_branches.bank_name,' ',bank_branches.branch) as bankname, + payment.totalamountpaid-firecess-cancercess as amount_without_cess, + receipt_breakup.firecess as firecess, + receipt_breakup.cancercess as cancercess, + payment.totalamountpaid as amount + FROM egcl_paymentdetail pd, egcl_payment payment left outer join bank_branches on bank_branches.ifsc=payment.ifsccode, receipt_breakup + where pd.paymentid=payment.id and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and receipt_breakup.pdid=pd.id and payment.paymentmode in ('CHEQUE','CARD','DD') + orderby: ORDER BY pd.receiptdate DESC; + + +- reportName: cybertech_additional_transactions + summary: CyberTech Additional Transactions + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: client_data_property_id + label: reports.pt.client_data_property_id + type: string + source: pt + total: false + - name: returnid + label: reports.pt.returnid + type: string + source: pt + total: false + - name: previousyearid + label: reports.pt.previousyearid + type: string + source: pt + total: false + - name: acknowledgementno + label: reports.pt.acknowledgementno + type: string + source: pt + total: false + - name: entrydate + label: reports.pt.entrydate + type: string + source: pt + total: false + - name: zone + label: reports.pt.zone + type: string + source: pt + total: false + - name: sector + label: reports.pt.sector + type: string + source: pt + total: false + - name: colony + label: reports.pt.colony + type: string + source: pt + total: false + - name: house_no + label: reports.pt.house_no + type: string + source: pt + total: false + - name: owner_detail + label: reports.pt.owner_detail + type: string + source: pt + total: false + - name: lease_detail + label: reports.pt.lease_detail + type: string + source: pt + total: false + - name: property_address + label: reports.pt.property_address + type: string + source: pt + total: false + - name: covered_measure_detail + label: reports.pt.covered_measure_detail + type: string + source: pt + total: false + - name: uncovered_measure_detail + label: reports.pt.uncovered_measure_detail + type: string + source: pt + total: false + - name: land_usage_type + label: reports.pt.land_usage_type + type: string + source: pt + total: false + - name: usage + label: reports.pt.usage + type: string + source: pt + total: false + - name: covered_area + label: reports.pt.covered_area + type: string + source: pt + total: false + - name: applicable_tax + label: reports.pt.applicable_tax + type: string + source: pt + total: true + - name: fire_charges + label: reports.pt.fire_charges + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: exemption_amount + label: reports.pt.exemption_amount + type: string + source: pt + total: true + - name: total_payable_tax + label: reports.pt.total_payable_tax + type: string + source: pt + total: true + - name: payment_mode + label: reports.pt.payment_mode + type: string + source: pt + total: false + - name: transaction_id + label: reports.pt.transaction_id + type: string + source: pt + total: false + - name: g8_book_no + label: reports.pt.g8_book_no + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: paymentdate + label: reports.pt.paymentdate + type: string + source: pt + total: false + - name: property_type + label: reports.pt.property_type + type: string + source: pt + total: false + - name: session + label: reports.pt.session + type: string + source: pt + total: false + - name: buildingcategory + label: reports.pt.buildingcategory + type: string + source: pt + total: false + query: | + select * from patiala_cybertech_additional_transactions + orderby: ORDER BY paymentdate + +- reportName: WithoutUpinTransactions + summary: WithoutUpinTransactions + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: client_data_property_id + label: reports.pt.client_data_property_id + type: string + source: pt + total: false + - name: level_detail_name + label: reports.pt.returnid + type: string + source: pt + total: false + - name: previousyearid + label: reports.pt.previousyearid + type: string + source: pt + total: false + - name: acknowledgementno + label: reports.pt.acknowledgementno + type: string + source: pt + total: false + - name: upin + label: reports.pt.acknowledgementno + type: string + source: pt + total: false + - name: entrydate + label: reports.pt.entrydate + type: string + source: pt + total: false + - name: zone + label: reports.pt.zone + type: string + source: pt + total: false + - name: sector + label: reports.pt.sector + type: string + source: pt + total: false + - name: colony + label: reports.pt.colony + type: string + source: pt + total: false + - name: house_no + label: reports.pt.house_no + type: string + source: pt + total: false + - name: owner_detail + label: reports.pt.owner_detail + type: string + source: pt + total: false + - name: lease_detail + label: reports.pt.lease_detail + type: string + source: pt + total: false + - name: property_address + label: reports.pt.property_address + type: string + source: pt + total: false + - name: covered_measure_detail + label: reports.pt.covered_measure_detail + type: string + source: pt + total: false + - name: uncovered_measure_detail + label: reports.pt.uncovered_measure_detail + type: string + source: pt + total: false + - name: land_usage_type + label: reports.pt.land_usage_type + type: string + source: pt + total: false + - name: usage + label: reports.pt.usage + type: string + source: pt + total: false + - name: plot_area + label: reports.pt.plot_area + type: string + source: pt + total: false + - name: covered_area + label: reports.pt.covered_area + type: string + source: pt + total: false + - name: applicable_tax + label: reports.pt.applicable_tax + type: string + source: pt + total: true + - name: fire_charges + label: reports.pt.fire_charges + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: exemption_amount + label: reports.pt.exemption_amount + type: string + source: pt + total: true + - name: total_payable_tax + label: reports.pt.total_payable_tax + type: string + source: pt + total: true + - name: payment_mode + label: reports.pt.payment_mode + type: string + source: pt + total: false + - name: cheque_no + label: reports.pt.cheque_no + type: string + source: pt + total: false + - name: cheque_realisation_date + label: reports.pt.cheque_realisation_date + type: string + source: pt + total: false + - name: cheque_status + label: reports.pt.cheque_status + type: string + source: pt + total: false + - name: remark + label: reports.pt.remark + type: string + source: pt + total: false + - name: post_tid + label: reports.pt.pos_id + type: string + source: pt + total: false + - name: pos_invoice_num + label: reports.pt.pos_invoice_num + type: string + source: pt + total: false + - name: transaction_id + label: reports.pt.transaction_id + type: string + source: pt + total: false + - name: g8_book_no + label: reports.pt.g8_book_no + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: paymentdate + label: reports.pt.paymentdate + type: string + source: pt + total: false + - name: property_type + label: reports.pt.property_type + type: string + source: pt + total: false + - name: session + label: reports.pt.session + type: string + source: pt + total: false + - name: buildingcategory + label: reports.pt.buildingcategory + type: string + source: pt + total: false + query: | + select * from patiala_without_upin_transactions + orderby: ORDER BY paymentdate + +- reportName: OCCUPANCY_TYPE_REPORT + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: Occupancy Type Report + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: propertystatus + label: reports.pt.status + type: string + source: pt + total: false + - name: firmbusinessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: localityname + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusage + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: unit + label: reports.pt.units + type: string + source: pt + total: false + - name: fy + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: occupancy + label: Occupancy Type + type: singlevaluelist + pattern: 'list://RENTED:Rented,SELFOCCUPIED:SelfOccupied,UNOCCUPIED:UnOccupied,PG:Paying Guest' + source: pt + isMandatory: false + searchClause: and units.unit like concat('%',$occupancy,'%') + query: | + -- Use CTE to force query plan, compute & use CTE later + with units as + ( + select propertyid,string_agg(concat(floorno,'/', occupancytype,'/',usagecategory,'/',builtuparea,'/',avr),' # ') as unit + from report_units + where tenantid=$tenantid + group by propertyid + ), + assessments as + ( + select + propertyid, + string_agg(distinct concat(financialyear),', ') as fy + --max(assessmentyears) as latest_fy, + --max(totalamount) as maxtotal, + --max(propertytax) as max_pt_tax + from eg_pt_asmt_assessment + where tenantid=$tenantid + group by propertyid + ), + owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobileNumber,','),',',1) as mobilenumber, + propertyid + from report_owners + where tenantid=$tenantid + group by propertyid + ) + select + props.propertyid, + oldpropertyid, + propertystatus, + firmbusinessname, + address, + localityname, + blockname, + propertyusagetype, + propertytype, + plotsize, + units.unit as unit, + assessments.fy as fy, + owners.ownername as ownername, + owners.mobilenumber as mobileno + from report_properties props + inner join units on units.propertyid=props.propertyid + left outer join assessments on assessments.propertyid=props.propertyid + inner join owners on owners.propertyid=props.propertyid + where props.tenantid=$tenantid and propertystatus!='INACTIVE' + --and assessments.fy not like '%2021-22%' + +- reportName: DEFAULTER_REPORT_WITH_LOCALITY + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: Occupancy Type Report + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: propertystatus + label: reports.pt.status + type: string + source: pt + total: false + - name: firmbusinessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: localityname + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusage + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: fy + label: reports.pt.financialyear + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: fy + label: Financial Year + type: singlevaluelist + pattern: 'list://1427846400000:2015-16,1459468800000:2016-17,1491004800000:2017-18,1522521000000:2018-19,1522540800000:2019-20,1554076800000:2020-21,1617215400000:2021-22,1648751400000:2022-23,1648771200000:2023-24' + source: pt + isMandatory: true + searchClause: and assessments.fy not like concat('%',$fy,'%') + - name: blockname + label: reports.pt.blockname + type: string + source: pt + isMandatory: false + searchClause: AND upper(blockname) LIKE CONCAT('%',upper($blockname),'%') + - name: localityname + label: reports.pt.localityname + type: string + source: pt + isMandatory: false + searchClause: AND upper(localityname) LIKE CONCAT('%',upper($localityname),'%') + query: | + -- Use CTE to force query plan, compute & use CTE later + with assessments as + ( + select + propertyid, + string_agg(distinct concat(financialyear),', ') as fy + --max(assessmentyears) as latest_fy, + --max(totalamount) as maxtotal, + --max(propertytax) as max_pt_tax + from eg_pt_asmt_assessment + where tenantid=$tenantid + group by propertyid + ), + owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobileNumber,','),',',1) as mobilenumber, + propertyid + from report_owners + where tenantid=$tenantid + group by propertyid + ) + select + props.propertyid, + oldpropertyid, + propertystatus, + firmbusinessname, + address, + localityname, + blockname, + propertyusagetype, + propertytype, + plotsize, + assessments.fy as fy, + owners.ownername as ownername, + owners.mobilenumber as mobileno + from report_properties props + left outer join assessments on assessments.propertyid=props.propertyid + left outer join owners on owners.propertyid=props.propertyid + where props.tenantid=$tenantid and propertystatus!='INACTIVE' + +- reportName: DEFAULTER_REPORT_WITH_LOCALITY_UNPAID_DEMAND + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: Occupancy Type Report + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: propertystatus + label: reports.pt.status + type: string + source: pt + total: false + - name: firmbusinessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: localityname + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusage + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: tentativedemand + label: reports.pt.tentativedemand + type: string + source: pt + total: false + - name: financialyears + label: reports.pt.financialyears + type: string + source: pt + total: false + searchParams: + - name: fy + label: Financial Year + type: singlevaluelist + pattern: 'list://1427846400000:2015-16,1459468800000:2016-17,1491004800000:2017-18,1522540800000:2018-19,1554076800000:2019-20,1585699200000:2020-21,1617215400000:2021-22,1648751400000:2022-23,1648771200000:2023-24' + source: pt + isMandatory: true + searchClause: and 1=1 + - name: usageCat + label: Usage Category + type: singlevaluelist + pattern: 'list://NONRESIDENTIAL:NONRESIDENTIAL,MIXED:MIXED,RESIDENTIAL:RESIDENTIAL' + source: pt + isMandatory: true + searchClause: and 1=1 + - name: blockname + label: reports.pt.blockname + type: string + source: pt + isMandatory: false + searchClause: AND upper(blockname) LIKE CONCAT('%',upper($blockname),'%') + - name: localityname + label: reports.pt.localityname + type: string + source: pt + isMandatory: false + searchClause: AND upper(localityname) LIKE CONCAT('%',upper($localityname),'%') + query: | + -- Use CTE to force query plan, compute & use CTE later + with properties as + ( + select distinct consumercode as propertyid from egbs_demand_v1 where taxperiodfrom::varchar=$fy and businessservice='PT' and status!='CANCELLED' + and ispaymentcompleted=false and tenantid=$tenantid + ), + props as + ( + select * from report_properties where tenantid=$tenantid and propertystatus='ACTIVE' and propertyusagetype like concat($usageCat,'%') + ), + demands as + ( + select consumercode as propertyid,sum(taxamount) as demand,string_agg(distinct to_char((To_timestamp(d.taxperiodfrom/1000) at time Zone 'Asia/Kolkata'),'YYYY'),',') as financialyears + from egbs_demand_v1 d + inner join egbs_demanddetail_v1 dd on dd.demandid=d.id + inner join properties p on p.propertyid=consumercode + where businessservice='PT' and status!='CANCELLED' + and ispaymentcompleted=false and d.tenantid=$tenantid + and taxamount!=collectionamount + group by consumercode + ), + owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobileNumber,','),',',1) as mobilenumber, + propertyid + from report_owners + where tenantid=$tenantid + group by propertyid + ) + select + props.propertyid, + props.oldpropertyid, + props.propertystatus, + demands.demand as tentativedemand, + demands.financialyears as financialyears, + firmbusinessname, + address, + localityname, + blockname, + propertyusagetype, + propertytype, + plotsize, + to_char((To_timestamp($fy::bigint/1000) at time Zone 'Asia/Kolkata'),'YYYY') || '-' || ((to_char((To_timestamp($fy::bigint/1000) at time Zone 'Asia/Kolkata'),'YY'))::int+1)::text as fy, --assessments.fy as fy, + owners.ownername as ownername, + owners.mobilenumber as mobileno + from properties + inner join props on props.propertyid=properties.propertyid + inner join demands on demands.propertyid=properties.propertyid + inner join owners on owners.propertyid=properties.propertyid + where 1=1 + +- reportName: Count_UsageCategory_V2 + decryptionPathId: ReceiptRegisterShort_V2 + summary: Count Usagecategory + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: category + label: reports.pt.category + type: string + source: pt + total: false + - name: property_type + label: reports.pt.property_type + type: string + source: pt + total: false + - name: count + label: reports.pt.count + type: string + source: pt + total: true + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + (case when position('.' in usagecategory)=0 then usagecategory else split_part(usagecategory,'.',2) end) as category,(case when position('.' in propertytype)=0 then propertytype else split_part(propertytype,'.',1) end) as property_type ,count (propertyid) as count from eg_pt_property + where tenantid=$tenantid and status='ACTIVE' + groupby: GROUP BY category,property_type + orderby: ORDER BY category + +- reportName: TopPayersReportCOM_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: consumercode + label: reports.pt.consumercode + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptnumber + type: string + source: pt + total: false + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: false + - name: fy + label: reports.pt.fy + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobilenumber + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND 1=1 + - name: finYear + label: Financial Year + type: singlevaluelist + pattern: 'list://2015-16:2015-16,2016-17:2016-17,2017-18:2017-18,2017-18:2017-18,2018-19:2018-19,2019-20:2019-20,2020-21:2020-21,2021-22:2021-22,2022-23:2022-23,2023-24:2023-24' + source: pt + isMandatory: true + searchClause: AND to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY') || '-' || to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')=$finYear + - name: usageCat + label: Usage Category + type: singlevaluelist + pattern: 'list://NONRESIDENTIAL.COMMERCIAL:Commercial,MIXED:Mixed,NONRESIDENTIAL.INDUSTRIAL:Industrial,NONRESIDENTIAL.INSTITUTIONAL:Institutional' + source: pt + isMandatory: false + searchClause: and 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + select distinct bd.consumercode,pt.usagecategory,pd.receiptnumber ,p.totalamountpaid, + to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY') || '-' || to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY') as fy, + concat(pa.doorno,' ',pa.buildingname,pa.street,' ',pa.city,' ,',pa.pincode) as address, u.name as ownername, u.mobilenumber as mobileno + from egcl_payment p + inner join egcl_paymentdetail pd on pd.paymentid=p.id and p.paymentstatus !='CANCELLED' and p.tenantid=$ulb and pd.businessservice='PT' + inner join egbs_bill_v1 bill on bill.id=pd.billid + inner join egbs_billdetail_v1 bd on bill.id=bd.billid + inner join eg_pt_property pt on bd.consumercode=pt.propertyid and pt.status='ACTIVE' and pt.usagecategory like '%NONRESIDENTIAL%' + inner join eg_pt_address pa on pa.propertyid=pt.id + inner join eg_pt_owner po on po.propertyid=pt.id inner join eg_user u on u.uuid=po.userid and u.active=true + where p.totalamountpaid>=10000 + orderby: order by p.totalamountpaid desc limit 300 + +- reportName: TopPayersReportRESD_V2 + decryptionPathId: ULBDEFAULTERPTREPORT_V2 + summary: ULB Defaulter Pt report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: consumercode + label: reports.pt.consumercode + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptnumber + type: string + source: pt + total: false + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: false + - name: fy + label: reports.pt.fy + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobilenumber + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND 1=1 + - name: finYear + label: Financial Year + type: singlevaluelist + pattern: 'list://2015-16:2015-16,2016-17:2016-17,2017-18:2017-18,2017-18:2017-18,2018-19:2018-19,2019-20:2019-20,2020-21:2020-21,2021-22:2021-22,2022-23:2022-23,2023-24:2023-24' + source: pt + isMandatory: true + searchClause: AND to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY') || '-' || to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY')=$finYear + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Type Of Property Mobile Number Address + select distinct bd.consumercode,pt.usagecategory,pd.receiptnumber ,p.totalamountpaid, + to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY') || '-' || to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YY') as fy, + concat(pa.doorno,' ',pa.buildingname,pa.street,' ',pa.city,' ,',pa.pincode) as address, u.name as ownername, u.mobilenumber as mobileno + from egcl_payment p + inner join egcl_paymentdetail pd on pd.paymentid=p.id and p.paymentstatus !='CANCELLED' and p.tenantid=$ulb and pd.businessservice='PT' + inner join egbs_bill_v1 bill on bill.id=pd.billid + inner join egbs_billdetail_v1 bd on bill.id=bd.billid + inner join eg_pt_property pt on bd.consumercode=pt.propertyid and pt.status='ACTIVE' and pt.usagecategory='RESIDENTIAL' + inner join eg_pt_address pa on pa.propertyid=pt.id + inner join eg_pt_owner po on po.propertyid=pt.id inner join eg_user u on u.uuid=po.userid and u.active=true + where p.totalamountpaid>=1000 + orderby: order by p.totalamountpaid desc limit 300 + +- reportName: ReceiptRegisterGatewayTxnId_V2 + decryptionPathId: ReceiptRegisterShort_V2 + summary: Receipt Register GatewayTxnId + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.ptrId + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: amount + label: reports.pt.taxamount + type: string + source: pt + total: true + - name: transactionnumber + label: reports.pt.ddChequeNo + type: string + source: pt + total: false + - name: gateway_txn_id + label: reports.pt.gateway_txn_id + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://CARD:Card,CASH:Cash,CHEQUE:Cheque,DD:DD,OFFLINE_NEFT:NEFT,OFFLINE_RTGS:RTGS,ONLINE:Online,POSTAL_ORDER:PostalOrder' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode = replace($paymentMode,',','_') + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) = $financialyear + - name: collectorname + label: reports.pt.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=PTCEMP|$.Employees[*].user.id|$.Employees[*].user.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + pt.propertyid as propertyid, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as transactiondate, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber as transactionnumber, + pg.gateway_txn_id, + --concat(to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'YYYY')) AS financialyear, + --concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + getfinancialyear(pd.billid) as financialyear, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname + --receipt_breakup.*, + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, + (select * from (select *,(row_number() over(partition by propertyid order by lastmodifiedtime desc)) as rw from eg_pt_property where tenantid=$tenantid) pts where rw=1) as pt, + (select bill.id as billid, bill.consumercode as consumercodei, min(bd.fromperiod) fromperiod, max(bd.toperiod) toperiod from egcl_billdetial bd, egcl_bill bill + where bill.id=bd.billid and bill.tenantid = $tenantid group by bill.id) bd + LEFT JOIN eg_pg_transactions as pg on ( txn_status='SUCCESS' and pg.bill_id=bd.billid ) + where pd.paymentid=payment.id and bd.billid=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='PT' and payment.tenantid=$tenantid + and pt.propertyid = bd.consumercodei --and pt.status!='INACTIVE' + orderby: ORDER BY pd.receiptdate DESC; + +- reportName: PropertyDumpReport + decryptionPathId: ULBPTDataDumpReport_V2 + summary: Receipt Register GatewayTxnId + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: propertyid + label: reports.pt.ptrId + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: localityname + label: reports.pt.locality + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusagetype + type: string + source: pt + total: true + - name: ownershipcategory + label: reports.pt.ownershipcategory + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pt.createdtime>=$fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pt.createdtime<=$toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + with owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobilenumber,','),',',1) as mobilenumber, + propertyid + from report_owners where status='ACTIVE' and tenantid=$tenantid + group by propertyid + ) + --select pt.propertyid,oldpropertyid,status,propertytype,usagecategory,concat (doorno,',',buildingname,',',street,',',locality) as address,owners.ownername,owners.mobilenumber + --from eg_pt_property pt + select pt.propertyid,oldpropertyid,propertystatus,propertytype,address,localitycode,localityname,propertyusagetype,ownershipcategory,owners.ownername as ownername,owners.mobilenumber as mobileno + from report_properties pt + inner join owners on owners.propertyid=pt.propertyid + where pt.tenantid=$tenantid and propertystatus='ACTIVE' + +- reportName: STATEDUMPDEPARTMENT_REPORT_V2 + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: nooffloors + label: reports.pt.nooffloors + type: string + source: pt + total: false + - name: totalarea + label: reports.pt.totalarea + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: emailid + label: reports.pt.emailid + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.propertyusagetype + type: string + source: pt + total: false + - name: localityname + label: reports.pt.localityname + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pt.createdtime >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pt.createdtime <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND pt.tenantid = $ulb + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobilenumber,','),',',1) as mobilenumber, + split_part(string_agg(guardianname,','),',',1) as guardianname, + split_part(string_agg(emailid,','),',',1) as emailid, + propertyid + from report_owners where status='ACTIVE' and tenantid =$ulb + group by propertyid + ), + properties as + ( + select + propertyid, + tenantid as tenantid, + address as address, + localityname as localityname, + plotsize as plotsize, + propertyusagetype as usagetype, + surveyid, + oldpropertyid, + nooffloors, + createdtime as createdtime + from report_properties + where propertystatus='ACTIVE' and tenantid =$ulb + --group by propertyid + ) + select + pt.tenantid as ulb, + pt.propertyid as propertytaxuniqueid, + owners.ownername as ownername, + owners.guardianname as guardianname, + owners.mobilenumber as mobileno, + pt.plotsize as totalarea, + owners.emailid as emailid, + pt.address as address, + pt.usagetype as usagetype, + pt.surveyid as surveyid, + pt.oldpropertyid as oldpropertyid, + pt.nooffloors as nooffloors, + pt.localityname as localityname + from properties pt + inner join owners on owners.propertyid=pt.propertyid + where 1=1 + + +- reportName: PROPERTY_CATEGORY_REPORT_V2 + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: ownership + label: reports.pt.ownership + type: string + source: pt + total: false + - name: propertycategory + label: reports.pt.propertycategory + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: buildingname + label: reports.pt.buildingname + type: string + source: pt + total: false + - name: doorno + label: reports.pt.doorno + type: string + source: pt + total: false + - name: street + label: reports.pt.street + type: string + source: pt + total: false + - name: locality + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: unitcategory + label: reports.pt.unitcategory + type: string + source: pt + total: false + - name: addr_survey + label: reports.pt.survey_address + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + searchParams: + - name: category + label: reports.pt.usagecategory + type: string + source: pt + isMandatory: true + searchClause: AND 1=1 + - name: nameofbusiness + label: reports.pt.nameofbusinness + type: string + source: pt + isMandatory: false + searchClause: AND upper(pt.additionalDetails->>'businessName') LIKE CONCAT('%',upper($nameofbusiness),'%') + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with properties as + ( + select distinct propertyid as propertyid from eg_pt_unit where tenantid=$tenantid and usagecategory LIKE CONCAT('%',upper($category),'%') --like '%EDUCATION%' + ), + owners as + ( + select + split_part(string_agg(userid,','),',',1) as owner_userid, + propertyid + from eg_pt_owner + where tenantid=$tenantid and propertyid in (select propertyid from properties) and status='ACTIVE' + group by propertyid + ) + select + pt.propertyid as propertyid, + pt.oldpropertyid as oldpropertyid, + pt.surveyid as surveyid, + pt.propertytype as propertytype, + pt.ownershipcategory as ownership, + pt.usagecategory as propertycategory, + pt.landarea as plotsize, + adr.buildingname as buildingname, + adr.doorno as doorno, + adr.street as street, + bndry.localityname as locality, + bndry.blockname as blockname, + eg_user.name as ownername, + eg_user.mobilenumber as mobileno, + $category as unitcategory, + (pt.additionalDetails->'legacyInfo')->>'address' as addr_survey, + pt.additionalDetails->>'businessName' as businessname + from eg_pt_property pt + inner join eg_pt_address adr on adr.propertyid =pt.id + inner join properties props on props.propertyid=pt.id + inner join owners on owners.propertyid=pt.id + inner join eg_user on eg_user.uuid=owners.owner_userid + inner join eg_bndry_mohalla bndry on bndry.localitycode=adr.locality + where pt.status!='INACTIVE' + + +- reportName: PAID_PROPERTY_CATEGORY_REPORT_V2 + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: ownership + label: reports.pt.ownership + type: string + source: pt + total: false + - name: propertycategory + label: reports.pt.propertycategory + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: buildingname + label: reports.pt.buildingname + type: string + source: pt + total: false + - name: doorno + label: reports.pt.doorno + type: string + source: pt + total: false + - name: street + label: reports.pt.street + type: string + source: pt + total: false + - name: locality + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: unitcategory + label: reports.pt.unitcategory + type: string + source: pt + total: false + - name: addr_survey + label: reports.pt.survey_address + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: assessmentyear + label: reports.pt.assessmentyear + type: string + source: pt + total: false + searchParams: + - name: category + label: reports.pt.usageownercategory + type: string + source: pt + isMandatory: true + searchClause: AND 1=1 + - name: nameofbusiness + label: reports.pt.nameofbusinness + type: string + source: pt + isMandatory: false + searchClause: AND upper(pt.additionalDetails->>'businessName') LIKE CONCAT('%',upper($nameofbusiness),'%') + - name: finYear + label: Financial Year + type: singlevaluelist + pattern: 'list://2015-16:2015-16,2016-17:2016-17,2017-18:2017-18,2017-18:2017-18,2018-19:2018-19,2019-20:2019-20,2020-21:2020-21,2021-22:2021-22,2022-23:2022-23,2023-24:2023-24' + source: pt + isMandatory: true + searchClause: AND 1=1 + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with properties as + ( + select distinct propertyid as propertyid from eg_pt_unit where tenantid=$tenantid and (usagecategory LIKE CONCAT('%',upper($category),'%') or ownershipcategory LIKE CONCAT('%',upper($category),'%')) --like '%EDUCATION%' + ), + owners as + ( + select + split_part(string_agg(userid,','),',',1) as owner_userid, + propertyid + from eg_pt_owner + where tenantid=$tenantid and propertyid in (select propertyid from properties) and status='ACTIVE' + group by propertyid + ), + assessments as + ( + select + distinct propertyid + from report_assessments + where tenantid=$tenantid AND assessmentyears=$finYear + ) + select + pt.propertyid as propertyid, + pt.oldpropertyid as oldpropertyid, + pt.surveyid as surveyid, + pt.propertytype as propertytype, + pt.ownershipcategory as ownership, + pt.usagecategory as propertycategory, + pt.landarea as plotsize, + adr.buildingname as buildingname, + adr.doorno as doorno, + adr.street as street, + bndry.localityname as locality, + bndry.blockname as blockname, + eg_user.name as ownername, + eg_user.mobilenumber as mobileno, + $category as unitcategory, + (pt.additionalDetails->'legacyInfo')->>'address' as addr_survey, + pt.additionalDetails->>'businessName' as businessname, + $finYear as assessmentyear + from eg_pt_property pt + inner join eg_pt_address adr on adr.propertyid =pt.id + inner join properties props on props.propertyid=pt.id + inner join owners on owners.propertyid=pt.id + inner join eg_user on eg_user.uuid=owners.owner_userid + inner join eg_bndry_mohalla bndry on bndry.localitycode=adr.locality + inner join assessments on assessments.propertyid=pt.propertyid + where pt.status!='INACTIVE' + + +- reportName: DEFAULTER_REPORT_WITH_LOCALITY_UNPAID_DEMAND_NEW + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: tentativedemand + label: reports.pt.tentativedemand + type: string + source: pt + total: true + - name: assessmentyear + label: reports.pt.assessmentyear + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: ownership + label: reports.pt.ownership + type: string + source: pt + total: false + - name: propertycategory + label: reports.pt.propertycategory + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: localityname + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: nameofbusiness + label: reports.pt.nameofbusinness + type: string + source: pt + isMandatory: false + searchClause: AND upper(pt.firmbusinessname) LIKE CONCAT('%',upper($nameofbusiness),'%') + - name: fy + label: Financial Year + type: singlevaluelist + pattern: 'list://2015:2015-16,2016:2016-17,2017:2017-18,2018:2018-19,2019:2019-20,2020:2020-21,2021:2021-22,2022:2022-23,2023:2023-24' + source: pt + isMandatory: false + searchClause: and d.fy like concat('%',$fy,'%') + - name: usageCat + label: Usage Category + type: singlevaluelist + pattern: 'list://NONRESIDENTIAL:NONRESIDENTIAL,MIXED:MIXED,RESIDENTIAL:RESIDENTIAL' + source: pt + isMandatory: false + searchClause: and pt.propertyusagetype like concat($usageCat,'%') + - name: usageSubCat + label: Usage Sub Category + type: string + source: pt + isMandatory: false + searchClause: u.unitusage like concat('%',upper($usageSubCat),'%') + - name: blockname + label: reports.pt.blockname + type: string + source: pt + isMandatory: false + searchClause: AND upper(blockname) LIKE CONCAT('%',upper($blockname),'%') + - name: localityname + label: reports.pt.localityname + type: string + source: pt + isMandatory: false + searchClause: AND upper(localityname) LIKE CONCAT('%',upper($localityname),'%') + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobilenumber,','),',',1) as mobilenumber, + propertyid + from report_owners + where tenantid=$tenantid and status='ACTIVE' and propertyid in (select propertyid from report_unpaid_demand where tenantid=$tenantid) + group by propertyid + ), + units as + ( + select distinct propertyid as propertyid,string_agg(usagecategory,',') as unitusage from report_units where propertyid in (select propertyid from report_unpaid_demand where tenantid=$tenantid) and active=true group by propertyid + ) + select + d.propertyid as propertyid, + pt.oldpropertyid as oldpropertyid, + pt.surveyid as surveyid, + d.demand as tentativedemand, + d.fy as assessmentyear, + pt.address as address, + pt.blockname as blockname, + pt.propertyusagetype as propertycategory, + pt.propertytype as propertytype, + pt.ownershipcategory as ownership, + pt.plotsize as plotsize, + pt.firmbusinessname as businessname, + pt.localityname as localityname, + owners.ownername as ownername, + owners.mobilenumber as mobileno + from report_unpaid_demand d + left join report_properties pt on pt.propertyid=d.propertyid and pt.propertystatus!='INACTIVE' + inner join units u on u.propertyid=pt.propertyid + inner join owners on owners.propertyid=pt.propertyid + where d.tenantid=$tenantid and d.demand>0 + + +- reportName: STATEDEFAULTER_REPORT_WITH_LOCALITY_UNPAID_DEMAND_NEW + decryptionPathId: ULBPTDataDumpReport_V2 + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: tentativedemand + label: reports.pt.tentativedemand + type: string + source: pt + total: true + - name: assessmentyear + label: reports.pt.assessmentyear + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: ownership + label: reports.pt.ownership + type: string + source: pt + total: false + - name: propertycategory + label: reports.pt.propertycategory + type: string + source: pt + total: false + - name: businessname + label: reports.pt.businessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: plotsize + label: reports.pt.plotsize + type: string + source: pt + total: false + - name: localityname + label: reports.pt.locality + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: nameofbusiness + label: reports.pt.nameofbusinness + type: string + source: pt + isMandatory: false + searchClause: AND upper(pt.firmbusinessname) LIKE CONCAT('%',upper($nameofbusiness),'%') + - name: fy + label: Financial Year + type: singlevaluelist + pattern: 'list://2015:2015-16,2016:2016-17,2017:2017-18,2018:2018-19,2019:2019-20,2020:2020-21,2021:2021-22,2022:2022-23,2023:2023-24' + source: pt + isMandatory: false + searchClause: and d.fy like concat('%',$fy,'%') + - name: usageCat + label: Usage Category + type: singlevaluelist + pattern: 'list://NONRESIDENTIAL:NONRESIDENTIAL,MIXED:MIXED,RESIDENTIAL:RESIDENTIAL' + source: pt + isMandatory: false + searchClause: and pt.propertyusagetype like concat($usageCat,'%') + - name: usageSubCat + label: Usage Sub Category + type: string + source: pt + isMandatory: false + searchClause: u.unitusage like concat('%',upper($usageSubCat),'%') + - name: blockname + label: reports.pt.blockname + type: string + source: pt + isMandatory: false + searchClause: AND upper(blockname) LIKE CONCAT('%',upper($blockname),'%') + - name: localityname + label: reports.pt.localityname + type: string + source: pt + isMandatory: false + searchClause: AND upper(localityname) LIKE CONCAT('%',upper($localityname),'%') + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND pt.tenantid = $ulb + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with owners as + ( + select + split_part(string_agg(ownername,','),',',1) as ownername, + split_part(string_agg(mobilenumber,','),',',1) as mobilenumber, + propertyid + from report_owners + where tenantid!='pb.testing' and status='ACTIVE' and propertyid in (select propertyid from report_unpaid_demand where tenantid!='pb.testing') + group by propertyid + ), + units as + ( + select distinct propertyid as propertyid,string_agg(usagecategory,',') as unitusage from report_units where propertyid in (select propertyid from report_unpaid_demand where tenantid!='pb.testing') and active=true group by propertyid + ) + select + d.propertyid as propertyid, + pt.oldpropertyid as oldpropertyid, + pt.surveyid as surveyid, + d.demand as tentativedemand, + d.fy as assessmentyear, + pt.address as address, + pt.blockname as blockname, + pt.propertyusagetype as propertycategory, + pt.propertytype as propertytype, + pt.ownershipcategory as ownership, + pt.plotsize as plotsize, + pt.firmbusinessname as businessname, + pt.localityname as localityname, + owners.ownername as ownername, + owners.mobilenumber as mobileno + from report_unpaid_demand d + left join report_properties pt on pt.propertyid=d.propertyid and pt.propertystatus!='INACTIVE' + inner join units u on u.propertyid=pt.propertyid + inner join owners on owners.propertyid=pt.propertyid + where d.tenantid!='pb.testing' and d.demand>0 + +- reportName: USERNAME_PT + decryptionPathId: ULBPTDataDumpReport_V2 + summary: USERNAME_PT + version: 1.0.0 + moduleName: rainmaker-pt + additionalConfig: + print: + pdfPageSize: "Legal" + sourceColumns: + - name: tenantid + label: reports.pt.tenantid + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND report_owners.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + tenantid, + propertyid, + ownername as ownername, + guardianname as guardianname, + mobilenumber as mobileno + from report_owners + where 1=1 + +- reportName: PropertyListReport + decryptionPathId: ULBPTDataDumpReport_V2 + summary: PT Report for GIS Mapping + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: firmbusinessname + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: landarea + label: reports.pt.landarea + type: string + source: pt + total: false + - name: usagecategory + label: reports.pt.usagecategory + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: localityname + label: reports.pt.localityname + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: ownertype + label: reports.pt.ownertype + type: string + source: pt + total: false + searchParams: + query: | + select *,plotsize as landarea,propertyusagetype as usagecategory,mobilenumber as mobileno + from report_properties p + inner join report_owners o on o.propertyid=p.propertyid + where p.tenantid=$tenantid and propertystatus='ACTIVE' + orderby: ORDER BY p.propertyid + + diff --git a/configs/reports/configs/rainmaker-common-reports.yml b/configs/reports/configs/rainmaker-common-reports.yml new file mode 100644 index 00000000..e13742a1 --- /dev/null +++ b/configs/reports/configs/rainmaker-common-reports.yml @@ -0,0 +1,127 @@ +ReportDefinitions: + - reportName: CollectionRegister + summary: Collection Register + version: 1.0.0 + moduleName: rainmaker-common + externalService: + - entity: $.MdmsRes.BillingService.BusinessService[*] + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=pb&moduleName=BillingService&masterName=BusinessService&filter=[?(@.type=='Adhoc')] + keyOrder: code,businessService + tableName: tbl_businessserviceList + sourceColumns: + - name: service + label: reports.common.CollectionRegister.serviceResult + type: string + source: common + total: false + - name: channel + label: reports.common.CollectionRegister.channel + type: string + source: common + total: false + - name: cash_count + label: reports.common.CollectionRegister.transactions + type: number + source: common + total: true + - name: cash_sum + label: reports.common.CollectionRegister.cash + type: number + source: common + total: true + - name: cheque_count + label: reports.common.CollectionRegister.transactions + type: number + source: common + total: true + - name: cheque_sum + label: reports.common.CollectionRegister.cheque + type: number + source: common + total: true + - name: dd_count + label: reports.common.CollectionRegister.transactions + type: number + source: common + total: true + - name: dd_sum + label: reports.common.CollectionRegister.dd + type: number + source: common + total: true + - name: online_count + label: reports.common.CollectionRegister.transactions + type: number + source: common + total: true + - name: online_sum + label: reports.common.CollectionRegister.online + type: number + source: common + total: true + - name: card_count + label: reports.common.CollectionRegister.transactions + type: number + source: common + total: true + - name: card_sum + label: reports.common.CollectionRegister.card + type: number + source: common + total: true + - name: total + label: reports.common.CollectionRegister.total + type: number + source: common + total: true + + searchParams: + - name: ulb + label: reports.common.CollectionRegister.ulb + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: common + wrapper: true + isMandatory: true + searchClause: AND rt.tenantId = $ulb + - name: service + label: reports.common.CollectionRegister.service + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=BillingService&masterName=BusinessService&filter=[?(@.type=='Adhoc')]|$.MdmsRes.BillingService.BusinessService.*.code|$.MdmsRes.BillingService.BusinessService.*.businessService + source: common + wrapper: true + state: true + isMandatory: true + isLocalisationRequired: true + localisationPrefix: "BILLINGSERVICE_BUSINESSSERVICE_" + searchClause: AND REGEXP_REPLACE(rt.businessdetails,'\..*','') IN ($service) + - name: paymentMode + label: reports.common.CollectionRegister.mode + type: singlevaluelist + pattern: 'list://Cash:Cash,Online:Online,Card:Card,DD:DD,Cheque:Cheque' + source: common + isMandatory: false + searchClause: AND instrumenttype = $paymentMode + - name: channel + label: reports.common.CollectionRegister.channel + type: singlevaluelist + pattern: 'list://COUNTER:COUNTER,FIELD:FIELD' + source: common + isMandatory: false + searchClause: AND collectiontype = $channel + - name: fromDate + label: reports.common.CollectionRegister.fromdate + type: epoch + source: common + isMandatory: true + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.common.CollectionRegister.todate + type: epoch + source: common + isMandatory: true + searchClause: AND receiptdate <= $toDate + + query: select COALESCE(message,REGEXP_REPLACE(businessdetails,'\..*','')) service,collectiontype channel,sum(case when instrumenttype='Cash' then 1 else 0 end) as cash_count, sum(case when instrumenttype='Cash' then ins.amount else 0 end) as cash_sum, sum(case when instrumenttype='Cheque' then 1 else 0 end) as cheque_count, sum(case when instrumenttype='Cheque' then ins.amount else 0 end) as cheque_sum, sum(case when instrumenttype='DD' then 1 else 0 end) as dd_count, sum(case when instrumenttype='DD' then ins.amount else 0 end) as dd_sum, sum(case when instrumenttype='Online' then 1 else 0 end) as online_count, sum(case when instrumenttype='Online' then ins.amount else 0 end) as online_sum, sum(case when instrumenttype='Card' then 1 else 0 end) as card_count, sum(case when instrumenttype='Card' then amount else 0 end) as card_sum,sum(amount) total from egcl_receiptheader_v1 rt inner join egcl_receiptinstrument_v1 ihead on rt.id=receiptheader inner join egcl_instrumentheader_v1 ins on instrumentheader=ins.id left outer join message on LOWER(concat('BILLINGSERVICE_BUSINESSSERVICE_',REGEXP_REPLACE(businessdetails,'\..*','')))=LOWER(code) AND module='rainmaker-uc' where businessdetails IN (select code from (VALUES tbl_businessserviceList) AS serv_list(code,servicename)) + groupby: group by service,collectiontype + orderby: order by service,collectiontype \ No newline at end of file diff --git a/configs/reports/configs/rainmaker-noc-reports.yml b/configs/reports/configs/rainmaker-noc-reports.yml new file mode 100644 index 00000000..e2f13945 --- /dev/null +++ b/configs/reports/configs/rainmaker-noc-reports.yml @@ -0,0 +1,831 @@ +--- +ReportDefinitions: + - reportName: UrbanCollectionReport + summary: Collection Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: localisedmessage + label: reports.noc.collectionreport.usagetype + type: string + source: rainmaker-noc + total: false + - name: transactionNumber + label: reports.noc.collectionreport.transactionNumber + type: string + source: rainmaker-noc + total: true + - name: fees_counter + label: reports.noc.collectionreport.fees_counter + type: string + source: rainmaker-noc + total: true + - name: fees_online + label: reports.noc.collectionreport.fees_online + type: string + source: rainmaker-noc + total: true + searchParams: + - name: fromDate + label: reports.noc.collectionreport.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.noc.collectionreport.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: channel + label: reports.noc.collectionreport.channel + type: multivaluelist + pattern: 'list://COUNTER:ULB Counter,ONLINE:Online by Citizen' + source: common + isMandatory: false + searchClause: AND collectiontype IN ($channel) + - name: paymentMode + label: reports.noc.collectionreport.paymentMode + type: singlevaluelist + pattern: 'list://Cash:Cash,Online:Online,Card:Card,DD:DD,Cheque:Cheque' + source: common + isMandatory: false + searchClause: AND instrumenttype = $paymentMode + - name: ulb + label: reports.noc.collectionreport.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantId IN ($ulb) + query: select COALESCE(message,usagetype) localisedmessage, COUNT(*) as transactionNumber, sum(case when collectiontype='COUNTER' then ins.amount else 0 end) fees_counter, sum(case when collectiontype='ONLINE' then ins.amount else 0 end) fees_online from eg_fn_firenoc fnoc inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid inner join egcl_receiptheader_v1 rhead on rhead.consumercode=fdet.applicationnumber inner join eg_fn_buidlings build on build.firenocdetailsuuid=fdet.uuid inner join egcl_receiptinstrument_v1 recins on recins.receiptheader=rhead.id inner join egcl_instrumentheader_v1 ins on recins.instrumentheader=ins.id left outer join message on code=concat('FIRENOC_BUILDINGTYPE_',UPPER(REGEXP_REPLACE(usagetype,'\..*',''))) and module='rainmaker-noc' where 1=1 + groupby: GROUP BY localisedmessage + orderby: ORDER BY localisedmessage + + - reportName: UrbanApplicationStatusReport + summary: Application Status Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: application_status + label: reports.noc.applicationstatusreport.appStatus + type: string + source: rainmaker-noc + total: false + - name: number_of_application + label: reports.noc.applicationstatusreport.noofapplications + type: string + source: rainmaker-noc + total: true + searchParams: + - name: fromDate + label: reports.noc.applicationstatusreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.applicationstatusreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: ulb + label: reports.noc.applicationstatusreport.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantId IN ($ulb) + query: select COALESCE(message,state) application_status,count(*) number_of_application from eg_fn_firenoc fnoc inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid inner join (SELECT DISTINCT ON (businessid) * FROM eg_wf_processinstance_v2 ORDER BY businessid,createdtime desc) pinstance on pinstance.businessid=fdet.applicationnumber inner join eg_wf_state_v2 wfstate on pinstance.status=wfstate.uuid left outer join message on code=concat('WF_FIRENOC_',UPPER(state)) and module='rainmaker-noc' where 1=1 + groupby: GROUP BY application_status + orderby: ORDER BY application_status + + - reportName: UrbanChannelsReport + summary: Channels Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: channel + label: reports.noc.channelsreport.channel + type: string + source: rainmaker-noc + total: false + - name: number_of_applications + label: reports.noc.channelsreport.applicationNo + type: string + source: rainmaker-noc + total: true + - name: percentage + label: reports.noc.channelsreport.percentage + type: string + source: rainmaker-noc + total: false + searchParams: + - name: fromDate + label: reports.noc.channelsreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.channelsreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: ulb + label: reports.noc.channelsreport.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantId IN ($ulb) + query: select channel, count (*) number_of_applications,round((count (*)::decimal/(select count(*) from eg_fn_firenoc fnoc inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid))*100,2) percentage from eg_fn_firenoc fnoc inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + groupby: GROUP BY channel + orderby: ORDER BY channel + + + - reportName: UrbanCollectionReport_V2 + summary: Collection Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: localisedmessage + label: reports.noc.collectionreport.usagetype + type: string + source: rainmaker-noc + total: false + - name: transactionNumber + label: reports.noc.collectionreport.transactionNumber + type: string + source: rainmaker-noc + total: true + - name: fees_counter + label: reports.noc.collectionreport.fees_counter + type: string + source: rainmaker-noc + total: true + - name: fees_online + label: reports.noc.collectionreport.fees_online + type: string + source: rainmaker-noc + total: true + searchParams: + - name: fromDate + label: reports.noc.collectionreport.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.noc.collectionreport.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: channel + label: reports.noc.collectionreport.channel + type: multivaluelist + pattern: 'list://COUNTER:ULB Counter,ONLINE:Online by Citizen' + source: common + isMandatory: false + searchClause: AND collectiontype IN ($channel) + - name: ulb + label: reports.noc.collectionreport.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantId IN ($ulb) + query: | + Select + COALESCE(message,usagetype) localisedmessage, + COUNT(*) as transactionNumber, + --(select COALESCE((select message from message where code=concat('FIRENOC_FIRESTATIONS_',UPPER(REGEXP_REPLACE(firestationid,'\..*',''))) limit 1), firestationid)) as firestation, + SUM (CASE WHEN egcl_payment.paymentmode='CASH' THEN egcl_payment.totalamountpaid ELSE 0 END) as fees_counter, + SUM (CASE WHEN egcl_payment.paymentmode='ONLINE' THEN egcl_payment.totalamountpaid ELSE 0 END) AS fees_online + from eg_fn_firenoc AS fnoc + INNER JOIN eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + INNER JOIN egcl_bill as bill on bill.consumercode=fdet.applicationnumber + INNER JOIN egcl_billdetial as billd on billd.billid=bill.id + INNER JOIN eg_fn_buidlings build on build.firenocdetailsuuid=fdet.uuid + INNER JOIN egcl_paymentdetail ON (egcl_paymentdetail.billid=bill.id AND egcl_paymentdetail.businessservice='FIRENOC') + INNER JOIN egcl_payment on egcl_payment.id=egcl_paymentdetail.paymentid + LEFT OUTER JOIN message on code=concat('FIRENOC_BUILDINGTYPE_',UPPER(REGEXP_REPLACE(usagetype,'\..*',''))) + INNER JOIN eg_fn_address as fad on fad.firenocdetailsuuid=fdet.uuid and module='rainmaker-noc' + where 1=1 + and egcl_payment.tenantid!='pb.testing' and fad.areatype='Urban' and egcl_payment.paymentstatus!='CANCELLED' + groupby: GROUP BY (localisedmessage) + orderby: ORDER BY localisedmessage + + - reportName: UrbanApplicationStatusReport_V2 + summary: Application Status Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: application_status + label: reports.noc.applicationstatusreport.appStatus + type: string + source: rainmaker-noc + total: false + - name: number_of_application + label: reports.noc.applicationstatusreport.noofapplications + type: string + source: rainmaker-noc + total: true + searchParams: + - name: fromDate + label: reports.noc.applicationstatusreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.applicationstatusreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: ulb + label: reports.noc.applicationstatusreport.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantid IN ($ulb) + query: | + select + COALESCE(message,state) application_status, + count(*) number_of_application + from eg_fn_firenoc fnoc + inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + inner join (SELECT DISTINCT ON (businessid) * FROM eg_wf_processinstance_v2 ORDER BY businessid,createdtime desc) pinstance on pinstance.businessid=fdet.applicationnumber + inner join eg_wf_state_v2 wfstate on pinstance.status=wfstate.uuid + left outer join message on code=concat('WF_FIRENOC_',UPPER(state)) and module='rainmaker-noc' + where 1=1 and fnoc.tenantid!='pb.testing' + groupby: GROUP BY application_status + orderby: ORDER BY application_status + + + - reportName: UrbanChannelsReport_V2 + summary: Channels Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: channel + label: reports.noc.channelsreport.channel + type: string + source: rainmaker-noc + total: false + - name: number_of_applications + label: reports.noc.channelsreport.applicationNo + type: string + source: rainmaker-noc + total: true + - name: percentage + label: reports.noc.channelsreport.percentage + type: string + source: rainmaker-noc + total: false + searchParams: + - name: fromDate + label: reports.noc.channelsreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.channelsreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: ulb + label: reports.noc.channelsreport.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantid IN ($ulb) + query: | + select + channel, + count (*) number_of_applications, + round((count (*)::decimal/(select count(*) from eg_fn_firenoc fnoc inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid))*100,2) percentage + from eg_fn_firenoc fnoc + inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + where 1=1 and fnoc.tenantid!='pb.testing' + groupby: GROUP BY channel + orderby: ORDER BY channel + + - reportName: RuralDistrictWiseCollectionReport_V2 + summary: Rural District Wise Collection Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: subdistrict + label: reports.noc.collectionreport.subdistrict + type: string + source: rainmaker-noc + total: false + - name: firestation + label: reports.noc.collectionreport.firestation + type: string + source: rainmaker-noc + total: false + - name: localisedmessage + label: reports.noc.collectionreport.usagetype + type: string + source: rainmaker-noc + total: false + - name: transactionNumber + label: reports.noc.collectionreport.transactionNumber + type: string + source: rainmaker-noc + total: true + - name: fees_counter + label: reports.noc.collectionreport.fees_counter + type: string + source: rainmaker-noc + total: true + - name: fees_online + label: reports.noc.collectionreport.fees_online + type: string + source: rainmaker-noc + total: true + searchParams: + - name: fromDate + label: reports.noc.collectionreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.noc.collectionreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: channel + label: reports.noc.collectionreport.channel + type: multivaluelist + pattern: 'list://COUNTER:ULB Counter,ONLINE:Online by Citizen' + source: common + isMandatory: false + searchClause: AND collectiontype IN ($channel) + - name: district + label: reports.noc.collectionreport.district + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.city.districtTenantCode|$.MdmsRes.tenant.tenants.*.city.districtName + source: noc + wrapper: true + isMandatory: false + searchClause: AND fad.city IN ($district) + query: | + Select + COALESCE(message,usagetype) localisedmessage, + COUNT(*) as transactionNumber, + fad.subdistrict, + --(select COALESCE((select message from message where code=concat('FIRENOC_FIRESTATIONS_',UPPER(REGEXP_REPLACE(firestationid,'\..*',''))) limit 1), firestationid)) as firestation, + SUM (CASE WHEN egcl_payment.paymentmode='CASH' THEN egcl_payment.totalamountpaid ELSE 0 END) as fees_counter, + SUM (CASE WHEN egcl_payment.paymentmode='ONLINE' THEN egcl_payment.totalamountpaid ELSE 0 END) AS fees_online + from eg_fn_firenoc AS fnoc + INNER JOIN eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + INNER JOIN egcl_bill as bill on bill.consumercode=fdet.applicationnumber + INNER JOIN egcl_billdetial as billd on billd.billid=bill.id + INNER JOIN eg_fn_buidlings build on build.firenocdetailsuuid=fdet.uuid + INNER JOIN egcl_paymentdetail ON (egcl_paymentdetail.billid=bill.id AND egcl_paymentdetail.businessservice='FIRENOC') + INNER JOIN egcl_payment on egcl_payment.id=egcl_paymentdetail.paymentid + LEFT OUTER JOIN message on code=concat('FIRENOC_BUILDINGTYPE_',UPPER(REGEXP_REPLACE(usagetype,'\..*',''))) + INNER JOIN eg_fn_address as fad on fad.firenocdetailsuuid=fdet.uuid and module='rainmaker-noc' + where 1=1 and egcl_payment.tenantid!='pb.testing' and fad.areatype='Rural' and egcl_payment.paymentstatus!='CANCELLED' + groupby: GROUP BY (localisedmessage),fad.subdistrict + orderby: ORDER BY localisedmessage + + + - reportName: RuralDistrictWiseApplicationStatusReport_V2 + summary: Rural District Wise Application Status Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: subdistrict + label: reports.noc.collectionreport.subdistrict + type: string + source: rainmaker-noc + total: false + - name: firestation + label: reports.noc.collectionreport.firestation + type: string + source: rainmaker-noc + total: false + - name: application_status + label: reports.noc.applicationstatusreport.appStatus + type: string + source: rainmaker-noc + total: false + - name: number_of_application + label: reports.noc.applicationstatusreport.noofapplications + type: string + source: rainmaker-noc + total: true + searchParams: + - name: fromDate + label: reports.noc.applicationstatusreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.applicationstatusreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: district + label: reports.noc.applicationstatusreport.district + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.city.districtTenantCode|$.MdmsRes.tenant.tenants.*.city.districtName + source: noc + wrapper: true + isMandatory: false + searchClause: AND fad.city IN ($district) + query: | + select + fad.subdistrict as subdistrict, + (select COALESCE((select message from message where code=concat('FIRENOC_FIRESTATIONS_',UPPER(REGEXP_REPLACE(firestationid,'\..*',''))) limit 1), firestationid)) as firestation, + COALESCE(message,state) application_status, + count(*) number_of_application + from eg_fn_firenoc fnoc + inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + inner join (SELECT DISTINCT ON (businessid) * FROM eg_wf_processinstance_v2 ORDER BY businessid,createdtime desc) pinstance on pinstance.businessid=fdet.applicationnumber + inner join eg_wf_state_v2 wfstate on pinstance.status=wfstate.uuid left outer join message on code=concat('WF_FIRENOC_',UPPER(state)) and module='rainmaker-noc' + inner join eg_fn_address as fad on fad.firenocdetailsuuid=fdet.uuid + where 1=1 AND fad.subdistrict NOT LIKE 'pb.%' + groupby: GROUP BY (application_status,subdistrict,firestation) + orderby: ORDER BY application_status + + - reportName: RuralDistrictWiseChannelsReport_V2 + summary: Rural District Wise Channels Report + version: 1.0.0 + moduleName: rainmaker-noc + sourceColumns: + - name: subdistrict + label: reports.noc.collectionreport.subdistrict + type: string + source: rainmaker-noc + total: false + - name: firestation + label: reports.noc.collectionreport.firestation + type: string + source: rainmaker-noc + total: false + - name: channel + label: reports.noc.channelsreport.channel + type: string + source: rainmaker-noc + total: false + - name: number_of_applications + label: reports.noc.channelsreport.applicationNo + type: string + source: rainmaker-noc + total: true + - name: percentage + label: reports.noc.channelsreport.percentage + type: string + source: rainmaker-noc + total: false + searchParams: + - name: fromDate + label: reports.noc.channelsreport.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.channelsreport.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: district + label: reports.noc.channelsreport.district + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.city.districtTenantCode|$.MdmsRes.tenant.tenants.*.city.districtName + source: noc + wrapper: true + isMandatory: false + searchClause: AND fad.city IN ($district) + query: | + select + channel, + fad.subdistrict as subdistrict, + (select COALESCE((select message from message where code=concat('FIRENOC_FIRESTATIONS_',UPPER(REGEXP_REPLACE(firestationid,'\..*',''))) limit 1), firestationid)) as firestation, + count (*) number_of_applications, + round((count (*)::decimal/(select count(*) from eg_fn_firenoc fnoc inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid))*100,2) percentage + from eg_fn_firenoc fnoc + inner join eg_fn_firenocdetail fdet on fdet.firenocuuid=fnoc.uuid + inner join eg_fn_address as fad on fad.firenocdetailsuuid=fdet.uuid + Where 1=1 AND fad.subdistrict NOT LIKE 'pb.%' + groupby: GROUP BY (channel,subdistrict,firestation) + orderby: ORDER BY channel + + - reportName: ReceiptRegisterFirenocReport_V2 + decryptionPathId: ReceiptRegister_V2 + summary: Receipt Register FireNoc + version: 1.0.0 + moduleName: rainmaker-noc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: ulb + label: reports.noc.ulb + type: string + source: rainmaker-noc + total: false + - name: receiptnumber + label: reports.noc.receiptnumber + type: string + source: rainmaker-noc + total: false + - name: applicationnumber + label: reports.noc.applicationnumber + type: string + source: rainmaker-noc + total: false + - name: receiptdate + label: reports.noc.receiptdate + type: string + source: rainmaker-noc + total: false + - name: g8issuedate + label: reports.noc.g8issuedate + type: string + source: rainmaker-noc + total: false + - name: g8receiptno + label: reports.noc.g8receiptno + type: string + source: rainmaker-noc + total: false + - name: status + label: reports.noc.status + type: string + source: rainmaker-noc + total: false + - name: servicecategory + label: reports.noc.servicecategory + type: string + source: rainmaker-noc + total: false + - name: totalamount + label: reports.noc.totalamount + type: string + source: rainmaker-noc + total: true + - name: paymentmode + label: reports.noc.paymentmode + type: string + source: rainmaker-noc + total: false + - name: ddorchequenumber + label: reports.noc.ddorchequenumber + type: string + source: rainmaker-noc + total: false + - name: firenoctype + label: reports.noc.firenoctype + type: string + source: rainmaker-noc + total: false + - name: usagetype + label: reports.noc.usagetype + type: string + source: rainmaker-noc + total: false + - name: areatype + label: reports.noc.areatype + type: string + source: rainmaker-noc + total: false + - name: ownername + label: reports.noc.ownername + type: string + source: rainmaker-noc + total: false + - name: collectiontype + label: reports.noc.collectiontype + type: string + source: rainmaker-noc + total: false + - name: collectorname + label: reports.noc.collectorname + type: string + source: rainmaker-noc + total: false + searchParams: + - name: fromDate + label: reports.noc.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: ulb + label: reports.noc.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantId IN ($ulb) + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + egcl_billaccountdetail.billdetailid bill_id, + string_agg(distinct consumercode,',') as consumercode + FROM egcl_billaccountdetail + LEFT JOIN egcl_bill as bill on bill.id = egcl_billaccountdetail.billdetailid + WHERE bill.tenantid!='pb.testing' AND businessservice='FIRENOC' + GROUP BY billdetailid + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + payment.paymentstatus as status, + paydetail.businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + 'System' as collectiontype, + eg_user.name as collectorname, + fdet.firenoctype as firenoctype, + build.usagetype as usagetype, + fad.areatype as areatype, + fdet.applicationnumber as applicationnumber, + build.name as ownername + FROM egcl_payment AS payment + LEFT JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + LEFT JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + JOIN egcl_bill as bill ON bill.id=paydetail.billid + JOIN eg_fn_firenocdetail AS fdet ON fdet.applicationnumber=bill.consumercode + JOIN eg_fn_buidlings AS build ON build.firenocdetailsuuid=fdet.uuid + INNER JOIN eg_fn_address as fad on fad.firenocdetailsuuid=fdet.uuid + WHERE payment.tenantid!='pb.testing' AND paydetail.businessservice='FIRENOC' AND paydetail.receiptnumber NOT LIKE 'MP%' and payment.tenantid = $tenantid + and payment.paymentstatus!='CANCELLED' + orderby: ORDER BY paydetail.receiptdate DESC + + - reportName: CancelledReceiptRegisterFirenocReport_V2 + decryptionPathId: ReceiptRegister_V2 + summary: Cancelled Receipt Register FireNoc + version: 1.0.0 + moduleName: rainmaker-noc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: ulb + label: reports.noc.ulb + type: string + source: rainmaker-noc + total: false + - name: receiptnumber + label: reports.noc.receiptnumber + type: string + source: rainmaker-noc + total: false + - name: applicationnumber + label: reports.noc.applicationnumber + type: string + source: rainmaker-noc + total: false + - name: receiptdate + label: reports.noc.receiptdate + type: string + source: rainmaker-noc + total: false + - name: g8issuedate + label: reports.noc.g8issuedate + type: string + source: rainmaker-noc + total: false + - name: g8receiptno + label: reports.noc.g8receiptno + type: string + source: rainmaker-noc + total: false + - name: status + label: reports.noc.status + type: string + source: rainmaker-noc + total: false + - name: servicecategory + label: reports.noc.servicecategory + type: string + source: rainmaker-noc + total: false + - name: totalamount + label: reports.noc.totalamount + type: string + source: rainmaker-noc + total: true + - name: paymentmode + label: reports.noc.paymentmode + type: string + source: rainmaker-noc + total: false + - name: ddorchequenumber + label: reports.noc.ddorchequenumber + type: string + source: rainmaker-noc + total: false + - name: collectiontype + label: reports.noc.collectiontype + type: string + source: rainmaker-noc + total: false + - name: collectorname + label: reports.noc.collectorname + type: string + source: rainmaker-noc + total: false + searchParams: + - name: fromDate + label: reports.noc.fromDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.noc.toDate + type: epoch + source: noc + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: ulb + label: reports.noc.ulb + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: noc + wrapper: true + isMandatory: false + searchClause: AND fnoc.tenantId IN ($ulb) + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + egcl_billaccountdetail.billdetailid bill_id, + string_agg(distinct consumercode,',') as consumercode + FROM egcl_billaccountdetail + LEFT JOIN egcl_bill as bill on bill.id = egcl_billaccountdetail.billdetailid + WHERE bill.tenantid!='pb.testing' AND businessservice in ('FIRENOC') + GROUP BY billdetailid + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + payment.paymentstatus as status, + paydetail.businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + 'System' as collectiontype, + eg_user.name as collectorname, + fdet.firenoctype as firenoctype, + build.usagetype as usagetype, + fdet.applicationnumber as applicationnumber, + build.name as ownername + FROM egcl_payment AS payment + LEFT JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + LEFT JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + JOIN egcl_bill as bill ON bill.id=paydetail.billid + JOIN eg_fn_firenocdetail AS fdet ON fdet.applicationnumber=bill.consumercode + JOIN eg_fn_buidlings AS build ON build.firenocdetailsuuid=fdet.uuid + WHERE payment.tenantid!='pb.testing' and paydetail.businessservice not in ('PT','TL','UC') and payment.paymentstatus = 'CANCELLED' and paydetail.receiptnumber NOT LIKE 'MP%' + --and paydetail.tenantid=$tenantid + orderby: ORDER BY paydetail.receiptdate DESC + diff --git a/configs/reports/configs/rainmaker-pgr-reports.yml b/configs/reports/configs/rainmaker-pgr-reports.yml new file mode 100644 index 00000000..6a0aadaf --- /dev/null +++ b/configs/reports/configs/rainmaker-pgr-reports.yml @@ -0,0 +1,727 @@ +ReportDefinitions: +- reportName: SourceWiseReport + summary: Fetches reports based on the source of reception of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: citizen_mobile_app + label: reports.rainmaker-pgr.citizen_mobile_app + type: number + source: eg_pgr_service + - name: citizen_web_app + label: reports.rainmaker-pgr.citizen_web_app + type: number + source: eg_pgr_service + - name: counter_desktop + label: reports.rainmaker-pgr.counter_desktop + type: number + source: eg_pgr_service + searchParams: + - name: tenantId + label: reports.rainmaker-pgr.tenantId + type: singlevaluelist + pattern: 'list://Wet:Wet,Dry:Dry' + source: eg_pgr_service + isMandatory: true + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: true + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: true + query: SELECT sum(case when source = 'mobileapp' then 1 else 0 end) as citizen_mobile_app, sum(case when source = 'web' then 1 else 0 end) as citizen_web_app, sum(case when source = 'ivr' then 1 else 0 end) as counter_desktop FROM eg_pgr_service WHERE tenantid = $tenantid + +- reportName: DescriptionReport + summary: Fetches department wise reports based description of the complaint + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + - entity: $.TenantBoundary[0].boundary + apiURL: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=ADMIN&boundaryType=Locality&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_boundary + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: lastassignedto + label: reports.rainmaker-pgr.lastassignedto + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT + DISTINCT ON (servicerequestid) + ua.name as lastassignedto, + (SELECT deptmap_def.name FROM (VALUES tbl_def_dept) AS deptmap_def(name,code) INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) on deptmap.serviceCode = eg_pgr_service.servicecode and deptmap_def.code = deptmap.department) AS department, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + (SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + eg_user.name, + phone, + eg_pgr_address.landmark, + eg_pgr_address.housenoandstreetname as address, + description, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000)) < 1 THEN CONCAT('Overdue by ', ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000), ' days remaining') END) as slaHours), + Initcap(eg_pgr_service.status) as status + FROM eg_pgr_service + left outer join eg_pgr_address on eg_pgr_address.uuid = eg_pgr_service.addressid + left outer join eg_user on eg_user.id = eg_pgr_service.accountid::int + left outer join eg_pgr_action as epa on epa.businesskey = eg_pgr_service.servicerequestid and epa.action in ('assign','reassign') + left outer join eg_user as ua on ua.id = epa.assignee::int + WHERE + eg_pgr_service.tenantid LIKE $tenantid + AND eg_pgr_address.uuid = eg_pgr_service.addressid + AND eg_pgr_service.status IN ('open','assigned','reassigrequested','rejected') + orderby: ORDER BY servicerequestid, epa."when" desc + +- reportName: StateSourceReport + summary: Source of complaints across tenants + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: ivr + label: reports.rainmaker-pgr.source.ivr + type: string + source: eg_pgr_service + total: true + - name: mobileapp + label: reports.rainmaker-pgr.source.mobileapp + type: string + source: eg_pgr_service + total: true + - name: web + label: reports.rainmaker-pgr.source.web + type: string + source: eg_pgr_service + total: true + - name: unknown + label: reports.rainmaker-pgr.source.unknown + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select initcap(split_part(tenantid, '.', 2)) as tenantid, + SUM(CASE WHEN source ='ivr' THEN 1 ELSE 0 END) as ivr, + SUM(CASE WHEN source ='mobileapp' THEN 1 ELSE 0 END) as mobileapp, + SUM(CASE WHEN source ='web' THEN 1 ELSE 0 END) as web, + SUM(CASE WHEN source NOT IN ('web', 'ivr', 'mobileapp') OR source is NULL THEN 1 ELSE 0 END) as unknown + from eg_pgr_service + WHERE tenantid != 'pb.testing' + + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid + +- reportName: EmployeeReport + summary: Fetches complaints for employees + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.TenantBoundary[0].boundary + apiURL: http://egov-location.egov:8080/egov-location/location/v11/boundarys/_search?hierarchyTypeCode=ADMIN&boundaryType=Locality&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_boundary + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: servicecode + label: reports.rainmaker-pgr.servicecode + type: string + source: eg_pgr_service + total: false + - name: complaintNo + label: reports.rainmaker-pgr.complaintNo + type: string + source: eg_pgr_service + total: false + - name: date + label: reports.rainmaker-pgr.date + type: string + source: eg_pgr_service + total: false + - name: name + label: reports.rainmaker-pgr.name + type: string + source: eg_pgr_service + total: false + - name: phone + label: reports.rainmaker-pgr.phone + type: string + source: eg_pgr_service + total: false + - name: locality + label: reports.rainmaker-pgr.locality + type: string + source: eg_pgr_service + total: false + - name: address + label: reports.rainmaker-pgr.address + type: string + source: eg_pgr_service + total: false + - name: landmark + label: reports.rainmaker-pgr.landmark + type: string + source: eg_pgr_service + total: false + - name: description + label: reports.rainmaker-pgr.description + type: string + source: eg_pgr_service + total: false + - name: status + label: reports.rainmaker-pgr.status + type: string + source: eg_pgr_service + total: false + - name: slahours + label: reports.rainmaker-pgr.slahours + type: string + source: eg_pgr_service + total: false + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND eg_pgr_service.createdtime <= $toDate + query: | + SELECT (SELECT deptmap.department FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode) AS department, + regexp_replace(eg_pgr_service.servicecode, '([a-z])([A-Z])', '\1 \2','g') AS servicecode, + servicerequestid AS complaintNo, + to_char(to_timestamp(TRUNC(CAST(eg_pgr_service.createdtime AS bigint) / 1000)), 'DD/MM/YYYY') AS date, + (SELECT boundary_def.name FROM (VALUES tbl_boundary) AS boundary_def(name,code) where code=eg_pgr_address.mohalla) as locality, + eg_user.name, + phone, + eg_pgr_service.landmark, + housenoandstreetname as address, + description, + (SELECT (CASE WHEN (((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000)) < 1 THEN CONCAT('Overdue by ', ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000) - ((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24), ' days') ELSE CONCAT(((SELECT deptmap.slaHours FROM (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) WHERE deptmap.serviceCode = eg_pgr_service.servicecode)::integer / 24) - ((((select extract(epoch from now())) * 1000) - eg_pgr_service.createdtime)::bigint/86400000), ' days remaining') END) as slaHours), + initcap(status) as status FROM eg_pgr_service + INNER JOIN eg_user ON eg_pgr_service.accountid = eg_user.id::VARCHAR + INNER JOIN eg_pgr_address ON eg_pgr_service.addressid = eg_pgr_address.uuid + WHERE eg_pgr_service.status = 'assigned' + AND servicerequestid IN (SELECT DISTINCT businesskey FROM eg_pgr_action WHERE status = 'assigned' AND "when" IN (select max("when") FROM eg_pgr_action WHERE assignee NOTNULL GROUP BY businesskey) AND assignee = $userid) + orderby: ORDER BY eg_pgr_service.createdtime asc + +- reportName: StateULBReport + summary: Fetches complaints stats for all ULBs in state + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select initcap(split_part(tenantid, '.', 2)) as tenantid, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + COUNT(status) as total + from eg_pgr_service + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid + +- reportName: ComplaintTypesReport + summary: Fetches complaint stats based on complaint types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: complainttype + label: reports.rainmaker-pgr.complainttype + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + - name: total + label: reports.rainmaker-pgr.total + type: string + source: eg_pgr_service + total: true + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND tenantid = $ulb + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + regexp_replace(servicecode, '([a-z])([A-Z])', '\1 \2','g') as complainttype, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + count(status) as total + from eg_pgr_service + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid,servicecode + orderby: ORDER BY tenantid,servicecode + +- reportName: DepartmentReport + summary: Fetches complaint stats based on complaint types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: tenantid + label: reports.rainmaker-pgr.tenantid + type: string + source: eg_pgr_service + total: false + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: open + label: reports.rainmaker-pgr.status.open + type: string + source: eg_pgr_service + total: true + - name: assigned + label: reports.rainmaker-pgr.status.assigned + type: string + source: eg_pgr_service + total: true + - name: closed + label: reports.rainmaker-pgr.status.closed + type: string + source: eg_pgr_service + total: true + - name: reassignrequested + label: reports.rainmaker-pgr.status.reassignrequested + type: string + source: eg_pgr_service + total: true + - name: rejected + label: reports.rainmaker-pgr.status.rejected + type: string + source: eg_pgr_service + total: true + searchParams: + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND tenantid = $ulb + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND createdtime <= $toDate + query: | + select + initcap(split_part(tenantid, '.', 2)) as tenantid, + deptmap_def.name as department, + SUM(CASE WHEN status ='open' THEN 1 ELSE 0 END) as open, + SUM(CASE WHEN status ='assigned' THEN 1 ELSE 0 END) as assigned, + SUM(CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as closed, + SUM(CASE WHEN status ='reassignrequested' THEN 1 ELSE 0 END) as reassignrequested, + SUM(CASE WHEN status ='rejected' THEN 1 ELSE 0 END) as rejected, + count(status) as total + from eg_pgr_service + INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) ON deptmap.serviceCode = eg_pgr_service.servicecode + INNER JOIN (VALUES tbl_def_dept) AS deptmap_def(name,code) ON deptmap.department = deptmap_def.code + WHERE tenantid != 'pb.testing' + groupby: GROUP BY tenantid,deptmap_def.name + orderby: ORDER BY tenantid,deptmap_def.name + +- reportName: ULBDepartmentReport + summary: Fetches complaint stats based on department types for a ULB + version: 1.0.0 + moduleName: rainmaker-pgr + externalService: + - entity: $.MdmsRes.RAINMAKER-PGR.ServiceDefs + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=RAINMAKER-PGR&masterName=ServiceDefs&tenantId=$tenantId + keyOrder: serviceCode,department,slaHours + tableName: tbl_dept + - entity: $.MdmsRes.common-masters.Department + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantId + keyOrder: name,code + tableName: tbl_def_dept + sourceColumns: + - name: department + label: reports.rainmaker-pgr.department + type: string + source: eg_pgr_service + total: false + - name: rejected + label: reports.rainmaker-pgr.rejected + type: string + source: pgr_data + total: true + - name: resolved + label: reports.rainmaker-pgr.resolved + type: string + source: pgr_data + total: true + - name: resolvedoutsidesla + label: reports.rainmaker-pgr.resolvedoutsidesla + type: string + source: pgr_data + total: true + - name: open + label: reports.rainmaker-pgr.open + type: string + source: pgr_data + total: true + - name: assigned + label: reports.rainmaker-pgr.assigned + type: string + source: pgr_data + total: true + - name: outsidesla + label: reports.rainmaker-pgr.outsidesla + type: string + source: pgr_data + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime <= $toDate + query: | + with pgr_data as (select + servicerequestid, + servicecode, + createdtime, + status, + (select max("when") from eg_pgr_action where action='resolve' and businesskey = servicerequestid) as resolvedtime, + (select min("when") from eg_pgr_action where action='open' and businesskey = servicerequestid) as opentime + from eg_pgr_service as ps + where + tenantid = $tenantid) + + select + deptmap_def.name as department, + count(*) as total, + SUM (CASE WHEN status in ('rejected') THEN 1 ELSE 0 END) as rejected, + SUM (CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as resolved, + SUM (CASE WHEN status in ('closed', 'resolved') and (resolvedtime - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedoutsidesla, + SUM (CASE WHEN status in ('assigned', 'reassignrequested') THEN 1 ELSE 0 END) as assigned, + SUM (CASE WHEN status in ('open') THEN 1 ELSE 0 END) as open, + SUM (CASE WHEN status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as outsidesla + from pgr_data + INNER JOIN (VALUES tbl_dept) AS deptmap(serviceCode, department, slaHours) ON deptmap.serviceCode = pgr_data.servicecode + INNER JOIN (VALUES tbl_def_dept) AS deptmap_def(name,code) ON deptmap.department = deptmap_def.code + WHERE 1=1 + groupby: GROUP BY deptmap_def.name + orderby: ORDER BY deptmap_def.name + +- reportName: ULBEmployeeWiseReport + summary: Fetches employee wise assignment report + version: 1.0.0 + moduleName: rainmaker-pgr + sourceColumns: + - name: employee + label: reports.rainmaker-pgr.employee + type: string + source: pgr_data + total: false + - name: rejected + label: reports.rainmaker-pgr.rejected + type: string + source: pgr_data + total: true + - name: resolved + label: reports.rainmaker-pgr.resolved + type: string + source: pgr_data + total: true + - name: resolvedoutsidesla + label: reports.rainmaker-pgr.resolvedoutsidesla + type: string + source: pgr_data + total: true + - name: open + label: reports.rainmaker-pgr.open + type: string + source: pgr_data + total: true + - name: assigned + label: reports.rainmaker-pgr.assigned + type: string + source: pgr_data + total: true + - name: outsidesla + label: reports.rainmaker-pgr.outsidesla + type: string + source: pgr_data + total: true + searchParams: + - name: fromDate + label: reports.rainmaker-pgr.datefrom + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime >= $fromDate + - name: toDate + label: reports.rainmaker-pgr.dateto + type: epoch + source: eg_pgr_service + isMandatory: false + searchClause: AND pgr_data.createdtime <= $toDate + query: | + with pgr_data as (select + (select assignee from eg_pgr_action as pa where + pa.businesskey = ps.servicerequestid + and pa."action" in ('assign', 'reassign') + order by "when" desc + fetch first 1 rows only + ) as assignee, + servicerequestid, + createdtime, + status, + (select max("when") from eg_pgr_action where action='resolve' and businesskey = servicerequestid) as resolvedtime, + (select min("when") from eg_pgr_action where action='open' and businesskey = servicerequestid) as opentime + from eg_pgr_service as ps + where + tenantid = $tenantid) + + select + coalesce((select name from eg_user where id::varchar = assignee),'-- Unassigned --') as employee, + SUM (CASE WHEN status in ('rejected') THEN 1 ELSE 0 END) as rejected, + SUM (CASE WHEN status in ('closed', 'resolved') THEN 1 ELSE 0 END) as resolved, + SUM (CASE WHEN status in ('closed', 'resolved') and (resolvedtime - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as resolvedoutsidesla, + SUM (CASE WHEN status in ('assigned', 'reassignrequested') THEN 1 ELSE 0 END) as assigned, + SUM (CASE WHEN status in ('open') THEN 1 ELSE 0 END) as open, + SUM (CASE WHEN status in ('assigned', 'reassignrequested', 'open') and (extract(epoch from now()) * 1000 - opentime) >= 14 * 86400 * 1000 THEN 1 ELSE 0 END) as outsidesla + from pgr_data + WHERE 1=1 + orderby: ORDER BY assignee NULLS FIRST + groupby: GROUP BY assignee diff --git a/configs/reports/configs/rainmaker-pt-reports.yml b/configs/reports/configs/rainmaker-pt-reports.yml new file mode 100644 index 00000000..6203a4e5 --- /dev/null +++ b/configs/reports/configs/rainmaker-pt-reports.yml @@ -0,0 +1,1093 @@ +--- +ReportDefinitions: +- reportName: ReceiptRegister + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjusment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: pendingamount + label: reports.pt.pendingamount + type: string + source: pt + total: true + - name: propertyid + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: assessmentnumber + label: reports.pt.assessmentNo + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://Cash:Cash,Online:Online,Card:Card,DD:DD,Cheque:Cheque' + source: pt + isMandatory: false + searchClause: AND instrumenttype = $paymentMode + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt_addr.locality IN ($localityArray) + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + receiptheader, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + (SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END)) + as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END)) as adjusment + FROM egcl_receiptdetails_v1 + WHERE tenantid LIKE $tenantid + GROUP BY receiptheader + ) + SELECT + rh.tenantid AS tenantid, + rh.id, + Substring(rh.consumercode, '(.*):') AS propertyid, + Substring(rh.consumercode, ':(.*)') AS assessmentnumber, + rh.consumercode, + rh.receiptdate, + To_char(To_timestamp(rh.receiptdate / 1000), 'DD/MM/YYYY') AS transactiondate, + bankid AS bankname, + receiptnumber, + amount, + instrumenttype, + transactionnumber, + receipt_breakup.*, + rh.totalamount - ih.amount AS pendingamount, + pt_detail.financialyear, + To_char(To_timestamp(rh.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate, + Initcap(COALESCE(pt_detail.usagecategoryminor, pt_detail.usagecategorymajor)) as usagetype, + manualreceiptnumber as g8receiptno + FROM egcl_receiptheader_v1 AS rh + JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + JOIN egcl_instrumentheader_v1 AS ih ON ih.id = ri.instrumentheader + JOIN receipt_breakup ON rh.id = receipt_breakup.receiptheader + JOIN eg_pt_propertydetail_v2 pt_detail ON CONCAT(pt_detail.property, ':', pt_detail.assessmentnumber) = rh.consumercode + JOIN eg_pt_address_v2 pt_addr ON pt_detail.property = pt_addr.property + WHERE rh.tenantid LIKE $tenantid and rh.status != 'Cancelled' + orderby: ORDER BY rh.receiptdate DESC + +- reportName: CancelledReceiptRegister + summary: Receipt Register for cancelled Receipts + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: status + label: reports.pt.status + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjusment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: propertyid + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: assessmentnumber + label: reports.pt.assessmentNo + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://Cash:Cash,Online:Online,Card:Card,DD:DD,Cheque:Cheque' + source: pt + isMandatory: false + searchClause: AND instrumenttype = $paymentMode + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: localityArray + label: reports.pt.zoneList + type: boundarylist + source: pt + isMandatory: false + searchClause: AND pt_addr.locality IN ($localityArray) + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + receiptheader, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + (SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END)) + as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END)) as adjusment + FROM egcl_receiptdetails_v1 + WHERE tenantid LIKE $tenantid + GROUP BY receiptheader + ) + SELECT + rh.tenantid AS tenantid, + rh.id, + Substring(rh.consumercode, '(.*):') AS propertyid, + Substring(rh.consumercode, ':(.*)') AS assessmentnumber, + rh.status, + rh.consumercode, + rh.receiptdate, + To_char(To_timestamp(rh.receiptdate / 1000), 'DD/MM/YYYY') AS transactiondate, + bankid AS bankname, + receiptnumber, + amount, + instrumenttype, + transactionnumber, + receipt_breakup.*, + rh.totalamount - ih.amount AS pendingamount, + pt_detail.financialyear, + To_char(To_timestamp(rh.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate, + Initcap(COALESCE(pt_detail.usagecategoryminor, pt_detail.usagecategorymajor)) as usagetype, + manualreceiptnumber as g8receiptno + FROM egcl_receiptheader_v1 AS rh + JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + JOIN egcl_instrumentheader_v1 AS ih ON ih.id = ri.instrumentheader + JOIN receipt_breakup ON rh.id = receipt_breakup.receiptheader + JOIN eg_pt_propertydetail_v2 pt_detail ON CONCAT(pt_detail.property, ':', pt_detail.assessmentnumber) = rh.consumercode + JOIN eg_pt_address_v2 pt_addr ON pt_detail.property = pt_addr.property + WHERE rh.tenantid LIKE $tenantid and rh.status = 'Cancelled' + orderby: ORDER BY rh.receiptdate DESC + +- reportName: OldUlbWisePtCollection + summary: ULB-wise PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: totalassessments + label: reports.pt.totalassessments + type: string + source: pt + total: true + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: true + - name: totalamountdue + label: reports.pt.totalamountdue + type: string + source: pt + total: true + searchParams: + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: usage + label: Usage + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=PropertyTax&masterName=UsageCategoryMajor|$..code|$..name + source: pt + wrapper: true + isMandatory: false + searchClause: AND usagecategorymajor = $usage + query: | + SELECT + tenantid, + COUNT(*) AS totalassessments, + SUM(totalamount) AS totalamount, + SUM(amount) AS totalamountpaid, + (SUM(totalamount) - SUM(amount)) AS totalamountdue + FROM eg_pt_propertydetail_v2 AS pd + LEFT OUTER JOIN + (SELECT consumercode, totalamount, amount FROM egcl_receiptheader_v1 AS rh + LEFT OUTER JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + LEFT OUTER JOIN egcl_instrumentheader_v1 AS ih ON ri.instrumentheader = ih.id + and ih.instrumentstatus != 'CANCELLED' + where rh.status != 'Cancelled' + ) AS instrument_data ON CONCAT(pd.property, ':', pd.assessmentnumber) = instrument_data.consumercode + WHERE tenantid = $tenantid + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid, totalamountpaid DESC NULLS LAST + +- reportName: StateCancelledReceiptRegister + summary: Receipt Register for cancelled Receipts State + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: tenantid + label: reports.pt.ulbName + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptNo + type: string + source: pt + total: false + - name: status + label: reports.pt.status + type: string + source: pt + total: false + - name: transactiondate + label: reports.pt.receiptDate + type: string + source: pt + total: false + - name: g8issuedate + label: reports.pt.g8issuedate + type: string + source: pt + total: false + - name: g8receiptno + label: reports.pt.g8receiptno + type: string + source: pt + total: false + - name: amount + label: reports.pt.amount + type: string + source: pt + total: true + - name: propertytax + label: reports.pt.propertyTax + type: string + source: pt + total: true + - name: firecess + label: reports.pt.fireCess + type: string + source: pt + total: true + - name: cancercess + label: reports.pt.cancerCess + type: string + source: pt + total: true + - name: rebate + label: reports.pt.rebate + type: string + source: pt + total: true + - name: adhocrebate + label: reports.pt.adhocrebate + type: string + source: pt + total: true + - name: penalty + label: reports.pt.penalty + type: string + source: pt + total: true + - name: adhocpenalty + label: reports.pt.adhocpenalty + type: string + source: pt + total: true + - name: interest + label: reports.pt.interest + type: string + source: pt + total: true + - name: exemption + label: reports.pt.exemption + type: string + source: pt + total: true + - name: adjusment + label: reports.pt.roundoff + type: string + source: pt + total: true + - name: propertyid + label: reports.pt.propertyId + type: string + source: pt + total: false + - name: usagetype + label: reports.pt.usagetype + type: string + source: pt + total: false + - name: assessmentnumber + label: reports.pt.assessmentNo + type: string + source: pt + total: false + - name: financialyear + label: reports.pt.financialYear + type: string + source: pt + total: false + - name: instrumenttype + label: reports.pt.paymentMode + type: string + source: pt + total: false + - name: transactionnumber + label: reports.pt.ddChequeTransactionNo + type: string + source: pt + total: false + - name: bankname + label: reports.pt.bankName + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate <= $toDate + - name: paymentMode + label: Payment Mode + type: singlevaluelist + pattern: 'list://Cash:Cash,Online:Online,Card:Card,DD:DD,Cheque:Cheque' + source: pt + isMandatory: false + searchClause: AND instrumenttype = $paymentMode + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + receiptheader, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_FIRE_CESS' THEN adjustedamount ELSE 0 END) as firecess, + SUM(CASE WHEN taxheadcode LIKE 'PT_CANCER_CESS' THEN adjustedamount ELSE 0 END) as cancercess, SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as interest, SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as penalty, + SUM(CASE WHEN taxheadcode LIKE 'PT_TIME_REBATE' THEN adjustedamount ELSE 0 END) as rebate, + (SUM(CASE WHEN taxheadcode LIKE 'PT_TAX' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END)) + as propertytax, + SUM(CASE WHEN taxheadcode LIKE 'PT_UNIT_USAGE_EXEMPTION' THEN adjustedamount ELSE 0 END) as exemption, + (SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_CREDIT' THEN adjustedamount ELSE 0 END) + + SUM(CASE WHEN taxheadcode LIKE 'PT_DECIMAL_CEILING_DEBIT' THEN adjustedamount ELSE 0 END)) as adjusment + FROM egcl_receiptdetails_v1 + WHERE tenantid != 'pb.testing' + GROUP BY receiptheader + ) + SELECT + initcap(split_part(rh.tenantid, '.', 2)) as tenantid, + rh.id, + Substring(rh.consumercode, '(.*):') AS propertyid, + Substring(rh.consumercode, ':(.*)') AS assessmentnumber, + rh.status, + rh.consumercode, + rh.receiptdate, + To_char(To_timestamp(rh.receiptdate / 1000), 'DD/MM/YYYY') AS transactiondate, + bankid AS bankname, + receiptnumber, + amount, + instrumenttype, + transactionnumber, + receipt_breakup.*, + pt_detail.financialyear, + To_char(To_timestamp(rh.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate, + Initcap(COALESCE(pt_detail.usagecategoryminor, pt_detail.usagecategorymajor)) as usagetype, + manualreceiptnumber as g8receiptno + FROM egcl_receiptheader_v1 AS rh + JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + JOIN egcl_instrumentheader_v1 AS ih ON ih.id = ri.instrumentheader + JOIN receipt_breakup ON rh.id = receipt_breakup.receiptheader + JOIN eg_pt_propertydetail_v2 pt_detail ON CONCAT(pt_detail.property, ':', pt_detail.assessmentnumber) = rh.consumercode + JOIN eg_pt_address_v2 pt_addr ON pt_detail.property = pt_addr.property + WHERE rh.tenantid != 'pb.testing' and rh.status = 'Cancelled' + orderby: ORDER BY rh.receiptdate DESC + +- reportName: StateWidePtCollection + summary: State Wide PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: tenantid + label: reports.pt.ulbName + type: string + source: pt + total: false + - name: totalassessments + label: reports.pt.totalassessments + type: string + source: pt + total: true + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: true + - name: totaloffline + label: reports.pt.totaloffline + type: string + source: pt + total: true + - name: totalonline + label: reports.pt.totalonline + type: string + source: pt + total: true + - name: totalamountdue + label: reports.pt.totalamountdue + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND tenantid = $ulb + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: usage + label: Usage + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=PropertyTax&masterName=UsageCategoryMajor|$..code|$..name + source: pt + wrapper: true + isMandatory: false + searchClause: AND usagecategorymajor = $usage + query: | + SELECT + initcap(split_part(tenantid, '.', 2)) as tenantid, + COUNT(*) AS totalassessments, + SUM(totalamount) AS totalamount, + SUM(amount) AS totalamountpaid, + SUM(CASE WHEN collectiontype LIKE 'ONLINE' THEN amount ELSE 0 END) AS totalonline, + SUM(CASE WHEN collectiontype LIKE 'COUNTER' THEN amount ELSE 0 END) AS totaloffline, + (SUM(totalamount) - SUM(amount)) AS totalamountdue + FROM eg_pt_propertydetail_v2 AS pd + LEFT OUTER JOIN (SELECT consumercode, totalamount, amount, collectiontype, receiptdate FROM egcl_receiptheader_v1 AS rh + LEFT OUTER JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + LEFT OUTER JOIN egcl_instrumentheader_v1 AS ih ON ri.instrumentheader = ih.id and ih.instrumentstatus != 'CANCELLED' + where rh.status != 'Cancelled' + ) AS tbl_amounts ON CONCAT(pd.property, ':', pd.assessmentnumber) = tbl_amounts.consumercode + WHERE tenantid LIKE CONCAT(SPLIT_PART($tenantid, '.', 1), '%') and tenantid != 'pb.testing' + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid, totalamountpaid DESC NULLS LAST + +- reportName: UlbWisePtCollection + summary: State Wide PT Collection + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: totalassessments + label: reports.pt.totalassessments + type: string + source: pt + total: true + - name: totalamountpaid + label: reports.pt.totalamountpaid + type: string + source: pt + total: true + - name: totaloffline + label: reports.pt.totaloffline + type: string + source: pt + total: true + - name: totalonline + label: reports.pt.totalonline + type: string + source: pt + total: true + - name: totalamountdue + label: reports.pt.totalamountdue + type: string + source: pt + total: true + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND receiptdate <= $toDate + - name: financialyear + label: Financial Year + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=egf-master&masterName=FinancialYear|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].code|$.MdmsRes.egf-master.FinancialYear.[?(@.module=='PT')].name + source: pt + wrapper: true + isMandatory: false + searchClause: AND financialyear = $financialyear + - name: usage + label: Usage + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=PropertyTax&masterName=UsageCategoryMajor|$..code|$..name + source: pt + wrapper: true + isMandatory: false + searchClause: AND usagecategorymajor = $usage + query: | + SELECT + initcap(split_part(tenantid, '.', 2)) as tenantid, + COUNT(*) AS totalassessments, + SUM(totalamount) AS totalamount, + SUM(amount) AS totalamountpaid, + SUM(CASE WHEN collectiontype LIKE 'ONLINE' THEN amount ELSE 0 END) AS totalonline, + SUM(CASE WHEN collectiontype LIKE 'COUNTER' THEN amount ELSE 0 END) AS totaloffline, + (SUM(totalamount) - SUM(amount)) AS totalamountdue + FROM eg_pt_propertydetail_v2 AS pd + LEFT OUTER JOIN (SELECT consumercode, totalamount, amount, collectiontype, receiptdate FROM egcl_receiptheader_v1 AS rh + LEFT OUTER JOIN egcl_receiptinstrument_v1 AS ri ON rh.id = ri.receiptheader + LEFT OUTER JOIN egcl_instrumentheader_v1 AS ih ON ri.instrumentheader = ih.id and ih.instrumentstatus != 'CANCELLED' + where rh.status != 'Cancelled' + ) AS tbl_amounts ON CONCAT(pd.property, ':', pd.assessmentnumber) = tbl_amounts.consumercode + WHERE tenantid LIKE CONCAT(SPLIT_PART($tenantid, '.', 1), '%') and tenantid = $tenantid + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid, totalamountpaid DESC NULLS LAST + + +- reportName: ULBPTDataDumpReport + summary: ULB level report + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: ulb + label: reports.pt.ulb + type: string + source: pt + total: false + - name: propertytaxuniqueid + label: reports.pt.propertytaxuniqueid + type: string + source: pt + total: false + - name: transcationdate + label: reports.pt.transcationdate + type: string + source: pt + total: false + - name: receiptnumber + label: reports.pt.receiptnumber + type: string + source: pt + total: false + - name: existingpropertyid + label: reports.pt.existingpropertyid + type: string + source: pt + total: false + - name: ownername + label: reports.pt.ownername + type: string + source: pt + total: false + - name: guardianname + label: reports.pt.guardianname + type: string + source: pt + total: false + - name: totalarea + label: reports.pt.totalarea + type: string + source: pt + total: false + - name: builtarea + label: reports.pt.builtarea + type: string + source: pt + total: false + - name: floors + label: reports.pt.floors + type: string + source: pt + total: false + - name: occupancy + label: reports.pt.occupancy + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: mobileno + label: reports.pt.mobileno + type: string + source: pt + total: false + - name: transcationmode + label: reports.pt.transcationmode + type: string + source: pt + total: false + - name: paymentamount + label: reports.pt.paymentamount + type: string + source: pt + total: true + - name: paymentdate + label: reports.pt.paymentdate + type: string + source: pt + total: false + - name: emailid + label: reports.pt.emailid + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND rh.receiptdate <= $toDate + query: | + --S.no Service Name ULB Property Tax Unique ID Date Of Transcation Receipt Number Existing Property ID Owner Name Guardian Name Total Area (SQ.YARD) Covered Area/Built Area (SQ.FEET) Floors Occupancy (Rented,Self /Unoccupied) Type Of Property Mobile Number Transcation Mode of Payment Payment Amount Payment Date Email Id Address + with eg_pt_unit_v2_ot as ( + select + propertydetail, + string_agg(distinct pu.occupancytype, ',') as occupancytype, + string_agg(distinct coalesce(usagecategoryminor, usagecategorymajor), ',') as propertytype + from eg_pt_unit_v2 as pu + where pu.tenantid = $tenantid + group by propertydetail + ) + select + distinct on (rh.receiptnumber) + initcap(split_part(rh.tenantid, '.', 2)) as "ulb", + split_part(consumercode, ':', 1) as "propertytaxuniqueid", + to_timestamp(receiptdate/1000) at time zone 'Asia/Kolkata' as "transcationdate", + receiptnumber as "receiptnumber", + pt.oldpropertyid as "existingpropertyid", + eu."name" as "ownername", + eu.guardian as "guardianname", + pd.landarea as "totalarea", + pd.builduparea * 9 as "builtarea", + pd.nooffloors as "floors", + pot.occupancytype as "occupancy", + pot.propertytype as "propertytype", + eu.mobilenumber as "mobileno", + instrumenttype as "transcationmode", + ih.amount as "paymentamount", + to_timestamp(ih.transactiondate/1000) at time zone 'Asia/Kolkata' as "paymentdate", + eu.emailid as "emailid" , + REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(pta.doorno, ',', pta.addressline1, ',', pta.addressline2, ',', pta.buildingname, ',', pta.pincode), ',+', ','), '^,|,$', '') as "address" + from egcl_receiptheader_v1 as rh + inner join egcl_receiptinstrument_v1 as ri on ri.receiptheader = rh.id inner join egcl_instrumentheader_v1 as ih on ih.id = ri.instrumentheader + inner join eg_pt_property_v2 as pt on pt.propertyid = split_part(consumercode, ':', 1) + inner join eg_pt_propertydetail_v2 as pd on pd.assessmentnumber = split_part(consumercode, ':', 2) + inner join eg_pt_owner_v2 as po on po.propertydetail = pd.assessmentnumber + inner join eg_user as eu on eu.uuid = po.userid + inner join eg_pt_address_v2 as pta on pta.property = pt.propertyid + inner join eg_pt_unit_v2_ot as pot on pot.propertydetail = pd.assessmentnumber + where rh.tenantid = $tenantid + +- reportName: PT_NO_PAYMENT_DEFAULTERS + summary: PT NO PAYMENT DEFAULTERS + version: 1.0.0 + moduleName: rainmaker-pt + sourceColumns: + - name: tenantid + label: reports.pt.tenantid + type: string + source: pt + total: false + - name: propertyid + label: reports.pt.propertyid + type: string + source: pt + total: false + - name: surveyid + label: reports.pt.surveyid + type: string + source: pt + total: false + - name: oldpropertyid + label: reports.pt.oldpropertyid + type: string + source: pt + total: false + - name: firmbusinessname + label: reports.pt.firmbusinessname + type: string + source: pt + total: false + - name: address + label: reports.pt.address + type: string + source: pt + total: false + - name: blockname + label: reports.pt.blockname + type: string + source: pt + total: false + - name: zonename + label: reports.pt.zonename + type: string + source: pt + total: false + - name: propertyusagetype + label: reports.pt.propertyusagetype + type: string + source: pt + total: false + - name: propertytype + label: reports.pt.propertytype + type: string + source: pt + total: false + - name: superbuilduparea + label: reports.pt.superbuilduparea + type: string + source: pt + total: false + - name: nooffloors + label: reports.pt.nooffloors + type: string + source: pt + total: false + - name: ownershipcategory + label: reports.pt.ownershipcategory + type: string + source: pt + total: false + - name: source + label: reports.pt.source + type: string + source: pt + total: false + - name: channel + label: reports.pt.channel + type: string + source: pt + total: false + - name: propertystatus + label: reports.pt.propertystatus + type: string + source: pt + total: false + query: | + select + tenantid, + propertyid, + surveyid, + oldpropertyid, + firmbusinessname, + concat(address,' ',localityname) as address, + blockname, + zonename, + propertyusagetype, + propertytype, + superbuilduparea, + nooffloors, + ownershipcategory, + source, + channel, + propertystatus + from report_properties_withoutdemand where tenantid=$tenantid + diff --git a/configs/reports/configs/rainmaker-tl-reports.yml b/configs/reports/configs/rainmaker-tl-reports.yml new file mode 100644 index 00000000..9987e3e4 --- /dev/null +++ b/configs/reports/configs/rainmaker-tl-reports.yml @@ -0,0 +1,781 @@ +--- +ReportDefinitions: +- reportName: TradeLicenseRegistryReport + decryptionPathId: TradeLicenseRegistryReport + summary: TL Receipt Register Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: receiptnumber + label: report.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptIssueDate + label: report.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: bankid + label: report.tl.bankid + type: string + source: tl + total: false + - name: branchname + label: report.tl.branchname + type: string + source: tl + total: false + - name: transactionumber + label: report.tl.transactionumber + type: string + source: tl + total: false + - name: instrumenttype + label: report.tl.instrumenttype + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: true + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate <= $toDate + query: | + SELECT + licensenumber, + to_char(To_timestamp(issueddate / 1000), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + initcap(tl.status) as status, + to_char(To_timestamp(receipt.receiptdate / 1000), 'DD/MM/YYYY') as receiptIssueDate , + receipt.receiptnumber, + tradeTypeName, + acc, + name, + mobilenumber, + ih.bankid, + ih.branchname, + ih.transactionnumber, + ih.instrumenttype, + amount as totalamount, + To_char(To_timestamp(receipt.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate, + receipt.manualreceiptnumber as g8receiptno + + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + INNER JOIN message ON split_part(message.code,'_',2) = tradeType AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + LEFT OUTER JOIN egcl_receiptheader_v1 receipt ON receipt.consumercode = tl.applicationnumber and receipt.status != 'Cancelled' + LEFT OUTER JOIN egcl_receiptinstrument_v1 as ri ON ri.receiptheader = receipt.id + LEFT OUTER JOIN egcl_instrumentheader_v1 as ih ON ih.id = ri.instrumentheader and ih.instrumentstatus != 'CANCELLED' + LEFT OUTER JOIN (SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = accessorycategory AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.Status in ('APPROVED', 'PAID', 'CANCELLED') AND tl.tenantId LIKE $tenantid + +- reportName: StateTradeLicenseCancelledRegistryReport + summary: TL Cancelled Receipt Register Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantid + type: string + source: tl + total: false + - name: receiptnumber + label: report.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptIssueDate + label: report.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: bankid + label: report.tl.bankid + type: string + source: tl + total: false + - name: branchname + label: report.tl.branchname + type: string + source: tl + total: false + - name: transactionumber + label: report.tl.transactionumber + type: string + source: tl + total: false + - name: instrumenttype + label: report.tl.instrumenttype + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate <= $toDate + query: | + SELECT + initcap(split_part(tl.tenantId, '.', 2)) as tenantId, + licensenumber, + to_char(To_timestamp(issueddate / 1000), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + initcap(tl.status) as status, + to_char(To_timestamp(receipt.receiptdate / 1000), 'DD/MM/YYYY') as receiptIssueDate , + receipt.receiptnumber, + tradeTypeName, + acc, + name, + mobilenumber, + ih.bankid, + ih.branchname, + ih.transactionnumber, + ih.instrumenttype, + amount as totalamount, + To_char(To_timestamp(receipt.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate, + receipt.manualreceiptnumber as g8receiptno + + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + INNER JOIN message ON split_part(message.code,'_',2) = tradeType AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + INNER JOIN egcl_receiptheader_v1 receipt ON receipt.consumercode = tl.applicationnumber and receipt.status = 'Cancelled' + INNER JOIN egcl_receiptinstrument_v1 as ri ON ri.receiptheader = receipt.id + INNER JOIN egcl_instrumentheader_v1 as ih ON ih.id = ri.instrumentheader + LEFT OUTER JOIN (SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = accessorycategory AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.tenantId != 'pb.testing' + +- reportName: TradeLicenseCancelledRegistryReport + summary: TL Cancelled Receipt Register Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: receiptnumber + label: report.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptIssueDate + label: report.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: bankid + label: report.tl.bankid + type: string + source: tl + total: false + - name: branchname + label: report.tl.branchname + type: string + source: tl + total: false + - name: transactionumber + label: report.tl.transactionumber + type: string + source: tl + total: false + - name: instrumenttype + label: report.tl.instrumenttype + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate <= $toDate + query: | + SELECT + licensenumber, + to_char(To_timestamp(issueddate / 1000), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + initcap(tl.status) as status, + to_char(To_timestamp(receipt.receiptdate / 1000), 'DD/MM/YYYY') as receiptIssueDate , + receipt.receiptnumber, + tradeTypeName, + acc, + name, + mobilenumber, + ih.bankid, + ih.branchname, + ih.transactionnumber, + ih.instrumenttype, + amount as totalamount, + To_char(To_timestamp(receipt.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate, + receipt.manualreceiptnumber as g8receiptno + + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + INNER JOIN message ON split_part(message.code,'_',2) = tradeType AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + INNER JOIN egcl_receiptheader_v1 receipt ON receipt.consumercode = tl.applicationnumber and receipt.status = 'Cancelled' + INNER JOIN egcl_receiptinstrument_v1 as ri ON ri.receiptheader = receipt.id + INNER JOIN egcl_instrumentheader_v1 as ih ON ih.id = ri.instrumentheader + LEFT OUTER JOIN (SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = accessorycategory AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.tenantId LIKE $tenantid + + +- reportName: TradeWiseCollectionReport + summary: Collection according to tradeTypes + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: transactionNumber + label: report.tl.totalTransaction + type: string + source: tl + total: false + - name: online + label: report.tl.online.collection + type: number + source: tl + total: true + - name: offline + label: report.tl.offline.collection + type: number + source: tl + total: true + - name: total + label: report.tl.totalCollection + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND rh.receiptdate <= $toDate + query: | + select + sum(ih.amount) as total, + count(*) as transactionNumber, + sum(case collectiontype when 'COUNTER' then amount else 0 end) as offline, + sum(case collectiontype when 'ONLINE' then amount else 0 end) as online, + initcap(split_part(rh.tenantId, '.', 2)) as tenantId + from egcl_receiptheader_v1 as rh + inner join egcl_receiptinstrument_v1 as ri on ri.receiptheader = rh.id + inner join egcl_instrumentheader_v1 as ih on ih.id = ri.instrumentheader + where rh.businessdetails = 'TL' and rh.status !='Cancelled' and rh.tenantid !='pb.testing' + AND rh.tenantId LIKE $tenantid + groupby: GROUP BY rh.tenantId + +- reportName: TradeLicenseApplicationStatusReport + summary: Nummber of applications by there status + version: 1.0.0 + moduleName: rainmaker-tl + externalService: + - entity: $.messages[*] + apiURL: http://egov-localization:8080/localization/messages/v1/_search?locale=en_IN&tenantId=pb&module=rainmaker-tl + keyOrder: code,message + tableName: tbl_localization + sourceColumns: + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: total + label: report.tl.total + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + query: SELECT COUNT(applicationnumber) as total,message.message as status from eg_tl_tradelicense tl LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND message.locale = 'en_IN' WHERE tl.tenantid LIKE $tenantid + groupby: GROUP BY message.message + orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end + +- reportName: TradeLicenseULBWiseApplicationStatusReport + summary: Nummber of applications by there status + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantid + type: string + source: tl + total: false + - name: initiated + label: TL_INITIATED + type: number + source: tl + total: true + - name: applied + label: TL_APPLIED + type: number + source: tl + total: true + - name: paid + label: TL_PAID + type: number + source: tl + total: true + - name: approved + label: TL_APPROVED + type: number + source: tl + total: true + - name: rejected + label: TL_REJECTED + type: number + source: tl + total: true + - name: cancelled + label: TL_CANCELLED + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + query: | + SELECT + initcap(split_part(tenantId, '.', 2)) as tenantId, + SUM(CASE status when 'REJECTED' then 1 else 0 end) as rejected, + SUM(CASE status when 'INITIATED' then 1 else 0 end) as initiated, + SUM(CASE status when 'PAID' then 1 else 0 end) as paid, + SUM(CASE status when 'APPROVED' then 1 else 0 end) as approved, + SUM(CASE status when 'APPLIED' then 1 else 0 end) as applied, + SUM(CASE status when 'CANCELLED' then 1 else 0 end) as cancelled + FROM eg_tl_tradelicense as tl + WHERE tl.tenantid != 'pb.testing' + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid + + +- reportName: StateLevelStatus + summary: Nummber of applications by there status state level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: total + label: report.tl.total + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND tl.tenantId = $ulb + query: SELECT COUNT(applicationnumber) as total,message.message as status from eg_tl_tradelicense tl LEFT OUTER JOIN (select distinct module,code,locale,tenantid,message from message where module='rainmaker-tl' ) as message ON split_part(message.code,'_',2) = status AND message.locale = 'en_IN' WHERE 1=1 + groupby: GROUP BY message.message + orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end + + + +- reportName: StateLevelTradeWiseCollection + summary: Collection according to tradeTypes state level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantid + type: string + source: tl + total: false + - name: transactionNumber + label: report.tl.totalTransaction + type: string + source: tl + total: true + - name: online + label: report.tl.online.collection + type: number + source: tl + total: true + - name: offline + label: report.tl.offline.collection + type: number + source: tl + total: true + - name: total + label: report.tl.totalCollection + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND rh.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND rh.receiptdate <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND tl.tenantId = $ulb + query: | + select + sum(ih.amount) as total, + count(*) as transactionNumber, + sum(case collectiontype when 'COUNTER' then amount else 0 end) as offline, + sum(case collectiontype when 'ONLINE' then amount else 0 end) as online, + initcap(split_part(rh.tenantId, '.', 2)) as tenantId + from egcl_receiptheader_v1 as rh + inner join egcl_receiptinstrument_v1 as ri on ri.receiptheader = rh.id + inner join egcl_instrumentheader_v1 as ih on ih.id = ri.instrumentheader + where rh.businessdetails = 'TL' and rh.status !='Cancelled' and rh.tenantid !='pb.testing' + groupby: GROUP BY rh.tenantId + orderby: ORDER BY rh.tenantId asc + + +- reportName: StateLevelTradeLicenseRegistryReport + summary: TL Basic Report State Level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantId + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: number + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND issueddate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND issueddate <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND tl.tenantId = $ulb + query: SELECT tl.tenantId as tenantId,licensenumber,to_char(To_timestamp(issueddate / 1000), 'DD/MM/YYYY') as formattedIssuedDate,tl.tradeName,tradeTypeName,acc, name,mobilenumber,amount as totalamount,To_char(To_timestamp(receipt.manualreceiptdate / 1000), 'DD/MM/YYYY') AS g8issuedate,receipt.manualreceiptnumber as g8receiptno FROM eg_tl_tradelicense tl INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id INNER JOIN eg_tl_owner tlowner ON tlowner.tradelicensedetailid = tld.id INNER JOIN (SELECT tradelicensedetailid,message.message as tradeTypeName FROM eg_tl_tradeunit INNER JOIN message ON split_part(message.code,'_',2) = tradeType) tlunit ON tlunit.tradelicensedetailid = tld.id INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id LEFT OUTER JOIN egcl_receiptheader_v1 receipt ON receipt.consumercode = tl.applicationnumber LEFT JOIN egcl_receiptinstrument_v1 as ri ON ri.receiptheader = receipt.id LEFT JOIN egcl_instrumentheader_v1 as ih ON ih.id = ri.instrumentheader LEFT OUTER JOIN (SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory LEFT OUTER JOIN message ON split_part(message.code,'_',2) = accessorycategory AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id WHERE tl.Status = 'APPROVED' + orderby: ORDER BY tl.tenantId asc diff --git a/configs/reports/configs/swm-reports.yml b/configs/reports/configs/swm-reports.yml new file mode 100644 index 00000000..48c97dfc --- /dev/null +++ b/configs/reports/configs/swm-reports.yml @@ -0,0 +1,135 @@ +ReportDefinitions: +- reportName: DumpingGroundDetailReport + summary: Dumping Ground Details report + version: 1.0.0 + moduleName: swm + externalService: + - entity: $.MdmsRes.swm.DumpingGround + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=swm&masterName=DumpingGround&tenantId=$tenantid + keyOrder: code,name,tenantId,isProcessingSite + tableName: tbl_swmdumpingground + stateData: true + sourceColumns: + - name: dumpinggroundname + label: reports.swm.dumpingground + type: string + source: mdms + - name: date + label: reports.swm.date + type: string + source: egswm_sourcesegregation + - name: wetwastecollected + label: reports.swm.wetwaste + type: number + source: egswm_collectiondetails + - name: drywastecollected + label: reports.swm.drywaste + type: number + source: egswm_collectiondetails + - name: sortdate + label: reports.swm.date + type: string + source: egswm_sourcesegregation + showColumn: false + + searchParams: + - name: dumpinggroundcode + label: reports.swm.dumpingground + type: singlevaluelist + source: mdms + isMandatory: false + stateData: true + wrapper: true + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=swm&masterName=DumpingGround&tenantId=$tenantid|$.MdmsRes.swm.DumpingGround.*.code|$.MdmsRes.swm.DumpingGround.*.name + searchClause: and ssg.dumpingground = $dumpinggroundcode + - name: wasteprocess + label: reports.swm.wasteprocess + type: singlevaluelist + pattern: 'list://false:Dump,true:Process' + source: wastetypeprocess + isMandatory: false + searchClause: and dg.isProcessingSite = $wasteprocess + - name: wastetype + label: reports.swm.wastetype + type: singlevaluelist + pattern: 'list://Wet:Wet,Dry:Dry' + source: wastetype + isMandatory: false + - name: fromDate + label: reports.swm.datefrom + type: epoch + source: egswm_sourcesegregation + isMandatory: true + - name: toDate + label: reports.swm.dateto + type: epoch + source: egswm_sourcesegregation + isMandatory: true + query: select dg.name as dumpinggroundname, CASE WHEN $wastetype = 'Wet' THEN sum(cd.wetwastecollected) WHEN $wastetype = 'Dry' THEN 0 ELSE sum(cd.wetwastecollected) END as wetwastecollected, CASE WHEN $wastetype = 'Wet' THEN 0 WHEN $wastetype = 'Dry' THEN sum(cd.drywastecollected) ELSE sum(cd.drywastecollected) END as drywastecollected, to_char((to_timestamp(ssg.sourcesegregationdate/1000) AT TIME ZONE 'Asia/Kolkata')::date,'dd/mm/yyyy') as date, (to_timestamp(ssg.sourcesegregationdate/1000) AT TIME ZONE 'Asia/Kolkata')::date as sortdate from egswm_collectiondetails cd, egswm_sourcesegregation ssg, (VALUES tbl_swmdumpingground) as dg (code,name,tenantId,isProcessingSite) where cd.sourcesegregation = ssg.code and cd.tenantid = $tenantid and ssg.tenantid = $tenantid and ssg.dumpingground = dg.code and ssg.sourcesegregationdate >= $fromDate and ssg.sourcesegregationdate <= $toDate + groupBy: group by date, dumpinggroundname, sortdate order by dumpinggroundname, sortdate; + +- reportName: ExpenditureIncurredReport + summary: Expenditure incurred on Transportation report + version: 1.0.0 + moduleName: swm + externalService: + - entity: $.MdmsRes.swm.VehicleType + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=swm&masterName=VehicleType&tenantId=$tenantid + keyOrder: code,name,tenantId + tableName: tbl_swmvehicletype + stateData: true + sourceColumns: + - name: date + label: reports.swm.date + type: string + source: egswm_vehiclemaintenancedetails + - name: vehicletype + label: reports.swm.vehicletype + type: string + source: mdms + - name: registrationnumber + label: reports.swm.registrationnumber + type: string + source: egswm_vehicle + - name: fuellingcost + label: reports.swm.fuellingcost + type: number + source: egswm_vehiclefuellingdetails + - name: maintenancecost + label: reports.swm.maintenancecost + type: number + source: egswm_vehiclemaintenancedetails + - name: salary + label: reports.swm.salary + type: string + source: employee + - name: totalcost + label: reports.swm.totalcost + type: number + source: egswm_vehiclemaintenancedetails + searchParams: + - name: vehicle + label: reports.swm.vehicle + type: singlevaluelistac + source: egswm_vehicle + isMandatory: true + wrapper: true + pattern: http://swm-services:8080/swm-services/vehicles/_search?tenantId=$tenantid|$..regNumber|$..regNumber + - name: typeofvehicle + label: reports.swm.vehicletype + type: string + source: egswm_vehicle + isMandatory: false + wrapper: true + pattern: /swm-services/vehicles/_search?tenantId=$tenantid®Numbers={vehicle}|$..vehicleType.name|$..vehicleType.name + - name: fromDate + label: reports.swm.datefrom + type: epoch + source: egswm_vehiclemaintenancedetails + isMandatory: true + - name: toDate + label: reports.swm.dateto + type: epoch + source: egswm_vehiclemaintenancedetails + isMandatory: true + query: select to_char(result.date,'dd/mm/yyyy') as date,COALESCE(sum(result.fuellingcost),0) as fuellingcost,COALESCE(sum(result.maintenancecost),0) as maintenancecost,COALESCE(sum(result.totalcost),0) as totalcost, result.vehicletype as vehicletype, result.registrationnumber registrationnumber,'' as salary from ((select (to_timestamp(vmd.actualmaintenancedate/1000) AT TIME ZONE 'Asia/Kolkata')::date as date,0 as fuellingcost,COALESCE(sum(vmd.costincurred),0) as maintenancecost,COALESCE(sum(vmd.costincurred),0) as totalcost, vt.name as vehicletype,vehicle.regnumber as registrationnumber from egswm_vehicle vehicle, egswm_vehiclemaintenancedetails vmd, (VALUES tbl_swmvehicletype) as vt (code,name,tenantId) where vehicle.regnumber = $vehicle and vehicle.vehicletype = vt.code and vehicle.regnumber = vmd.vehicle and vehicle.tenantid = $tenantid and vmd.tenantid = $tenantid and vmd.actualmaintenancedate >= $fromDate and vmd.actualmaintenancedate <= $toDate group by date, vt.name, registrationnumber) UNION (select (to_timestamp(vfd.transactiondate/1000) AT TIME ZONE 'Asia/Kolkata')::date as date, COALESCE(sum(vfd.totalcostincurred),0) as fuellingcost, 0 as maintenancecost, COALESCE(sum(vfd.totalcostincurred),0) as totalcost, vt.name as vehicletype,vehicle.regnumber as registrationnumber from egswm_vehicle vehicle, egswm_vehiclefuellingdetails vfd, (VALUES tbl_swmvehicletype) as vt (code,name,tenantId) where vehicle.regnumber = $vehicle and vehicle.vehicletype = vt.code and vehicle.regnumber = vfd.vehicle and vehicle.tenantid = $tenantid and vfd.tenantid = $tenantid and vfd.transactiondate >= $fromDate and vfd.transactiondate <= $toDate group by date, vt.name, registrationnumber)) as result group by result.date, result.registrationnumber, result.vehicletype order by result.registrationnumber, result.date, result.vehicletype; diff --git a/configs/reports/configs/tl-reports.yml b/configs/reports/configs/tl-reports.yml index d4788c88..e023d98a 100644 --- a/configs/reports/configs/tl-reports.yml +++ b/configs/reports/configs/tl-reports.yml @@ -135,7 +135,7 @@ ReportDefinitions: amount as totalamount, To_char((To_timestamp(receipt.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') AS g8issuedate, receipt.manualreceiptnumber as g8receiptno, - (CASE WHEN collectiontype='COUNTER' THEN eg_user.name ELSE '' END) as collectorname + (CASE WHEN collectiontype='COUNTER' THEN eg_user.name ELSE '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' END) as collectorname --value for Online FROM eg_tl_tradelicense tl INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id @@ -539,7 +539,7 @@ ReportDefinitions: COUNT(applicationnumber) as total, message.message as status from eg_tl_tradelicense tl - LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND message.locale = 'en_IN' + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND split_part(message.code,'_',1)='TL' AND message.locale = 'en_IN' WHERE tl.tenantid LIKE $tenantid groupby: GROUP BY message.message orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end @@ -653,7 +653,7 @@ ReportDefinitions: COUNT(applicationnumber) as total, message.message as status from eg_tl_tradelicense tl - LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND message.locale = 'en_IN' + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND split_part(message.code,'_',1)='TL' AND message.locale = 'en_IN' WHERE tl.tenantid!='pb.testing' groupby: GROUP BY message.message orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end @@ -691,7 +691,7 @@ ReportDefinitions: COUNT(applicationnumber) as total, message.message as status from eg_tl_tradelicense tl - LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND message.locale = 'en_IN' + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND split_part(message.code,'_',1)='TL' AND message.locale = 'en_IN' WHERE tl.tenantid=$tenantid groupby: GROUP BY message.message orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end @@ -958,7 +958,7 @@ ReportDefinitions: ) tlown ON tlown.tradelicensedetailid = tld.id WHERE tl.tenantid=$tenantid - - reportName: TradeLicenseDetailsReport +- reportName: TradeLicenseDetailsReport summary: Trade License Details Report version: 1.0.0 moduleName: rainmaker-tl @@ -1215,4 +1215,1776 @@ ReportDefinitions: ) tlown ON tlown.tradelicensedetailid = tld.id where validto < extract (epoch from NOW())*1000 and licensenumber is not null and licensenumber not in (select oldlicensenumber from eg_tl_tradelicense where oldlicensenumber is not null) and tenantid = $tenantid + + +- reportName: TradeLicenseRegistryReport_v2 + decryptionPathId: TradeLicenseRegistryReport_v2 + summary: TL Receipt Register Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: receiptnumber + label: report.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptIssueDate + label: report.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: bankid + label: report.tl.bankid + type: string + source: tl + total: false + - name: branchname + label: report.tl.branchname + type: string + source: tl + total: false + - name: transactionnumber + label: report.tl.transactionumber + type: string + source: tl + total: false + - name: instrumenttype + label: report.tl.instrumenttype + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + - name: collectorname + label: reports.uc.collectorname + type: string + source: pt + total: false + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND egcl_paymentdetail.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND egcl_paymentdetail.receiptdate <= $toDate + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=TL_CEMP|$.Employees[*].user.id|$.Employees[*].user.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + SELECT + licensenumber, + to_char((To_timestamp(issueddate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + initcap(tl.status) as status, + to_char((To_timestamp(egcl_paymentdetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptIssueDate , + egcl_paymentdetail.receiptnumber, + tradeTypeName, + acc, + split_part(tlown.name,',',1) as name, -- showing first name as decryption service not able to decrypt multiple comma seperated encrypted names + split_part(tlown.mobilenumber,',',1) as mobilenumber, -- similary showing first mobilenumber only + payment.ifsccode as bankid, -- ih.bankid, + payment.ifsccode as branchname, --ih.branchname, + payment.transactionnumber as transactionnumber, -- ih.transactionnumber as transactionnumber, + payment.paymentmode as instrumenttype, -- ih.instrumenttype, + payment.totalamountpaid as totalamount, --amount as totalamount, + To_char((To_timestamp(egcl_paymentdetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') AS g8issuedate, + egcl_paymentdetail.manualreceiptnumber as g8receiptno, + (CASE WHEN paymentmode!='ONLINE' THEN eg_user.name ELSE '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' END) as collectorname + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + LEFT OUTER JOIN message ON code = CONCAT('TRADELICENSE_TRADETYPE_', REGEXP_REPLACE(tradetype, '[^A-Za-z0-9]','_','g')) AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + LEFT OUTER JOIN egcl_bill bill ON bill.consumercode = tl.applicationnumber + LEFT OUTER JOIN egcl_paymentdetail on bill.id=egcl_paymentdetail.billid + LEFT OUTER JOIN egcl_payment as payment ON payment.id = egcl_paymentdetail.paymentid + LEFT OUTER JOIN ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON code=CONCAT('TRADELICENSE_ACCESSORIESCATEGORY_', REGEXP_REPLACE(accessorycategory, '[^A-Za-z0-9]','_', 'g')) AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + Join eg_user ON eg_user.id = egcl_paymentdetail.createdby::INTEGER + WHERE tl.tenantId = $tenantid and payment.paymentstatus!='CANCELLED' + orderby: ORDER BY egcl_paymentdetail.receiptnumber DESC; + +- reportName: StateTradeLicenseCancelledRegistryReport_v2 + decryptionPathId: TradeLicenseCancelledRegistryReport_v2 + summary: TL Cancelled Receipt Register Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantid + type: string + source: tl + total: false + - name: receiptnumber + label: report.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptIssueDate + label: report.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: bankid + label: report.tl.bankid + type: string + source: tl + total: false + - name: branchname + label: report.tl.branchname + type: string + source: tl + total: false + - name: transactionumber + label: report.tl.transactionumber + type: string + source: tl + total: false + - name: instrumenttype + label: report.tl.instrumenttype + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + query: | + SELECT + initcap(split_part(tl.tenantId, '.', 2)) as tenantId, + licensenumber, + to_char((To_timestamp(issueddate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + initcap(tl.status) as status, + to_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptIssueDate , + paydetail.receiptnumber, + tradeTypeName, + acc, + split_part(name,',',1) as name, -- showing first name as decryption service not able to decrypt multiple encrypted values seperate by comma + payment.mobilenumber, + payment.ifsccode as bankid, -- ih.bankid, + payment.ifsccode as branchname, --ih.branchname, + payment.transactionnumber as transactionnumber, -- ih.transactionnumber as transactionnumber, + payment.paymentmode as instrumenttype, -- ih.instrumenttype, + payment.totalamountpaid as totalamount, --amount as totalamount, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') AS g8issuedate, + paydetail.manualreceiptnumber as g8receiptno + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + LEFT OUTER JOIN message ON code = CONCAT('TRADELICENSE_TRADETYPE_', REGEXP_REPLACE(tradetype, '[^A-Za-z0-9]','_','g')) AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + INNER JOIN egcl_bill as bill ON bill.consumercode = tl.applicationnumber + INNER JOIN egcl_paymentdetail as paydetail on bill.id=paydetail.billid + INNER JOIN egcl_payment as payment on payment.id=paydetail.paymentid and payment.paymentstatus='CANCELLED' + LEFT OUTER JOIN ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON code=CONCAT('TRADELICENSE_ACCESSORIESCATEGORY_', REGEXP_REPLACE(accessorycategory, '[^A-Za-z0-9]','_', 'g')) AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.tenantId != 'pb.testing' + + +- reportName: TradeLicenseCancelledRegistryReport_v2 + decryptionPathId: TradeLicenseCancelledRegistryReport_v2 + summary: TL Cancelled Receipt Register Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: receiptnumber + label: report.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptIssueDate + label: report.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: bankid + label: report.tl.bankid + type: string + source: tl + total: false + - name: branchname + label: report.tl.branchname + type: string + source: tl + total: false + - name: transactionumber + label: report.tl.transactionumber + type: string + source: tl + total: false + - name: instrumenttype + label: report.tl.instrumenttype + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + query: | + SELECT + licensenumber, + to_char((To_timestamp(issueddate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + initcap(tl.status) as status, + to_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptIssueDate , + paydetail.receiptnumber, + tradeTypeName, + acc, + split_part(name,',',1) as name, -- showing first name as decryption service not able to decrypt multiple encrypted values seperate by comma + payment.mobilenumber, + payment.ifsccode as bankid, -- ih.bankid, + payment.ifsccode as branchname, --ih.branchname, + payment.transactionnumber as transactionnumber, -- ih.transactionnumber as transactionnumber, + payment.paymentmode as instrumenttype, -- ih.instrumenttype, + payment.totalamountpaid as totalamount, --amount as totalamount, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') AS g8issuedate, + paydetail.manualreceiptnumber as g8receiptno + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + LEFT OUTER JOIN message ON code = CONCAT('TRADELICENSE_TRADETYPE_', REGEXP_REPLACE(tradetype, '[^A-Za-z0-9]','_','g')) AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + INNER JOIN egcl_bill as bill ON bill.consumercode = tl.applicationnumber + INNER JOIN egcl_paymentdetail as paydetail on bill.id=paydetail.billid + INNER JOIN egcl_payment as payment on payment.id=paydetail.paymentid and payment.paymentstatus='CANCELLED' + LEFT OUTER JOIN ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON code=CONCAT('TRADELICENSE_ACCESSORIESCATEGORY_', REGEXP_REPLACE(accessorycategory, '[^A-Za-z0-9]','_', 'g')) AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.tenantId LIKE $tenantid + + +- reportName: TradeWiseCollectionReport_v2 + summary: Collection according to tradeTypes + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: transactionNumber + label: report.tl.totalTransaction + type: string + source: tl + total: false + - name: online + label: report.tl.online.collection + type: string + source: tl + total: true + - name: offline + label: report.tl.offline.collection + type: string + source: tl + total: true + - name: total + label: report.tl.totalCollection + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + query: | + select + sum(payment.totalamountpaid) as total, + count(*) as transactionNumber, + sum(case when payment.paymentmode!='ONLINE' then totalamountpaid else 0 end) as offline, + sum(case when payment.paymentmode='ONLINE' then totalamountpaid else 0 end) as online, + initcap(split_part(payment.tenantId, '.', 2)) as tenantId + from egcl_payment as payment + inner join egcl_paymentdetail paydetail on paydetail.paymentid=payment.id + where paydetail.businessservice = 'TL' and payment.paymentstatus != 'CANCELLED' + AND payment.tenantId LIKE '$tenantid' + groupby: GROUP BY payment.tenantId + + +- reportName: TradeLicenseApplicationStatusReport_v2 + summary: Nummber of applications by there status + version: 1.0.0 + moduleName: rainmaker-tl + externalService: + - entity: $.messages[*] + apiURL: http://egov-localization:8080/localization/messages/v1/_search?locale=en_IN&tenantId=pb&module=rainmaker-tl + keyOrder: code,message + tableName: tbl_localization + sourceColumns: + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: total + label: report.tl.total + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + query: | + SELECT + COUNT(applicationnumber) as total, + message.message as status + from eg_tl_tradelicense tl + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND split_part(message.code,'_',1)='TL' AND message.locale = 'en_IN' + WHERE tl.tenantid LIKE $tenantid + groupby: GROUP BY message.message + orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end + + +- reportName: TradeLicenseULBWiseApplicationStatusReport_v2 + summary: Nummber of applications by there status + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantid + type: string + source: tl + total: false + - name: initiated + label: TL_INITIATED + type: string + source: tl + total: true + - name: applied + label: TL_APPLIED + type: string + source: tl + total: true + - name: pendingpayment + label: TL_PENDINGPAYMENT + type: string + source: tl + total: true + - name: paid + label: TL_PAID + type: string + source: tl + total: true + - name: fieldinspection + label: TL_FIELDINSPECTION + type: string + source: tl + total: true + - name: pendingapproval + label: TL_PENDINGAPPROVAL + type: string + source: tl + total: true + - name: approved + label: TL_APPROVED + type: string + source: tl + total: true + - name: rejected + label: TL_REJECTED + type: string + source: tl + total: true + - name: cancelled + label: TL_CANCELLED + type: string + source: tl + total: true + - name: citizenactionrequired + label: TL_CITIZENACTIONREQUIRED + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND tl.tenantId = $ulb + query: | + SELECT + initcap(split_part(tenantId, '.', 2)) as tenantId, + SUM(CASE status when 'REJECTED' then 1 else 0 end) as rejected, + SUM(CASE status when 'INITIATED' then 1 else 0 end) as initiated, + SUM(CASE status when 'PENDINGPAYMENT' then 1 else 0 end) as pendingpayment, + SUM(CASE status when 'PAID' then 1 else 0 end) as paid, + SUM(CASE status when 'FIELDINSPECTION' then 1 else 0 end) as fieldinspection, + SUM(CASE status when 'CITIZENACTIONREQUIRED' then 1 else 0 end) as citizenactionrequired, + SUM(CASE status when 'PENDINGAPPROVAL' then 1 else 0 end) as pendingapproval, + SUM(CASE status when 'APPROVED' then 1 else 0 end) as approved, + SUM(CASE status when 'APPLIED' then 1 else 0 end) as applied, + SUM(CASE status when 'CANCELLED' then 1 else 0 end) as cancelled + FROM eg_tl_tradelicense as tl + WHERE tl.tenantid != 'pb.testing' + groupby: GROUP BY tenantid + orderby: ORDER BY tenantid + + +- reportName: StateLevelStatus_v2 + summary: Nummber of applications by there status state level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: total + label: report.tl.total + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND tl.tenantId = $ulb + query: | + SELECT + COUNT(applicationnumber) as total, + message.message as status + from eg_tl_tradelicense tl + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND split_part(message.code,'_',1)='TL' AND message.locale = 'en_IN' + WHERE tl.tenantid!='pb.testing' + groupby: GROUP BY message.message + orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end + + +- reportName: ULBLevelStatus_v2 + summary: Nummber of applications by there status ULB level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: total + label: report.tl.total + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.lastmodifiedtime <= $toDate + query: | + SELECT + COUNT(applicationnumber) as total, + message.message as status + from eg_tl_tradelicense tl + LEFT OUTER JOIN message ON split_part(message.code,'_',2) = status AND split_part(message.code,'_',1)='TL' AND message.locale = 'en_IN' + WHERE tl.tenantid=$tenantid + groupby: GROUP BY message.message + orderby: ORDER BY case message.message when 'Pending Application' then 1 when 'Pending Payment' then 2 when 'Pending Approval' then 3 when 'Approved' then 4 when 'Rejected' then 5 when 'Cancelled' then 6 else 7 end + + +- reportName: StateLevelTradeWiseCollection_v2 + summary: Collection according to tradeTypes state level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantid + type: string + source: tl + total: false + - name: transactionNumber + label: report.tl.totalTransaction + type: string + source: tl + total: true + - name: online + label: report.tl.online.collection + type: string + source: tl + total: true + - name: offline + label: report.tl.offline.collection + type: string + source: tl + total: true + - name: total + label: report.tl.totalCollection + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND payment.tenantId = $ulb + query: | + select + sum(payment.totalamountpaid) as total, + count(*) as transactionNumber, + sum(case when payment.paymentmode!='ONLINE' then payment.totalamountpaid else 0 end) as offline, + sum(case payment.paymentmode when 'ONLINE' then payment.totalamountpaid else 0 end) as online, + initcap(split_part(payment.tenantId, '.', 2)) as tenantId + from egcl_payment as payment + inner join egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + where paydetail.businessservice = 'TL' and payment.tenantid !='pb.testing' and payment.paymentstatus != 'CANCELLED' + groupby: GROUP BY payment.tenantId + orderby: ORDER BY payment.tenantId asc + + +- reportName: StateLevelTradeLicenseRegistryReport_v2 + decryptionPathId: StateLevelTradeLicenseRegistryReport_v2 + summary: TL Basic Report State Level + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tenantId + label: report.tl.tenantId + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: g8issuedate + label: report.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: report.tl.g8receiptno + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND issueddate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND issueddate <= $toDate + - name: ulb + label: ULB + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: tl + wrapper: true + isMandatory: false + searchClause: AND tl.tenantId = $ulb + query: | + SELECT + tl.tenantId as tenantId, + licensenumber, + to_char((To_timestamp(issueddate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + tradeTypeName, + acc, + name, + mobilenumber, + paydetail.amountpaid as totalamount, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') AS g8issuedate, + paydetail.manualreceiptnumber as g8receiptno + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN eg_tl_owner tlowner ON tlowner.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + LEFT OUTER JOIN message ON code = CONCAT('TRADELICENSE_TRADETYPE_', REGEXP_REPLACE(tradetype, '[^A-Za-z0-9]','_','g')) AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + LEFT OUTER JOIN egcl_bill as bill ON bill.consumercode = tl.applicationnumber + inner join egcl_paymentdetail as paydetail on paydetail.billid=bill.id + LEFT OUTER JOIN + ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON code=CONCAT('TRADELICENSE_ACCESSORIESCATEGORY_', REGEXP_REPLACE(accessorycategory, '[^A-Za-z0-9]','_', 'g')) AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.Status = 'APPROVED' + orderby: ORDER BY tl.tenantId asc + + +- reportName: SearchTradeLicenseApplicationReport_v2 + decryptionPathId: SearchTradeLicenseApplicationReport_v2 + summary: TL Search Application Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: applicationnumber + label: report.tl.applicationnumber + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: status + label: report.tl.status + type: string + source: tl + total: false + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.applicationdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.applicationdate <= $toDate + - name: localityArray + label: reports.tl.zoneList + type: boundarylist + source: tl + isMandatory: false + searchClause: AND tla.locality IN ($localityArray) + query: | + SELECT + tl.applicationnumber, + tl.licensenumber, + tl.tradeName, + (split_part(tl.tenantId, '.', 2)) as tenantId, + split_part(ownername,',',1) as ownername, + split_part(mobilenumber,',',1) as mobilenumber, + tla.locality, + to_char((To_timestamp(applicationdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as applicationDate, + tl.status + from eg_tl_tradelicense as tl + INNER JOIN eg_tl_tradelicensedetail tld ON + tld.tradelicenseid = tl.id + INNER JOIN eg_tl_address as tla ON + tla.tradelicensedetailid=tld.id + INNER JOIN (SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as ownername, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON + tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + WHERE tl.tenantid=$tenantid + + +- reportName: TradeLicenseDetailsReport_v2 + decryptionPathId: TradeLicenseDetailsReport_v2 + summary: Trade License Details Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: applicationnumber + label: report.tl.applicationnumber + type: string + source: tl + total: false + - name: propertyid + label: report.tl.propertyid + type: string + source: tl + total: false + - name: financialyear + label: report.tl.financialyear + type: string + source: tl + total: false + - name: licensetype + label: report.tl.licensetype + type: string + source: tl + total: false + - name: oldlicensenumber + label: report.tl.oldlicensenumber + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + - name: zone + label: report.tl.zone + type: string + source: tl + total: false + - name: ward_block + label: report.tl.locality + type: string + source: tl + total: false + - name: locality + label: report.tl.locality + type: string + source: tl + total: false + - name: status + label: report.tl.receipt.status + type: string + source: tl + total: false + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND applicationdate <= $toDate + - name: localityArray + label: reports.tl.zoneList + type: boundarylist + source: tl + isMandatory: false + searchClause: AND eg_tl_address.locality IN ($localityArray) + query: | + SELECT + tl.applicationnumber as applicationnumber, + locality_tlb.locality as locality, + eg_bndry_mohalla.blockcode as ward_block, + eg_bndry_mohalla.zonecode as zone, + propertyid, + financialyear, + (case when oldlicensenumber is null then 'New' else 'Renewal' end) AS licensetype, + oldlicensenumber, + licensenumber, + to_char((To_timestamp(issueddate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as formattedIssuedDate, + tl.tradeName, + tradeTypeName, + acc, + name, + mobilenumber, + paydetail.amountpaid as totalamount, + tl.status as status + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + select tradelicensedetailid, array_to_string(array_agg(message.message),', ') as locality,array_to_string(array_agg(locality),', ') as localitycode from eg_tl_address as tla + LEFT OUTER JOIN message on code=CONCAT(UPPER(REGEXP_REPLACE( $tenantid , '[^A-Za-z0-9]','_', 'g')),'_REVENUE_', REGEXP_REPLACE( locality , '[^A-Za-z0-9]','_', 'g')) + AND message.locale = 'en_IN' group by 1) locality_tlb ON locality_tlb.tradelicensedetailid = tld.id + INNER JOIN eg_tl_owner tlowner ON tlowner.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + LEFT OUTER JOIN message ON code = CONCAT('TRADELICENSE_TRADETYPE_', REGEXP_REPLACE(tradetype, '[^A-Za-z0-9]','_','g')) AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + LEFT OUTER JOIN egcl_bill bill ON bill.consumercode = tl.applicationnumber + LEFT OUTER JOIN egcl_paymentdetail as paydetail on paydetail.billid=bill.id + INNER JOIN eg_tl_address ON eg_tl_address.tradelicensedetailid = tld.id + INNER JOIN eg_bndry_mohalla ON eg_bndry_mohalla.localitycode= eg_tl_address.locality + LEFT OUTER JOIN + ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON code=CONCAT('TRADELICENSE_ACCESSORIESCATEGORY_', REGEXP_REPLACE(accessorycategory, '[^A-Za-z0-9]','_', 'g')) AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.tenantid=$tenantid + + +- reportName: StateDefaulterReport_v2 + decryptionPathId: StateDefaulterReport_v2 + summary: TL Defautler + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: ulb + label: report.tl.ulb + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: applicationnumber + label: report.tl.applicationnumber + type: string + source: tl + total: false + - name: oldlicensenumber + label: report.tl.oldlicensenumber + type: string + source: tl + total: false + - name: financialyear + label: report.tl.financialyear + type: string + source: tl + total: false + - name: tradename + label: report.tl.tradename + type: string + source: tl + total: false + - name: ownername + label: report.tl.ownername + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.mobilenumber + type: string + source: tl + total: false + query: | + select + split_part(tenantid,'.',2) as ulb, + licensenumber, + applicationnumber, + oldlicensenumber, + financialyear, + tradename, + split_part(name,',',1) as ownername, + split_part(mobilenumber,',',1) as mobilenumber + from eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + where validto < extract (epoch from NOW())*1000 and licensenumber is not null and licensenumber not in (select oldlicensenumber from eg_tl_tradelicense where oldlicensenumber is not null) + and tenantid!='pb.testing' + orderby: order by tenantid + + +- reportName: ULBDefaulterReport_v2 + decryptionPathId: StateDefaulterReport_v2 + summary: TL Defautler + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: ulb + label: report.tl.ulb + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: applicationnumber + label: report.tl.applicationnumber + type: string + source: tl + total: false + - name: oldlicensenumber + label: report.tl.oldlicensenumber + type: string + source: tl + total: false + - name: financialyear + label: report.tl.financialyear + type: string + source: tl + total: false + - name: tradename + label: report.tl.tradename + type: string + source: tl + total: false + - name: ownername + label: report.tl.ownername + type: string + source: tl + total: false + - name: zonename + label: report.tl.zonename + type: string + source: tl + total: false + - name: blockname + label: report.tl.blockname + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.mobilenumber + type: string + source: tl + total: false + query: | + select + distinct on (tl.applicationnumber) + applicationnumber, + split_part(tl.tenantid,'.',2) as ulb, + licensenumber, + oldlicensenumber, + financialyear, + tradename, + zonename, + blockname, + split_part(name,',',1) as ownername, + split_part(mobilenumber,',',1) as mobilenumber + from eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + inner join eg_tl_address as tla on tla.tradelicensedetailid = tld.id + inner join eg_bndry_mohalla on eg_bndry_mohalla.localitycode=tla.locality + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(name),', ') as name, array_to_string(array_agg(mobilenumber),', ') as mobilenumber + FROM eg_tl_owner tlowner + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + group by tradelicensedetailid + ) tlown ON tlown.tradelicensedetailid = tld.id + where validto < extract (epoch from NOW())*1000 and licensenumber is not null and licensenumber not in (select oldlicensenumber from eg_tl_tradelicense where oldlicensenumber is not null) + and tl.tenantid = $tenantid + + + +- reportName: StateTradeLicenseDetailsReport_v2 + decryptionPathId: TradeLicenseDetailsReport_v2 + summary: State Trade License Details Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: applicationnumber + label: report.tl.applicationnumber + type: string + source: tl + total: false + - name: propertyid + label: report.tl.propertyid + type: string + source: tl + total: false + - name: financialyear + label: report.tl.financialyear + type: string + source: tl + total: false + - name: licensetype + label: report.tl.licensetype + type: string + source: tl + total: false + - name: oldlicensenumber + label: report.tl.oldlicensenumber + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: tradeName + label: report.tl.tradeName + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: mobilenumber + label: report.tl.user.mobilenumber + type: string + source: tl + total: false + - name: formattedIssuedDate + label: report.tl.issueddate + type: string + source: tl + total: false + - name: tradeTypeName + label: report.tl.tradetype + type: string + source: tl + total: false + - name: acc + label: report.tl.accessorycategories + type: string + source: tl + total: false + - name: totalamount + label: report.tl.receipt.totalamount + type: string + source: tl + total: true + - name: tenantid + label: report.tl.tenantid + type: string + source: tl + total: false + - name: address + label: report.tl.address + type: string + source: tl + total: false + - name: emailid + label: report.tl.emailid + type: string + source: tl + total: false + - name: status + label: report.tl.receipt.status + type: string + source: tl + total: false + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.applicationdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.applicationdate <= $toDate + query: | + SELECT + tl.applicationnumber as applicationnumber, + propertyid, + financialyear, + (case when oldlicensenumber is null then 'New' else 'Renewal' end) AS licensetype, + oldlicensenumber, + string_agg(tl.licensenumber, ', ') as "licensenumber", + to_char((To_timestamp(issueddate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as formattedIssuedDate, + string_agg(tl.tradeName, ', ') as "tradeName", + string_agg(tl.tenantid, ', ') as "tenantid", + tradeTypeName, + acc, + name, + (case when emailid is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else emailid end) as emailid, + string_agg(distinct REGEXP_REPLACE(REGEXP_REPLACE(CONCAT(tla.doorno, ',', tla.buildingname, ',',tla.street,',',tla.localityname,',', tla.pincode), ',+', ','), '^,|,$', ''),',') as "address", + mobilenumber, + paydetail.amountpaid as totalamount, + tl.status as status + FROM eg_tl_tradelicense tl + INNER JOIN eg_tl_tradelicensedetail tld ON tld.tradelicenseid = tl.id + inner join (SELECT tradelicensedetailid , locality,doorno,street,buildingname,pincode,localityname, max(createdtime) + from eg_tl_address inner join eg_bndry_mohalla on eg_bndry_mohalla.localitycode=eg_tl_address.locality where eg_tl_address.tenantid=eg_bndry_mohalla.tenantid + group by tradelicensedetailid, locality, doorno,street,buildingname,pincode,localityname) tla ON tld.id=tla.tradelicensedetailid + INNER JOIN eg_tl_owner tlowner ON tlowner.tradelicensedetailid = tld.id + INNER JOIN ( + SELECT tradelicensedetailid, array_to_string(array_agg(message.message),', ') as tradeTypeName FROM eg_tl_tradeunit + LEFT OUTER JOIN message ON code = CONCAT('TRADELICENSE_TRADETYPE_', REGEXP_REPLACE(tradetype, '[^A-Za-z0-9]','_','g')) AND message.locale = 'en_IN' GROUP BY 1) tlunit ON tlunit.tradelicensedetailid = tld.id + INNER JOIN eg_user tluser ON tluser.uuid = tlowner.id + LEFT OUTER JOIN egcl_bill bill ON bill.consumercode = tl.applicationnumber + LEFT OUTER JOIN egcl_paymentdetail as paydetail on paydetail.billid=bill.id + INNER JOIN eg_tl_address ON eg_tl_address.tradelicensedetailid = tld.id + LEFT OUTER JOIN + ( + SELECT tradelicensedetailid,array_to_string(array_agg(message.message),',') AS acc FROM eg_tl_accessory + LEFT OUTER JOIN message ON code=CONCAT('TRADELICENSE_ACCESSORIESCATEGORY_', REGEXP_REPLACE(accessorycategory, '[^A-Za-z0-9]','_', 'g')) AND message.locale = 'en_IN' GROUP BY 1 ) tlacc ON tlacc.tradelicensedetailid = tld.id + WHERE tl.tenantid!='pb.testing' + groupby: group by tl.applicationnumber, tl.propertyid, tl.financialyear, tl.oldlicensenumber, tl.issueddate, tlunit.tradetypename, tlacc.acc,tluser.name,tluser.emailid, tluser.mobilenumber,paydetail.amountpaid, tl.status,tl.tenantid + orderby: order by tl.tenantid + +- reportName: TradeLicensePendencyReport_v2 + decryptionPathId: TradeLicensePendencyReport_v2 + summary: Trade License Pendency Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: applicationnumber + label: report.tl.applicationnumber + type: string + source: tl + total: false + - name: tradename + label: report.tl.tradename + type: string + source: tl + total: false + - name: financialyear + label: report.tl.financialyear + type: string + source: tl + total: false + - name: licensetype + label: report.tl.licensetype + type: string + source: tl + total: false + - name: licensenumber + label: report.tl.licensenumber + type: string + source: tl + total: false + - name: name + label: report.tl.user.name + type: string + source: tl + total: false + - name: totalamount + label: report.tl.totalamount + type: string + source: tl + total: true + - name: status + label: report.tl.status + type: string + source: tl + total: false + - name: assignee + label: report.tl.assignee + type: string + source: tl + total: false + - name: days + label: report.tl.days + type: string + source: tl + total: false + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND applicationdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND applicationdate <= $toDate + query: | + SELECT + string_agg(DISTINCT t.applicationnumber,',')as applicationnumber, + string_agg(DISTINCT t.tradeName,',') as tradename, + string_agg(DISTINCT financialyear,',') as financialyear, + t.applicationdate, + string_agg(DISTINCT(case when oldlicensenumber is null then 'New' else 'Renewal' end),',') AS licensetype, + string_agg(distinct licensenumber,',') as licensenumber, + split_part(string_agg(u.name,','),',',1) as name, -- string_agg(name,',') as name, + string_agg(distinct paydetail.amountpaid::varchar,',') as totalamount, + string_agg(distinct t.status,',') as status, + split_part(string_agg(distinct us.name,','),',',1) as assignee, + CURRENT_DATE- to_timestamp(cast(t.applicationdate/1000 as bigint))::date as days + FROM eg_tl_tradelicense t INNER JOIN eg_tl_tradelicensedetail td ON td.tradelicenseid = t.id + INNER JOIN eg_tl_owner O ON O.tradelicensedetailid = td.id + INNER JOIN eg_user u ON u.uuid = O.id + LEFT OUTER JOIN egcl_bill bill ON bill.consumercode = t.applicationnumber + LEFT OUTER JOIN egcl_paymentdetail as paydetail on paydetail.billid=bill.id + INNER JOIN eg_wf_processinstance_v2 AS WFP ON WFP.businessid=t.applicationnumber and WFP.lastmodifiedtime + in (select max(lastmodifiedtime) from eg_wf_processinstance_v2 where businessid=t.applicationnumber) + INNER JOIN eg_wf_assignee_v2 as W ON W.processinstanceid=WFP.id + INNER JOIN eg_user us ON us.uuid = W.assignee + WHERE t.status NOT IN ('APPROVED','CANCELLED','REJECTED','PENDINGPAYMENT','INITIATED') + and t.tenantid=$tenantid + groupby: GROUP BY O.tradelicensedetailid,applicationdate + orderby: ORDER BY applicationnumber DESC + +- reportName: EmployeeWiseCollectionTL_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Employee Wise Collection TL + version: 1.0.0 + moduleName: rainmaker-tl + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: collectorname + label: reports.tl.collectorname + type: string + source: tl + total: false + - name: paymentmode + label: reports.tl.paymentmode + type: string + source: tl + total: false + - name: countofreceipts + label: reports.tl.countofreceipts + type: string + source: tl + total: true + - name: totalamount + label: reports.tl.totalamount + type: string + source: tl + total: true + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND receipt.createddate <= $toDate + - name: collectorname + label: reports.tl.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=TL_CEMP|$.Employees[*].user.id|$.Employees[*].user.name + source: pt + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + SELECT + eg_user.name as collectorname, + paymentmode as paymentmode, + count(paydetail.receiptnumber) as Countofreceipts, + Sum(payment.totalamountpaid) as totalamount + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + WHERE payment.tenantid=$tenantid AND businessservice in ('TL') and payment.paymentstatus != 'CANCELLED' + groupby: GROUP BY collectorname , paymentmode + +- reportName: TLReceiptRegister_7to10Sept2020 + decryptionPathId: TradeLicenseRegistryReport_v2 + summary: TLReceiptRegister_7to10Sept2020 + version: 1.0.0 + moduleName: rainmaker-tl + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: tenantid + label: reports.tl.tenantid + type: string + source: tl + total: false + - name: receiptnumber + label: reports.tl.receiptnumber + type: string + source: tl + total: false + - name: receiptissuedate + label: reports.tl.receiptissuedate + type: string + source: tl + total: false + - name: g8issuedate + label: reports.tl.g8issuedate + type: string + source: tl + total: false + - name: g8receiptno + label: reports.tl.g8receiptno + type: string + source: tl + total: false + - name: name + label: reports.tl.name + type: string + source: tl + total: false + - name: formattedissueddate + label: reports.tl.formattedissueddate + type: string + source: tl + total: false + - name: licensenumber + label: reports.tl.licensenumber + type: string + source: tl + total: false + - name: acc + label: reports.tl.acc + type: string + source: tl + total: false + - name: tradename + label: reports.tl.tradename + type: string + source: tl + total: true + - name: status + label: reports.tl.status + type: string + source: tl + total: false + - name: tradetypename + label: reports.tl.tradetypename + type: string + source: tl + total: true + - name: totalamount + label: reports.tl.totalamount + type: string + source: tl + total: true + - name: transactionnumber + label: reports.tl.transactionnumber + type: string + source: tl + total: false + - name: instrumenttype + label: reports.tl.instrumenttype + type: string + source: tl + total: false + - name: mobilenumber + label: reports.tl.mobilenumber + type: string + source: tl + total: false + - name: collectorname + label: reports.tl.collectorname + type: string + source: tl + total: false + + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + licensenumber, formattedissueddate, tradename, status, receiptissuedate, receiptnumber, tradetypename, acc, + name, mobilenumber,transactionnumber, instrumenttype, totalamount, g8issuedate, g8receiptno, collectorname,tenantid from tl_7to10sept2020_receipts + where tenantid=$tenantid + orderby: ORDER BY receiptissuedate DESC + + +- reportName: StateTradesubtype_v2 + decryptionPathId: TradeLicenseDetailsReport_v2 + summary: State Trade Subtype Collection Report + version: 1.0.0 + moduleName: rainmaker-tl + sourceColumns: + - name: tradetype + label: report.tl.tradetype + type: string + source: tl + total: false + - name: count + label: report.tl.count + type: string + source: tl + total: false + - name: collectionamount + label: report.tl.collectionamount + type: string + source: tl + total: false + - name: tradesubtype + label: report.tl.tradesubtype + type: string + source: tl + total: false + - name: workflowcode + label: report.tl.workflowcode + type: string + source: tl + total: false + - name: category + label: report.tl.category + type: string + source: tl + total: false + searchParams: + - name: fromDate + label: reports.tl.fromDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.applicationdate >= $fromDate + - name: toDate + label: reports.tl.toDate + type: epoch + source: tl + isMandatory: false + searchClause: AND tl.applicationdate <= $toDate + query: | + SELECT + tradetype,count(*) as count,sum(pd.amountpaid) as collectionamount,message as tradesubtype,workflowcode, + (case when tl.workflowcode!='NEWTL.HAZ' then 'Non Hazardeous' else 'Hazardeous' end) as category + from eg_tl_tradelicense tl + inner join eg_tl_tradelicensedetail td on td.tradelicenseid=tl.id + inner join eg_tl_tradeunit tu on tu.tradelicensedetailid=td.id + inner join egbs_billdetail_v1 bd on bd.consumercode=tl.applicationnumber + inner join message on message.code=replace(concat('TRADELICENSE_TRADETYPE_',replace(tradetype,'.','_')),'-','_') + inner join egcl_paymentdetail pd on pd.billid=bd.billid + where status='APPROVED' and tl.tenantid!='pb.testing' + groupby: GROUP BY tradetype,message,workflowcode; + + + + + diff --git a/configs/reports/configs/uc-reports.yml b/configs/reports/configs/uc-reports.yml index bf13cd47..bcf1e6ba 100644 --- a/configs/reports/configs/uc-reports.yml +++ b/configs/reports/configs/uc-reports.yml @@ -831,3 +831,1574 @@ ReportDefinitions: WHERE rh.status != 'Cancelled' AND businessdetails not in ('PT','TL') and rh.tenantid=$tenantid orderby: ORDER BY rh.receiptdate DESC + + + - reportName: MiscReceipt_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Receipt Register Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: g8issuedate + label: reports.uc.g8issuedate + type: string + source: uc + total: false + - name: g8receiptno + label: reports.uc.g8receiptno + type: string + source: uc + total: false + - name: status + label: reports.uc.receiptstatus + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: ddorchequenumber + label: reports.uc.ddorchequenumber + type: string + source: uc + total: false + - name: collectiontype + label: reports.uc.collectiontype + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate <= $toDate + - name: ulb + label: reports.uc.ulb + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND paydetail.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + string_agg(distinct billd.billid,',') bill_id, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection + FROM egcl_billaccountdetail + inner join egcl_billdetial as billd on billd.id=egcl_billaccountdetail.billdetailid + INNER JOIN egcl_bill as bill on bill.id = billd.billid + WHERE bill.tenantid!='pb.testing' AND businessservice not in ('PT','TL','FIRENOC') -- and rh.status != 'Cancelled' + GROUP BY billdetailid + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + payment.paymentstatus as status, + businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + 'System' as collectiontype, + eg_user.name as collectorname + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + LEFT JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + WHERE payment.tenantid!='pb.testing' AND businessservice not in ('PT','TL','FIRENOC') and payment.paymentstatus != 'CANCELLED' + orderby: ORDER BY paydetail.receiptdate DESC + + + - reportName: MiscReceiptULB_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Receipt Register Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: g8issuedate + label: reports.uc.g8issuedate + type: string + source: uc + total: false + - name: g8receiptno + label: reports.uc.g8receiptno + type: string + source: uc + total: false + - name: status + label: reports.uc.receiptstatus + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: ddorchequenumber + label: reports.uc.ddorchequenumber + type: string + source: uc + total: false + - name: ddchequedate + label: reports.uc.ddorchequedate + type: string + source: uc + total: false + - name: bankname + label: reports.uc.bankname + type: string + source: uc + total: false + - name: branchname + label: reports.uc.branchname + type: string + source: uc + total: false + - name: collectiontype + label: reports.uc.collectiontype + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + - name: remarks + label: reports.uc.remarks + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate <= $toDate + - name: businessservice + label: reports.uc.businessservice + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=BillingService&masterName=BusinessService&tenantId=$tenantid|$.MdmsRes.BillingService.BusinessService[*].code|$.MdmsRes.BillingService.BusinessService[*].code + source: uc + wrapper: true + isMandatory: false + searchClause: AND businessservice = $businessservice + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=UC_EMP|$.Employees[*].user.id|$.Employees[*].user.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + bill.id as bill_id, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection + FROM egcl_billaccountdetail + INNER JOIN egcl_billdetial as billd on billd.id = egcl_billaccountdetail.billdetailid + INNER JOIN egcl_bill as bill on bill.id=billd.billid + WHERE billd.tenantid=$tenantid AND businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') + GROUP BY billdetailid,bill.id + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + bank_branches.bank_name as bankname, + bank_branches.branch as branchname, + payment.paymentstatus as status, + businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + (case when paymentmode like 'DD' or paymentmode like 'CHEQUE' then To_char((To_timestamp(payment.instrumentdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') else '' end) as ddchequedate, + 'System' as collectiontype, + eg_user.name as collectorname, + billd.additionaldetails->>'comment' as remarks + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN egcl_billdetial as billd on billd.billid=paydetail.billid + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + LEFT OUTER JOIN bank_branches on bank_branches.ifsc=payment.ifsccode + WHERE payment.tenantid=$tenantid AND businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') and payment.paymentstatus != 'CANCELLED' + orderby: ORDER BY paydetail.receiptdate DESC + + + - reportName: MiscReceiptStateWide_v2 + summary: State Receipt Register Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: ulb + label: reports.uc.ulb + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND paydetail.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + payment.tenantid as ulb, + paydetail.businessservice as servicecategory, + count(*) as receipts, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + sum(paydetail.amountpaid) as totalamount + from egcl_payment payment + inner join egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + inner join egcl_billaccountdetail as ebd on paydetail.billid=ebd.billdetailid + WHERE payment.tenantid!='pb.testing' AND paydetail.businessservice not in ('PT','TL','FIRENOC') and payment.paymentstatus != 'CANCELLED' + groupby: group by payment.tenantid,paydetail.businessservice + orderby: order by payment.tenantid + + - reportName: MiscReceiptState_v2 + summary: State Miscellaneous Receipt Register + version: 1.0.0 + moduleName: rainmaker-uc + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: noofreceipts + label: reports.uc.noOfReceipts + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldCollection + type: string + source: uc + total: true + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: businessservice + label: reports.uc.businessservice + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=BillingService&masterName=BusinessService&tenantId=$tenantid|$.MdmsRes.BillingService.BusinessService[*].code|$.MdmsRes.BillingService.BusinessService[*].code + source: uc + wrapper: true + isMandatory: false + searchClause: AND paydetail.businessservice = $businessservice + - name: ulb + label: reports.uc.ulb + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND paydetail.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + paydetail.tenantid as ulb, + count(distinct paydetail.receiptnumber) as noofreceipts, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection, + sum(adjustedamount) as totalamount + from egcl_paymentdetail paydetail + INNER JOIN egcl_bill as bill on bill.id = paydetail.billid + inner join egcl_billdetial as billd on billd.billid=bill.id + inner join egcl_billaccountdetail as ebd on ebd.billdetailid=billd.id + inner join egcl_payment as payment on paydetail.paymentid=payment.id + WHERE paydetail.tenantid!='pb.testing' AND paydetail.businessservice not in ('PT','TL','FIRENOC') and payment.paymentstatus!='CANCELLED' + groupby: group by paydetail.tenantid + + - reportName: MiscCollectionState_v2 + summary: State Miscellaneous Collection Register + version: 1.0.0 + moduleName: rainmaker-uc + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: offlinetransactions + label: reports.uc.noOfOfflineTransactions + type: string + source: uc + total: true + - name: onlinetransactions + label: reports.uc.noOfOnlineTransactions + type: string + source: uc + total: true + - name: totaltransactions + label: reports.uc.totalTransactions + type: string + source: uc + total: true + - name: offlinecollection + label: reports.uc.offlineCollection + type: string + source: uc + total: true + - name: onlinecollection + label: reports.uc.onlineCollection + type: string + source: uc + total: true + - name: totalcollection + label: reports.uc.totalCollection + type: string + source: uc + total: true + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: ulb + label: reports.uc.ulb + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND paydetail.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + initcap(split_part(payment.tenantId, '.', 2)) as ulb, + count(*) FILTER (where payment.paymentmode!='ONLINE') as offlinetransactions, + count(*) FILTER (where payment.paymentmode='ONLINE') as onlinetransactions, + count(*) as totaltransactions, + sum(case when paymentmode!='ONLINE' then payment.totalamountpaid else 0 end) as offlinecollection, + sum(case paymentmode when 'ONLINE' then payment.totalamountpaid else 0 end) as onlinecollection, + sum(payment.totalamountpaid) as totalcollection + from egcl_payment as payment + inner join egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + where paydetail.businessservice not in ('PT','TL','FIRENOC') and payment.tenantid !='pb.testing' and payment.paymentstatus != 'CANCELLED' + groupby: GROUP BY payment.tenantid + orderby: ORDER BY payment.tenantId asc + + + - reportName: MiscBusinessServiceCollectionTenant_v2 + summary: Miscellaneous Business Service Collection + version: 1.0.0 + moduleName: rainmaker-uc + sourceColumns: + - name: servicetype + label: reports.uc.serviceType + type: string + source: uc + total: false + - name: totalreceipts + label: reports.uc.totalReceipts + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldCollection + type: string + source: uc + total: true + - name: totalcollection + label: reports.uc.totalCollection + type: string + source: uc + total: true + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + paydetail.businessservice as servicetype, + count(distinct paydetail.receiptnumber) totalreceipts, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection, + SUM(adjustedamount) as totalcollection + FROM egcl_billaccountdetail + INNER JOIN egcl_billdetial as billd on billd.id = egcl_billaccountdetail.billdetailid + INNER JOIN egcl_bill as bill on bill.id=billd.billid + INNER Join egcl_paymentdetail as paydetail ON paydetail.billid = bill.id + Inner join egcl_payment as payment on paydetail.paymentid = payment.id + WHERE billd.tenantid=$tenantid AND paydetail.businessservice not in ('PT','TL','FIRENOC') and payment.paymentStatus!='CANCELLED' + groupby: GROUP BY paydetail.businessservice + orderby: ORDER BY paydetail.businessservice + + + - reportName: MiscReceiptULBCancelled_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Cancelled Receipt Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: ddorchequenumber + label: reports.uc.ddorchequenumber + type: string + source: uc + total: false + - name: ddchequedate + label: reports.uc.ddorchequedate + type: string + source: uc + total: false + - name: collectiontype + label: reports.uc.collectiontype + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=UC_EMP|$.Employees[*].user.id|$.Employees[*].user.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + bill.id as bill_id, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection + FROM egcl_billaccountdetail + INNER JOIN egcl_billdetial as billd on billd.id = egcl_billaccountdetail.billdetailid + INNER JOIN egcl_bill as bill on bill.id=billd.billid + WHERE billd.tenantid=$tenantid AND businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') + GROUP BY billdetailid,bill.id + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + payment.paymentstatus as status, + businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + (case when paymentmode like 'DD' or paymentmode like 'CHEQUE' then To_char((To_timestamp(payment.transactiondate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') else '' end) as ddchequedate, + 'System' as collectiontype, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + WHERE payment.tenantid=$tenantid AND businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') and payment.paymentstatus = 'CANCELLED' + orderby: ORDER BY paydetail.receiptdate DESC + + - reportName: MiscReceiptULBShort_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Receipt Register Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: consumername + label: reports.uc.consumername + type: string + source: uc + total: false + - name: mobilenumber + label: reports.uc.mobilenumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: amount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: remarks + label: reports.uc.remarks + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=UC_EMP|$.Employees[*].user.id|$.Employees[*].user.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + payment.payername as consumername, + payment.mobilenumber as mobilenumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + paydetail.businessservice as servicecategory, + payment.totalamountpaid as amount, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname, + billd.additionaldetails->>'comment' as remarks + FROM egcl_payment AS payment + INNER JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + INNER JOIN egcl_billdetial as billd on billd.billid=paydetail.billid + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + WHERE paydetail.businessservice not in ('PT','TL','FIRENOC') and payment.paymentstatus != 'CANCELLED' and payment.tenantid =$tenantid + orderby: ORDER BY paydetail.receiptdate DESC + + - reportName: EmployeeWiseCollectionUC_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Employee Wise Collection UC + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + - name: countofreceipts + label: reports.uc.countofreceipts + type: string + source: uc + total: true + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND paydetail.receiptdate <= $toDate + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=UC_EMP|$.Employees[*].user.id|$.Employees[*].user.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + SELECT + eg_user.name as collectorname, + paymentmode as paymentmode, + count(paydetail.receiptnumber) as Countofreceipts, + Sum(payment.totalamountpaid) as totalamount + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + WHERE payment.tenantid=$tenantid AND businessservice not in ('PT','TL','FIRENOC') and payment.paymentstatus != 'CANCELLED' + groupby: group by collectorname , paymentmode + + + - reportName: echallanReport_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: eChallan Report + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: challanno + label: reports.uc.challanno + type: string + source: uc + total: false + - name: status + label: reports.uc.status + type: string + source: uc + total: false + - name: businessservice + label: reports.uc.businessservice + type: string + source: uc + total: false + - name: description + label: reports.uc.description + type: string + source: uc + total: false + - name: applicationstatus + label: reports.uc.applicationstatus + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: doorno + label: reports.uc.doorno + type: string + source: uc + total: false + - name: buildingname + label: reports.uc.buildingname + type: string + source: uc + total: false + - name: street + label: reports.uc.street + type: string + source: uc + total: false + - name: mobilenumber + label: reports.uc.mobilenumber + type: string + source: uc + total: false + - name: manualreceiptnumber + label: reports.uc.manualreceiptnumber + type: string + source: uc + total: false + - name: manualreceiptdate + label: reports.uc.manualreceiptdate + type: string + source: uc + total: false + - name: ifsc + label: reports.uc.ifsc + type: string + source: uc + total: false + - name: bankname + label: reports.uc.bankname + type: string + source: uc + total: false + - name: branchname + label: reports.uc.branchname + type: string + source: uc + total: false + - name: cheque_dd_no + label: reports.uc.cheque_dd_no + type: string + source: uc + total: false + - name: transactionnumber + label: reports.uc.transactionnumber + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: false + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: false + - name: tax + label: reports.uc.tax + type: string + source: uc + total: false + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: false + searchClause: AND eg_echallan.createdtime >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: false + searchClause: AND eg_echallan.createdtime <= $toDate + - name: businessservice + label: reports.uc.businessservice + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=BillingService&masterName=BusinessService&tenantId=$tenantid|$.MdmsRes.BillingService.BusinessService[*].code|$.MdmsRes.BillingService.BusinessService[*].code + source: uc + wrapper: true + isMandatory: false + searchClause: AND businessservice = $businessservice + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=UC_EMP|$.Employees[*].user.id|$.Employees[*].user.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + string_agg(distinct egcl_bill.status,',') as billstatus, + string_agg(distinct egcl_bill.totalamount::text,',') as totalamount, + eg_echallan.challanno, + string_agg(distinct eg_echallan.businessservice,',') as businessservice, + string_agg(distinct eg_echallan.description,',') as description, + string_agg(distinct eg_echallan.applicationstatus,',') as status, + string_agg(distinct egcl_paymentdetail.receiptnumber,',') as receiptnumber, + string_agg(distinct doorno,',') as doorno, + string_agg(distinct buildingname,',') as buildingname, + string_agg(distinct street,',') as street, + string_agg(distinct payment.mobilenumber,',') as mobilenumber, + string_agg(distinct egcl_paymentdetail.manualreceiptnumber,',') as manualreceiptnumber, + string_agg(distinct egcl_paymentdetail.manualreceiptdate::text,',') as manualreceiptdate, + string_agg(distinct payment.ifsccode,',') as ifsc, + string_agg(distinct bank_branches.bank_name,',') as bankname, + string_agg(distinct bank_branches.branch,',') as branchname, + string_agg(distinct payment.instrumentnumber,',') as cheque_dd_no, + string_agg(distinct payment.instrumentdate::text,',') as cheque_date, + string_agg(distinct payment.transactionnumber,',') as transactionnumber, + SUM(CASE WHEN bad.taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN bad.taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN bad.taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN bad.taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection, + string_agg(distinct eg_user.name,',') as collectorname, + To_char((To_timestamp(egcl_paymentdetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate + from eg_echallan inner JOIN egcl_bill ON (eg_echallan.tenantid=$tenantid and eg_echallan.challanno=egcl_bill.consumercode ) inner join egcl_paymentdetail on (egcl_paymentdetail.tenantid=$tenantid and egcl_bill.id=egcl_paymentdetail.billid) + inner JOIN eg_challan_address egchallan ON egchallan.echallanid=eg_echallan.id inner JOIN egcl_payment as payment on (payment.tenantid=$tenantid and egcl_paymentdetail.paymentid=payment.id) INNER JOIN egcl_billdetial as billd on billd.billid = egcl_bill.id inner join egcl_billaccountdetail as bad on bad.billdetailid=billd.id left join bank_branches on bank_branches.ifsc=payment.ifsccode inner JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + where eg_echallan.tenantid=$tenantid and egcl_bill.businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') and payment.paymentstatus != 'CANCELLED' + groupby: group by challanno , egcl_paymentdetail.receiptdate + + - reportName: NewMiscReceiptULB_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: Receipt Register Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: g8issuedate + label: reports.uc.g8issuedate + type: string + source: uc + total: false + - name: challanno + label: reports.uc.challanno + type: string + source: uc + total: false + - name: payername + label: reports.uc.payername + type: string + source: uc + total: false + - name: g8receiptno + label: reports.uc.g8receiptno + type: string + source: uc + total: false + - name: status + label: reports.uc.receiptstatus + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: ddorchequenumber + label: reports.uc.ddorchequenumber + type: string + source: uc + total: false + - name: ddchequedate + label: reports.uc.ddorchequedate + type: string + source: uc + total: false + - name: bankname + label: reports.uc.bankname + type: string + source: uc + total: false + - name: branchname + label: reports.uc.branchname + type: string + source: uc + total: false + - name: transactionnumber + label: reports.uc.transactionnumber + type: string + source: uc + total: false + - name: collectiontype + label: reports.uc.collectiontype + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + - name: remarks + label: reports.uc.remarks + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate <= $toDate + - name: businessservice + label: reports.uc.businessservice + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=BillingService&masterName=BusinessService&tenantId=$tenantid|$.MdmsRes.BillingService.BusinessService[*].code|$.MdmsRes.BillingService.BusinessService[*].code + source: uc + wrapper: true + isMandatory: false + searchClause: AND bill.businessservice = $businessservice + - name: collectorname + label: reports.uc.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=UC_EMP|$.Employees[*].user.id|$.Employees[*].user.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + bill.id as bill_id, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection + FROM egcl_billaccountdetail + INNER JOIN egcl_billdetial as billd on billd.id = egcl_billaccountdetail.billdetailid + INNER JOIN egcl_bill as bill on bill.id=billd.billid + WHERE billd.tenantid=$tenantid AND businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') + GROUP BY billdetailid,bill.id + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + challan.challanno as challanno, + payment.payername as payername, + bank_branches.bank_name as bankname, + bank_branches.branch as branchname, + payment.transactionnumber as transactionnumber, + payment.paymentstatus as status, + bill.businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + (case when paymentmode like 'DD' or paymentmode like 'CHEQUE' then To_char((To_timestamp(payment.instrumentdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') else '' end) as ddchequedate, + 'System' as collectiontype, + eg_user.name as collectorname, + challan.description as remarks + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN egcl_billdetial as billd on billd.billid=paydetail.billid + LEFT OUTER JOIN egcl_bill as bill on bill.id=paydetail.billid + LEFT OUTER JOIN eg_echallan as challan on challan.challanno=bill.consumercode + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + LEFT OUTER JOIN bank_branches on bank_branches.ifsc=payment.ifsccode + WHERE payment.tenantid=$tenantid AND bill.businessservice not in ('PT','TL','FIRENOC','WS','SW','WS.ONE_TIME_FEE') and payment.paymentstatus != 'CANCELLED' + orderby: ORDER BY paydetail.receiptdate DESC + + - reportName: uc_7to10sept2020_receipts + decryptionPathId: MiscReceiptULB_v2 + summary: uc_7to10sept2020_receipts + version: 1.0.0 + moduleName: rainmaker-uc + additionalConfig: + print: + pdfPageSize: "A3" + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: g8issuedate + label: reports.uc.g8issuedate + type: string + source: uc + total: false + - name: g8receiptno + label: reports.uc.g8receiptno + type: string + source: uc + total: false + - name: payername + label: reports.uc.payername + type: string + source: uc + total: false + - name: status + label: reports.uc.receiptstatus + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + - name: ddorchequenumber + label: reports.uc.ddorchequenumber + type: string + source: uc + total: false + - name: ddchequedate + label: reports.uc.ddorchequedate + type: string + source: uc + total: false + - name: collectiontype + label: reports.uc.collectiontype + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: remarks + label: reports.uc.remarks + type: string + source: uc + total: false + + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + ulb,receiptnumber,receiptdate,g8issuedate,g8receiptno,payername,status,servicecategory,bill_id,cgst,tax,sgst,fieldcollection,totalamount,paymentmode,ddorchequenumber,ddchequedate, collectiontype,collectorname,remarks from uc_7to10sept2020_receipts + where ulb=$tenantid + orderby: ORDER BY receiptdate DESC + + - reportName: ULBNEWMiscReceipt_v2 + decryptionPathId: MiscReceiptULB_v2 + summary: ULB New Receipt Register Miscellaneous + version: 1.0.0 + moduleName: rainmaker-uc + sourceColumns: + - name: ulb + label: reports.uc.ulb + type: string + source: uc + total: false + - name: receiptnumber + label: reports.uc.receiptnumber + type: string + source: uc + total: false + - name: receiptdate + label: reports.uc.receiptdate + type: string + source: uc + total: false + - name: g8issuedate + label: reports.uc.g8issuedate + type: string + source: uc + total: false + - name: g8receiptno + label: reports.uc.g8receiptno + type: string + source: uc + total: false + - name: status + label: reports.uc.receiptstatus + type: string + source: uc + total: false + - name: servicecategory + label: reports.uc.businessdetails + type: string + source: uc + total: false + - name: cgst + label: reports.uc.cgst + type: string + source: uc + total: true + - name: tax + label: reports.uc.tax + type: string + source: uc + total: true + - name: fieldcollection + label: reports.uc.fieldcollection + type: string + source: uc + total: true + - name: sgst + label: reports.uc.sgst + type: string + source: uc + total: true + - name: ddorchequenumber + label: reports.uc.ddorchequenumber + type: string + source: uc + total: false + - name: collectiontype + label: reports.uc.collectiontype + type: string + source: uc + total: false + - name: collectorname + label: reports.uc.collectorname + type: string + source: uc + total: false + - name: totalamount + label: reports.uc.totalamount + type: string + source: uc + total: true + - name: paymentmode + label: reports.uc.paymentmode + type: string + source: uc + total: false + searchParams: + - name: fromDate + label: reports.uc.fromDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate >= $fromDate + - name: toDate + label: reports.uc.toDate + type: epoch + source: uc + isMandatory: true + searchClause: AND paydetail.receiptdate <= $toDate + - name: ulb + label: reports.uc.ulb + type: singlevaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?tenantId=$tenantid&moduleName=tenant&masterName=tenants|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + source: uc + wrapper: true + isMandatory: false + searchClause: AND paydetail.tenantid = $ulb + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + string_agg(distinct billd.billid,',') bill_id, + SUM(CASE WHEN taxheadcode LIKE '%_CGST' THEN adjustedamount ELSE 0 END) as cgst, + SUM(CASE WHEN taxheadcode LIKE '%_TAX' THEN adjustedamount ELSE 0 END) as tax, + SUM(CASE WHEN taxheadcode LIKE '%_SGST' THEN adjustedamount ELSE 0 END) as sgst, + SUM(CASE WHEN taxheadcode LIKE '%_FEE' THEN adjustedamount ELSE 0 END) as fieldcollection + FROM egcl_billaccountdetail + inner join egcl_billdetial as billd on billd.id=egcl_billaccountdetail.billdetailid + INNER JOIN egcl_bill as bill on bill.id = billd.billid + WHERE bill.tenantid!='pb.testing' AND businessservice not in ('PT','TL','FIRENOC') -- and rh.status != 'Cancelled' + GROUP BY billdetailid + ) + SELECT + payment.tenantid as ulb, + paydetail.receiptnumber as receiptnumber, + To_char((To_timestamp(paydetail.receiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as receiptdate, + To_char((To_timestamp(paydetail.manualreceiptdate / 1000) at time Zone 'Asia/Kolkata'), 'DD/MM/YYYY') as g8issuedate, + paydetail.manualreceiptnumber as g8receiptno, + payment.paymentstatus as status, + businessservice as servicecategory, + receipt_breakup.*, + payment.totalamountpaid as totalamount, + paymentmode as paymentmode, + (case when paymentmode like 'CASH' then '' else transactionnumber end) as ddorchequenumber, + 'System' as collectiontype, + eg_user.name as collectorname + FROM egcl_payment AS payment + JOIN egcl_paymentdetail as paydetail on paydetail.paymentid=payment.id + LEFT JOIN receipt_breakup ON paydetail.billid = receipt_breakup.bill_id + JOIN eg_user ON payment.createdby::INTEGER=eg_user.id + WHERE payment.tenantid!='pb.testing' AND businessservice not in ('PT','TL','FIRENOC') and payment.paymentstatus != 'CANCELLED' + orderby: ORDER BY paydetail.receiptdate DESC diff --git a/configs/reports/configs/works-reports.yml b/configs/reports/configs/works-reports.yml new file mode 100644 index 00000000..43aa78d0 --- /dev/null +++ b/configs/reports/configs/works-reports.yml @@ -0,0 +1,565 @@ +--- +ReportDefinitions: +- reportName: WorkOrderRegister + summary: Work Order Register + version: 1.0.0 + moduleName: works + viewPath: workOrderRegister + externalService: + - entity: $.MdmsRes.egf-master.FinancialYear + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=FinancialYear&tenantId=$tenantid&filter=%5B%3F%28%40.active%3D%3Dtrue%29%5D + keyOrder: finYearRange,startingDate,endingDate,tenantId + tableName: tbl_financialyear + stateData: true + sourceColumns: + - name: workorderdate + label: reports.works.workorderdate + type: epoch + source: works + - name: nameofwork + label: reports.works.nameofwork + type: string + source: works + - name: workordernumber + label: reports.works.workordernumber + type: number + source: works + - name: referencenoofwip + label: reports.works.referencenoofwip + type: string + source: works + - name: estimateamount + label: reports.works.estimateamount + type: number + source: works + - name: tenderamount + label: reports.works.tenderamount + type: number + source: works + - name: contractorname + label: reports.works.contractorname + type: string + source: works + - name: approvedattherateof + label: reports.works.approvedattherateof + type: number + source: works + - name: totalvalueofthework + label: reports.works.totalvalueofthework + type: number + source: works + - name: emdamount + label: reports.works.emdamount + type: number + source: works + - name: sanctionedfinyear + label: reports.works.sanctionedfinyear + type: string + source: works + - name: securitydepositamount + label: reports.works.securitydepositamount + type: number + source: works + - name: expectedcompletiondate + label: reports.works.expectedcompletiondate + type: epoch + source: works + searchParams: + - name: fromDate + label: reports.works.wofromDate + type: date + source: works + searchClause : AND wo.workorderdate>=$fromDate + isMandatory: false + - name: toDate + label: reports.works.wotoDate + type: date + source: works + searchClause : AND wo.workorderdate<=$toDate + isMandatory: false + - name: contractorName + label: reports.works.contractorname + type: string + source: works + searchClause : AND contractor.name=$contractorName + isMandatory: false + - name: amountFrom + label: reports.works.woamountfrom + type: number + source: works + searchClause : AND loae.estimateloaamount>=$amountFrom + isMandatory: false + - name: amountUpto + label: reports.works.woamountupto + type: number + source: works + searchClause : AND loae.estimateloaamount<=$amountUpto + isMandatory: false + + query: select wo.workorderdate, de.nameofwork, wo.workordernumber, de.projectcode as referencenoofwip, de.estimatevalue as estimateamount, de.workvalue as tenderamount, contractor.name as contractorname, loa.tenderfinalizedpercentage as approvedattherateof, loa.loaamount as totalvalueofthework, loa.emdamountdeposited as emdamount, (select sum(amount) from egw_securitydeposit where letterofacceptance=loa.id) as securitydepositamount, (select finyear.finYearRange from (values tbl_financialyear) as finyear (finYearRange,startingDate,endingDate,tenantId) where wo.createdtime between startingDate::bigint and endingDate::bigint) as sanctionedfinyear, ((select coalesce(statusdate, innerwo.workorderdate) from egw_workorder innerwo left join egw_offlinestatus fs on fs.objecttype='WorkOrderOffline' and fs.status='WORK_COMMENCED' and fs.objectnumber=innerwo.workordernumber where innerwo.workordernumber=wo.workordernumber) + loa.contractperiod*24*12*60*1000) as expectedcompletiondate from egw_workorder wo, egw_letterofacceptance loa, egw_letterofacceptanceestimate loae, egw_detailedestimate de, egw_contractor contractor where wo.letterofacceptance=loa.id and wo.letterofacceptance=loae.letterofacceptance and loae.letterofacceptance=loa.id and loae.detailedestimate=de.estimatenumber and contractor.code=loa.contractor + +- reportName: WorkStatusReport + summary: Work Status Report + version: 1.0.0 + moduleName: works + viewPath: WorkStatusReport + sourceColumns: + - name: nameofwork + label: reports.works.nameofwork + type: epoch + source: works + - name: fund + label: reports.works.fund + type: string + source: works + - name: typeofwork + label: reports.works.typeofwork + type: string + source: works + - name: subtypeofwork + label: reports.works.subtypeofwork + type: string + source: works + - name: estimatevalue + label: reports.works.estimatevalue + type: number + source: works + - name: agencyfirmname + label: reports.works.agencyfirmname + type: string + source: works + - name: workorderamount + label: reports.works.workorderamount + type: number + source: works + - name: billsubmittedtilldate + label: reports.works.billsubmittedtilldate + type: number + source: works + - name: worksstatuspercentage + label: reports.works.worksstatuspercentage + type: number + source: works + - name: amountpaidtilldate + label: reports.works.amountpaidtilldate + type: number + source: works + searchParams: + - name: fund + label: reports.works.fund + isMandatory: false + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=Fund&tenantId=$tenantid&filter=%5B%3F%28%40.active%3D%3Dtrue%29%5D + source: works + stateData: true + wrapper: true + searchClause : AND de.fund in ($fund) + - name: typeofwork + label: reports.works.typeofwork + isMandatory: false + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.active%3D%3Dtrue%29%5D + source: works + stateData: true + wrapper: true + searchClause : AND de.workstype in ($typeofwork) + - name: subtypeofwork + label: reports.works.subtypeofwork + isMandatory: false + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter%3D%5B%3F%28%20%40.parent%3D%3D%7Btypeofwork%7D%29%5D%7C%24.MdmsRes.works.TypeOfWork.%2A.code%7C%24.MdmsRes..works.TypeOfWork.%2A.name + source: works + stateData: true + wrapper: true + searchClause : AND de.workssubtype in ($subtypeofwork) + - name: department + label: reports.works.department + isMandatory: false + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=common-masters&masterName=Department&tenantId=$tenantid&filter=%5B%3F%28%40.active%3D%3Dtrue%29%5D + source: works + stateData: true + wrapper: true + searchClause : AND de.department in ($department) + - name: scheme + label: reports.works.scheme + isMandatory: false + type: multivaluelist + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=Works&masterName=Scheme&tenantId=$tenantid&filter=%5B%3F%28%40.active%3D%3Dtrue%29%5D + source: works + stateData: true + wrapper: true + searchClause : AND de.scheme in ($scheme) + - name: status + label: reports.works.status + isMandatory: false + type: multivaluelist + pattern: 'list://Documentation stage:Documentation stage,Tendering Stage:Tendering Stage,Work In Progress Stage:Work In Progress Stage,Completed:Completed' + source: works + stateData: true + wrapper: true + searchClause : AND de.status in ('Approved') + + query: select de.nameofwork AS nameofwork, de.fund as fund, de.workstype AS typeofwork, de.workssubtype AS subtypeofwork, de.estimatevalue As estimatevalue, contractor.name as firmname, loa.loaamount AS workorderamount, cb.contractorbillamount as billsubmittedtilldate, tm.totalpercentage AS workstatuspercentage, (select COALESCE(sum(br.billamount),0) from egf_billregister br where br.billnumber=cb.billnumber) as amountpaidtilldate from egw_detailedestimate de, egw_letterofacceptanceestimate loae,egw_contractor contractor, egw_milestone m, egw_trackmilestone tm, egw_letterofacceptance loa, egw_contractorbill cb where loa.id=loae.letterofacceptance and loae.detailedestimate=de.id and contractor.code = loa.contractor and m.letterofacceptanceestimate = loae.id and m.id=tm.milestone and loae.id=cb.letterofacceptanceestimate; + +- reportName: WorkInProgressRegister + summary: Work In Progress Register + version: 1.0.0 + moduleName: works + externalService: + - entity: $.MdmsRes.works.TypeOfWork + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%3D%3Dnull%20%26%26%20%40.active%3D%3D%27true%27%29%5D + keyOrder: name,code,description,tenantId + tableName: tbl_typeofwork + stateData: true + - entity: $.MdmsRes.works.TypeOfWork + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%21%3Dnull%20%26%26%20%40.active%3D%3D%27true%27%29%5D + keyOrder: name,code,description,tenantId + tableName: tbl_subtypeofwork + stateData: true + - entity: $.MdmsRes.works.WorksStatus + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=WorksStatus&tenantId=$tenantid&filter=%5B%3F%28%40.moduleType%3D%3D%27DetailedEstimate%27%29%5D + keyOrder: code,description,tenantId + tableName: tbl_workstatus + stateData: true + sourceColumns: + - name: wincode + label: reports.works.wincode + type: string + source: works + linkedReport: + reportName: WorkInProgressDetails + linkedColumn: _parent?reportName={reportName}&wcode={wincode} + - name: nameofwork + label: reports.works.nameofwork + type: string + source: works + - name: subtypeofwork + label: reports.works.subtypeofwork + type: string + source: works + - name: status + label: reports.works.status + type: string + source: works + searchParams: + - name: typeOfWork + label: reports.works.typeofwork + type: singlevaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%3D%3Dnull%20%26%26%20%40.active%3D%3D%27true%27%29%5D|$.MdmsRes.works.TypeOfWork.*.code|$.MdmsRes.works.TypeOfWork.*.name + wrapper: true + stateData: true + searchClause : AND de.workstype=$typeOfWork + isMandatory: false + - name: subTypeOfWork + label: reports.works.subtypeofwork + type: singlevaluelist + source: works + pattern: /egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F(%40.parent%3D%3D%27{typeOfWork}%27%20%26%26%20%40.active%3D%3D%27true%27)%5D|$.MdmsRes.works.TypeOfWork.*.code|$.MdmsRes.works.TypeOfWork.*.name + wrapper: true + stateData: true + searchClause : AND de.workssubtype=$subTypeOfWork + isMandatory: false + - name: nameOfWork + label: reports.works.nameofwork + type: string + source: works + searchClause : AND de.nameofwork=$nameOfWork + isMandatory: false + - name: wincode + label: reports.works.wincode + type: string + source: works + searchClause : AND de.projectcode=$wincode + isMandatory: false + - name: status + label: reports.works.status + type: singlevaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=WorksStatus&tenantId=$tenantid&filter=%5B%3F%28%40.moduleType%3D%3D%27DetailedEstimate%27%29%5D|$..code|$..description + wrapper: true + stateData: true + searchClause : AND de.status=$status + isMandatory: false + - name: statusason + label: reports.works.statusason + type: string + source: works + searchClause : AND de.status=$statusason + isMandatory: false + + query: select de.projectcode as wincode, de.nameofwork, tw.name||'/'||stw.name as subtypeofwork, workstatus.description as status from egw_detailedestimate de, (values tbl_workstatus) as workstatus (code,description,tenantId), (values tbl_typeofwork) as tw (name,code,description,tenantId), (values tbl_subtypeofwork) as stw (name,code,description,tenantId) where de.status='CREATED' and workstatus.code=de.status and tw.code=de.workstype and stw.code=de.workssubtype + +- reportName: WorkInProgressDetails + summary: Work In Progress Details + version: 1.0.0 + moduleName: works + externalService: + - entity: $.MdmsRes.egf-master.FinancialYear + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=egf-master&masterName=FinancialYear&tenantId=$tenantid&filter=%5B%3F%28%40.active%3D%3Dtrue%29%5D + keyOrder: finYearRange,startingDate,endingDate,tenantId + tableName: tbl_financialyear + stateData: true + - entity: $.MdmsRes.works.Scheme + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=Scheme&tenantId=$tenantid&filter=%5B%3F%28%40.parent%21%3Dnull%29%5D + keyOrder: name,code + tableName: tbl_scheme + stateData: true + sourceColumns: + - name: nameofwork + label: reports.works.nameofwork + type: string + source: works + - name: distributedforfinyear + label: reports.works.distributedforfinyear + type: string + source: works + - name: accountcode + label: reports.works.accountcode + type: string + source: works + - name: estimatevalue + label: reports.works.estimatevalue + type: number + source: works + - name: location + label: reports.works.location + type: string + source: works + - name: expectedcompletiondate + label: reports.works.expectedcompletiondate + type: epoch + source: works + - name: schemename + label: reports.works.schemename + type: string + source: works + - name: actualcompletiondate + label: reports.works.actualcompletiondate + type: epoch + source: works + - name: resolutionnumberanddate + label: reports.works.resolutionnumberanddate + type: string + source: works + - name: capitalisationdate + label: reports.works.capitalisationdate + type: epoch + source: works + - name: workordernumber + label: reports.works.workordernumber + type: number + source: works + - name: wincode + label: reports.works.wincode + type: number + source: works + - name: approvedbudget + label: reports.works.approvedbudget + type: string + source: works + - name: assetidentificationnumber + label: reports.works.assetidentificationnumber + type: string + source: works + - name: securitydepositamount + label: reports.works.securitydepositamount + type: string + source: works + - name: totalexpensesincurredsofar + label: reports.works.totalexpensesincurredsofar + type: string + source: works + - name: paymentdate + label: reports.works.paymentdate + type: epoch + source: works + - name: amount + label: reports.works.amount + type: number + source: works + - name: deductionamount + label: reports.works.deductionamount + type: number + source: works + - name: netpayable + label: reports.works.netpayable + type: number + source: works + - name: vouchernumber + label: reports.works.vouchernumber + type: string + source: works + - name: securitydepositrefunddate + label: reports.works.securitydepositrefunddate + type: epoch + source: works + - name: securitydepositrefundamount + label: reports.works.securitydepositrefundamount + type: number + source: works + - name: outstandingsecuritydepositamount + label: reports.works.outstandingsecuritydepositamount + type: number + source: works + - name: remarks + label: reports.works.remarks + type: string + source: works + - name: headofdepartment + label: reports.works.headofdepartment + type: string + source: works + searchParams: + - name: wcode + label: reports.works.wincode + type: string + source: works + searchClause : AND de.projectcode=$wcode + isMandatory: false + + query: select de.nameofwork, (select finyear.finYearRange from (values tbl_financialyear) as finyear (finYearRange,startingDate,endingDate,tenantId) where de.estimatedate between startingDate::bigint and endingDate::bigint) as distributedforfinyear, de.budgetgroup as accountcode, de.estimatevalue, de.location, ((select coalesce(statusdate, innerwo.workorderdate) from egw_workorder innerwo left join egw_offlinestatus fs on fs.objecttype='WorkOrderOffline' and fs.status='WORK_COMMENCED' and fs.objectnumber=innerwo.workordernumber where innerwo.workordernumber=wo.workordernumber) + loa.contractperiod*24*12*60*1000) as expectedcompletiondate, (select scheme.name from (values tbl_scheme) as scheme (name, code) where scheme.code=de.scheme) as schemename, (select cb.workcompletiondate from egw_contractorbill cb, egf_billregister bg where bg.billnumber=cb.billnumber and bg.billtype='contractorbill' and bg.billsubtype='Final' and cb.letterofacceptanceestimate=loae.id) as actualcompletiondate, de.councilresolutionnumber||'/'||de.councilresolutiondate as resolutionnumberanddate, (select bg.billdate from egw_contractorbill cb, egf_billregister bg where bg.billnumber=cb.billnumber and bg.billtype='contractorbill' and bg.billsubtype='Final' and cb.letterofacceptanceestimate=loae.id) as capitalisationdate, wo.workordernumber, de.projectcode as wincode, de.estimatevalue as approvedbudget, '' as assetidentificationnumber, (select sum(amount) from egw_securitydeposit where letterofacceptance=loa.id) as securitydepositamount, (select sum(bg.billamount) from egw_contractorbill cb, egf_billregister bg where bg.billnumber=cb.billnumber and bg.billtype='contractorbill' and cb.deleted=false and cb.letterofacceptanceestimate=loae.id) as totalexpensesincurredsofar, br.billdate as paymentdate, br.billamount as amount, br.billnumber as vouchernumber from egw_detailedestimate de left join egw_letterofacceptanceestimate loae on loae.detailedestimate=de.estimatenumber left join egw_letterofacceptance loa on loae.letterofacceptance=loa.id left join egw_workorder wo on wo.letterofacceptance=loa.id left join egw_contractorbill cb on cb.letterofacceptanceestimate=loae.id left join egf_billregister br on cb.billnumber=br.billnumber and br.billtype='contractorbill'where wo.letterofacceptance=loa.id and loae.letterofacceptance= wo.letterofacceptance and loae.letterofacceptance=loa.id and loae.detailedestimate=de.estimatenumber + +- reportName: ProjectStatusReport + summary: Project Status Report + version: 1.0.0 + moduleName: works + externalService: + - entity: $.MdmsRes.tenant.tenants[*].city + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_search + keyOrder: name,districtName, regionName + tableName: tbl_tenant + postObject: $RequestInfo,"MdmsCriteria":{"tenantId":"default","moduleDetails":[{"moduleName":"tenant","masterDetails":[{"name":"tenants","filter":"[?(@.code=='$tenantid')]"}]}]} + stateData: true + - entity: $.MdmsRes.works.Scheme + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=Scheme&tenantId=$tenantid&filter=%5B%3F%28%40.parent%21%3Dnull%29%5D + keyOrder: name,code + tableName: tbl_scheme + stateData: true + - entity: $.MdmsRes.works.TypeOfWork + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%3D%3Dnull%20%26%26%20%40.active%3D%3D%27true%27%29%5D + keyOrder: name,code,description,tenantId + tableName: tbl_typeofwork + stateData: true + - entity: $.MdmsRes.works.TypeOfWork + apiURL: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%21%3Dnull%20%26%26%20%40.active%3D%3D%27true%27%29%5D + keyOrder: name,code,description,tenantId + tableName: tbl_subtypeofwork + stateData: true + sourceColumns: + - name: divisionname + label: reports.works.division + type: string + source: works + - name: districtname + label: reports.works.district + type: string + source: works + - name: ulbname + label: reports.works.ulbname + type: string + source: works + - name: typeofwork + label: reports.works.typeofwork + type: string + source: works + - name: subtypeofwork + label: reports.works.subtypeofwork + type: string + source: works + - name: schemename + label: reports.works.schemename + type: string + source: works + - name: estimatenumber + label: reports.works.estimatenumber + type: string + source: works + - name: nameofwork + label: reports.works.nameofwork + type: string + source: works + - name: estimateamount + label: reports.works.estimateamount + type: number + source: works + - name: sanctionedamount + label: reports.works.sanctionedamount + type: number + source: works + - name: workstatus + label: reports.works.status + type: string + source: works + - name: billsreceivedtill + label: reports.works.billsreceivedtill + type: string + source: works + - name: paymentdonetill + label: reports.works.paymentdonetill + type: number + source: works + searchParams: + - name: division + label: reports.works.division + type: singlevaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=tenant&masterName=tenants&tenantId=$tenantid|$.MdmsRes.tenant.tenants.*.city.regionName|$.MdmsRes.tenant.tenants.*.city.regionName + wrapper: true + stateData: true + searchClause : AND de.workstype=$typeOfWork + isMandatory: false + - name: district + label: reports.works.district + type: singlevaluelist + isMandatory: false + type: string + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=tenant&masterName=tenants&tenantId=$tenantid|$.MdmsRes.tenant.tenants.*.city.districtName|$.MdmsRes.tenant.tenants.*.city.districtName + wrapper: true + stateData: true + searchClause : AND de.workstype in ($typeofwork) + - name: ulb + label: reports.works.ulbname + isMandatory: false + type: multivaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=tenant&masterName=tenants&tenantId=$tenantid|$.MdmsRes.tenant.tenants.*.code|$.MdmsRes.tenant.tenants.*.name + wrapper: true + stateData: true + searchClause : AND de.workssubtype in ($subtypeofwork) + - name: status + label: reports.works.status + type: singlevaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=WorksStatus&tenantId=$tenantid&filter=%5B%3F%28%40.moduleType%3D%3D%27DetailedEstimate%27%29%5D|$..code|$..description + wrapper: true + stateData: true + searchClause : AND de.status=$status + isMandatory: false + - name: statusason + label: reports.works.statusason + type: string + source: works + searchClause : AND de.status=$statusason + isMandatory: false + - name: typeOfWork + label: reports.works.typeofwork + type: singlevaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%3D%3Dnull%20%26%26%20%40.active%3D%3D%27true%27%29%5D|$..code|$..name + wrapper: true + stateData: true + searchClause : AND de.workstype=$typeOfWork + isMandatory: false + - name: subTypeOfWork + label: reports.works.subtypeofwork + type: singlevaluelist + source: works + pattern: http://egov-mdms-service:8080/egov-mdms-service/v1/_get?moduleName=works&masterName=TypeOfWork&tenantId=$tenantid&filter=%5B%3F%28%40.parent%3D%3D%7BtypeOfWork%7D%20%26%26%20%40.active%3D%3D%27true%27%29%5D|$..code|$..name + wrapper: true + stateData: true + searchClause : AND de.workssubtype=$subTypeOfWork + isMandatory: false + query: select (select city.name from (values tbl_tenant) as city (name, districtName, regionName)) as divisionname, (select city.districtName from (values tbl_tenant) as city (name, districtName, regionName)) as districtname, (select name from (values tbl_tenant) as city (name, districtName, regionName)) as ulbname, (select tw.name from (values tbl_typeofwork) as tw (name,code,description,tenantId) where tw.code=de.workstype) as typeofwork, (select stw.name from (values tbl_subtypeofwork) as stw (name,code,description,tenantId) where stw.code=de.workssubtype) as subtypeofwork, (select scheme.name from (values tbl_scheme) as scheme (name, code) where scheme.code=de.scheme) as schemename, de.estimatenumber, de.nameofwork, de.estimatevalue as estimateamount, loa.loaamount as sanctionedamount, (select sum(bg.billamount) from egw_contractorbill cb, egf_billregister bg where bg.billnumber=cb.billnumber and bg.billtype='contractorbill' and cb.deleted=false and cb.letterofacceptanceestimate=loae.id) as billsreceivedtill from egw_letterofacceptance loa, egw_detailedestimate de, egw_letterofacceptanceestimate loae left join egw_contractorbill cb on cb.letterofacceptanceestimate=loae.id left join egf_billregister br on cb.billnumber=br.billnumber and br.billtype='contractorbill' where loae.letterofacceptance=loa.id and loae.detailedestimate=de.estimatenumber diff --git a/configs/reports/configs/ws-reports.yml b/configs/reports/configs/ws-reports.yml new file mode 100644 index 00000000..1f28f7d7 --- /dev/null +++ b/configs/reports/configs/ws-reports.yml @@ -0,0 +1,1845 @@ +--- +ReportDefinitions: +- reportName: ReceiptRegisterSW + decryptionPathId: ULBPTDataDumpReport_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptno + label: reports.ws.receiptno + type: string + source: ws + total: false + - name: connectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: mobileno + label: reports.ws.mobileno + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: service + label: reports.ws.serive + type: string + source: ws + total: false + - name: billnumber + label: reports.ws.billnumber + type: string + source: ws + total: false + - name: billdate1 + label: reports.ws.billdate + type: string + source: ws + total: false + - name: paidby + label: reports.ws.paidby + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: paymentmode + label: reports.ws.paymentmode + type: string + source: ws + total: false + - name: paymentstatus + label: reports.ws.paymentstatus + type: string + source: ws + total: false + - name: ownername1 + label: reports.ws.ownername1 + type: string + source: ws + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: serviceType + label: serviceType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $serviceType + - name: receiptNumber + label: receiptNumber + type: string + source: pt + isMandatory: false + searchClause: AND pd.receiptnumber like $receiptNumber + - name: paymentStatus + label: paymentStatus + type: singlevaluelist + pattern: 'list://NEW:NEW,DEPOSITED:DEPOSITED' + source: pt + isMandatory: false + searchClause: AND payment.paymentstatus like $paymentStatus + - name: paymentMode + label: paymentMode + type: singlevaluelist + pattern: 'list://CASH:CASH,CHEQUE:CHEQUE,DD:DD,ONLINE:ONLINE,CARD:CARD,OFFLINE_NEFT:OFFLINE NEFT' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode like $paymentMode + query: | + -- Use CTE to force query plan, compute & use CTE later + select + receiptnumber as receiptno, + bill.consumercode as connectionno, + usr.mobilenumber as mobileno, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as receiptdate1, + bill.businessservice as service, + billnumber, + to_char((To_timestamp(bill.billdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as billdate1, + paidby, + amountpaid, + paymentmode, + paymentstatus, + payername as ownername1 + from egcl_paymentdetail pd + inner join egcl_bill as bill on bill.id=pd.billid + inner join egcl_payment as payment on payment.id=pd.paymentid + inner join eg_user as usr on usr.id=payment.createdby::integer and payment.paymentstatus!='CANCELLED' + where payment.tenantid=$tenantid and pd.businessservice in ('WS','SW') and bill.status='ACTIVE' + orderby: order by pd.receiptdate desc + + +- reportName: ReceiptRegisterSW_OLD + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: connectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: receiptdate + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: instrumenttype + label: reports.ws.instrumenttype + type: string + source: ws + total: false + - name: bankname + label: reports.ws.bankname + type: string + source: ws + total: false + - name: transactionnumber + label: reports.ws.transactionnumber + type: string + source: ws + total: false + - name: transactiondate + label: reports.ws.transactiondate + type: string + source: ws + total: false + - name: billperiod + label: reports.ws.billperiod + type: string + source: ws + total: false + - name: amount + label: reports.ws.amount + type: string + source: ws + total: true + - name: pendingamount + label: reports.ws.pendingamount + type: string + source: ws + total: true + - name: usagetype + label: reports.ws.usagetype + type: string + source: ws + total: false + - name: adhocpenalty + label: reports.ws.adhocpenalty + type: string + source: ws + total: true + - name: adhocrebate + label: reports.ws.adhocrebate + type: string + source: ws + total: true + - name: compositionfee + label: reports.ws.compositionfee + type: string + source: ws + total: true + - name: connectionfee + label: reports.ws.connectionfee + type: string + source: ws + total: true + - name: roundoff + label: reports.ws.roundoff + type: string + source: ws + total: true + - name: formfee + label: reports.ws.formfee + type: string + source: ws + total: true + - name: onetimefee + label: reports.ws.onetimefee + type: string + source: ws + total: true + - name: othercharge + label: reports.ws.othercharge + type: string + source: ws + total: true + - name: otherfee + label: reports.ws.otherfee + type: string + source: ws + total: true + - name: roadcuttingcharge + label: reports.ws.roadcuttingcharge + type: string + source: ws + total: true + - name: securityfee + label: reports.ws.securityfee + type: string + source: ws + total: true + - name: securitycharge + label: reports.ws.securitycharge + type: string + source: ws + total: true + - name: taxandcess + label: reports.ws.interest + type: string + source: ws + total: true + - name: usercharge + label: reports.ws.usercharge + type: string + source: ws + total: true + - name: g8issuedate + label: reports.ws.g8issuedate + type: string + source: ws + total: false + - name: g8receiptno + label: reports.ws.g8receiptno + type: string + source: ws + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $connectionType + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS + ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'SW_ADHOC_PENALTY' THEN adjustedamount ELSE 0 END) as adhocpenalty, + SUM(CASE WHEN taxheadcode LIKE 'SW_ADHOC_REBATE' THEN adjustedamount ELSE 0 END) as adhocrebate, + SUM(CASE WHEN taxheadcode LIKE 'SW_COMPOSITION_FEE' THEN adjustedamount ELSE 0 END) as compositionfee, + SUM(CASE WHEN taxheadcode LIKE 'SW_CONNECTION_FEE' THEN adjustedamount ELSE 0 END) as connectionfee, + SUM(CASE WHEN taxheadcode LIKE 'SW_FEE_ROUND_OFF' THEN adjustedamount ELSE 0 END) as roundoff, + SUM(CASE WHEN taxheadcode LIKE 'SW_FORM_FEE' THEN adjustedamount ELSE 0 END) as formfee, + SUM(CASE WHEN taxheadcode LIKE 'SW_ONE_TIME_FEE' THEN adjustedamount ELSE 0 END) as onetimefee, + SUM(CASE WHEN taxheadcode LIKE 'SW_OTHER_CHARGE' THEN bad.amount ELSE 0 END) as othercharge, + SUM(CASE WHEN taxheadcode LIKE 'SW_OTHER_FEE' THEN adjustedamount ELSE 0 END) as otherfee, + SUM(CASE WHEN taxheadcode LIKE 'SW_ROAD_CUTTING_CHARGE' THEN bad.amount ELSE 0 END) as roadcuttingcharge, + SUM(CASE WHEN taxheadcode LIKE 'SW_SCRUTINY_FEE' THEN bad.amount ELSE 0 END) as scrutinyfee, + SUM(CASE WHEN taxheadcode LIKE 'SW_SECURITY_CHARGE' THEN adjustedamount ELSE 0 END) as securitycharge, + SUM(CASE WHEN taxheadcode LIKE 'SW_TAX_AND_CESS' THEN adjustedamount ELSE 0 END) as taxandcess, + SUM(CASE WHEN taxheadcode LIKE 'SW_USER_CHARGE' THEN adjustedamount ELSE 0 END) as usercharge + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' + group by pdid + ) + SELECT + --count(*) + pd.tenantid AS tenantid, + pd.id, + pt.propertyid as consumercode, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + payment.ifsccode AS bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY')) as billperiod, + to_char((To_timestamp(payment.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.totaldue - payment.totalamountpaid AS pendingamount, + Initcap(case when pt.usagecategory like '%.%' then split_part(pt.usagecategory,'.',2) else pt.usagecategory end) as usagetype, + (case when eg_user.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eg_user.name end) as collectorname, + receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment, eg_pt_property as pt, receipt_breakup, egcl_bill bill, eg_sw_connection + --(select string_agg(distinct propertyid,',') as propertyid, string_agg(distinct locality,',') as locality from eg_pt_address where tenantid=$tenantid group by propertyid ) pt_addr + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice like $connectionType and payment.tenantid=$tenantid + and pt.id = eg_sw_connection.property_id + and receipt_breakup.pdid=pd.id + and pt.status!='INACTIVE' + --and pt_addr.propertyid=pt.id + --and pt.propertyid='PT-1012-978737' + --and receiptnumber='PT/1012/2020-21/001021' + orderby: ORDER BY pd.receiptdate DESC + + +- reportName: ReceiptRegisterReportSW + decryptionPathId: ReceiptRegisterShort_V2 + summary: Receipt Register + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: service + label: reports.ws.service + type: string + source: ws + total: false + - name: collectorname + label: reports.ws.collectorname + type: string + source: ws + total: false + - name: online + label: reports.ws.online + type: string + source: ws + total: true + - name: cash + label: reports.ws.cash + type: string + source: ws + total: true + - name: cheque + label: reports.ws.cheque + type: string + source: ws + total: true + - name: dd + label: reports.ws.dd + type: string + source: ws + total: true + - name: cheque_dd_date + label: reports.ws.cheque_dd_date + type: string + source: ws + total: false + - name: cheque_dd_transaction_number + label: reports.ws.cheque_dd_transaction_number + type: string + source: ws + total: false + - name: card + label: reports.ws.card + type: string + source: ws + total: true + - name: rtgs + label: reports.ws.rtgs + type: string + source: ws + total: true + - name: neft + label: reports.ws.neft + type: string + source: ws + total: true + - name: po + label: reports.ws.po + type: string + source: ws + total: true + - name: paymentstatus + label: reports.ws.paymentstatus + type: string + source: ws + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $connectionType + query: | + -- Use CTE to force query plan, compute & use CTE later + select + receiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as receiptdate1, + businessservice as service, + (case when eg_user.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eg_user.name end) as collectorname, + case when payment.paymentmode='ONLINE' then payment.totalamountpaid else 0 end as "online", + case when payment.paymentmode='CASH' then payment.totalamountpaid else 0 end as cash, + case when payment.paymentmode='CHEQUE' then payment.totalamountpaid else 0 end as cheque, + case when payment.paymentmode='DD' then payment.totalamountpaid else 0 end as dd, + to_char((To_timestamp(instrumentdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as cheque_dd_date, + instrumentnumber as cheque_dd_transaction_number, + case when payment.paymentmode='CARD' then payment.totalamountpaid else 0 end as card, + case when payment.paymentmode='OFFLINE_RTGS' then payment.totalamountpaid else 0 end as rtgs, + case when payment.paymentmode='OFFLINE_NEFT' then payment.totalamountpaid else 0 end as neft, + case when payment.paymentmode='POTAL_ORDER' then payment.totalamountpaid else 0 end as po + from egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER + inner join egcl_payment payment on payment.id=pd.paymentid + where pd.tenantid=$tenantid + orderby: order by pd.receiptdate + + +- reportName: BaseRegisterReportWS + summary: Base Register Report WS + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: connectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: plotsize + label: reports.ws.plotsize + type: string + source: ws + total: false + - name: applicationno + label: reports.ws.applicationno + type: string + source: ws + total: false + - name: propertyid + label: reports.ws.propertyid + type: string + source: ws + total: false + - name: connectionholdertype + label: reports.ws.connectionholdertype + type: string + source: ws + total: false + - name: applicationstatus + label: reports.ws.applicationstatus + type: string + source: ws + total: false + - name: connectionholder + label: reports.ws.connectionholder + type: string + source: ws + total: false + - name: name + label: reports.ws.ownername + type: string + source: ws + total: false + - name: address + label: reports.ws.address + type: string + source: ws + total: false + query: | + -- Use CTE to force query plan, compute & use CTE later + with ptowner as + ( + select split_part(string_agg(userid,','),',',1) as owneruserid, + propertyid + from eg_pt_owner + where tenantid=$tenantid and status='ACTIVE' + group by propertyid + ) + --, + -- ptaddress as + --( + -- select + -- split_part(string_agg(locality,','),',',1) as locality, + -- split_part(string_agg(concat(doorno,' ',plotno,' ',buildingname,' ',street,' ',city),'|'),'|',1) as address, + -- propertyid + -- from eg_pt_address + -- where tenantid=$tenantid + -- group by propertyid + --) + select + connectionno, + pt.landarea as plotsize, + oldconnectionno, + applicationno, + pt.propertyid, + ch.connectionholdertype, + wsconnection.applicationstatus, + users.name as connectionHolder, + userowner.name as name + --concat(address,' ',localityname) as address + from eg_ws_connection wsconnection + inner join eg_pt_property as pt on pt.id=wsconnection.property_id + left outer join eg_ws_connectionholder as ch on ch.connectionid=wsconnection.id + left outer join eg_user as users on ch.userid=users.uuid + inner join ptowner on ptowner.propertyid=pt.id + left outer join eg_user as userowner on ptowner.owneruserid=userowner.uuid + --inner join ptaddress on ptaddress.propertyid=pt.id + --INNER JOIN eg_bndry_mohalla on eg_bndry_mohalla.localitycode=ptaddress.locality + +- reportName: FieldCollectionSearchReportWS + decryptionPathId: FieldCollectionSearchReportWS + summary: Field Collection Search Report WS + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: businessservice + label: reports.ws.businessservice + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: paymentstatus + label: reports.ws.paymentstatus + type: string + source: ws + total: false + - name: paymentmode + label: reports.ws.paymentmode + type: string + source: ws + total: false + - name: name + label: reports.ws.name + type: string + source: ws + total: false + - name: mobilenumber + label: reports.ws.mobilenumber + type: string + source: ws + total: false + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + select + receiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate1, + pd.businessservice, + pd.amountpaid, + consumercode, + paymentstatus, + paymentmode, + usr.name as name, + usr.mobilenumber as mobilenumber + from egcl_paymentdetail pd + inner join egcl_bill as bill on bill.id=pd.billid + INNER join egcl_payment as payment on payment.id=pd.paymentid + inner join eg_user as usr on usr.id=payment.createdby::integer + where pd.tenantid=$tenantid + orderby: ORDER BY pd.receiptdate DESC + +- reportName: FieldCollectionSearchReceiptWS + summary: Field Collection Search Receipt WS + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: manualreceiptnumber + label: reports.ws.manualreceiptnumber + type: string + source: ws + total: false + - name: businessservice + label: reports.ws.businessservice + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: paymentstatus + label: reports.ws.paymentstatus + type: string + source: ws + total: false + - name: paymentmode + label: reports.ws.paymentmode + type: string + source: ws + total: false + - name: billnumber + label: reports.ws.billnumber + type: string + source: ws + total: false + - name: billdescription + label: reports.ws.billdescription + type: string + source: ws + total: false + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND bill.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + select + receiptnumber, + manualreceiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate1, + pd.businessservice as businessservice, + billnumber, + billdescription, + consumercode, + pd.amountpaid as amountpaid, + paymentmode, + paymentstatus + from egcl_paymentdetail pd + inner join egcl_bill as bill on bill.id=pd.billid + inner join egcl_billdetial as billd on billd.billid=pd.billid + INNER join egcl_payment as payment on payment.id=pd.paymentid + where 1=1 + orderby: ORDER BY pd.receiptdate DESC + + +- reportName: ChequeCollectionReportWS + summary: Cheque Collection Report WS + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: connectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: oldconnectionno + label: reports.ws.oldconnectionno + type: string + source: ws + total: false + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: manualreceiptnumber + label: reports.ws.manualreceiptnumber + type: string + source: ws + total: false + - name: manualreceiptdate + label: reports.ws.manualreceiptdate + type: string + source: ws + total: false + - name: cheque_dd_no + label: reports.ws.cheque_dd_no + type: string + source: ws + total: false + - name: cheque_dd_date + label: reports.ws.cheque_dd_date + type: string + source: ws + total: false + - name: paymentmode + label: reports.ws.paymentmode + type: string + source: ws + total: false + - name: paymentstatus + label: reports.ws.paymentstatus + type: string + source: ws + total: false + - name: bank_name + label: reports.ws.bank_name + type: string + source: ws + total: false + - name: branch + label: reports.ws.branch + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: businessservice + label: reports.ws.businessservice + type: string + source: ws + total: false + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND bill.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + select + consumercode, + wsconnection.connectionno, + wsconnection.oldconnectionno, + receiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as receiptdate1, + manualreceiptnumber, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as manualreceiptdate, + transactionnumber as cheque_dd_no, + to_char((To_timestamp(transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as cheque_dd_date, + paymentmode, + paymentstatus, + bank_name, + branch, + pd.amountpaid, + pd.businessservice + from egcl_paymentdetail pd + inner join egcl_payment payment on payment.id=pd.paymentid + left outer join bank_branches on bank_branches.ifsc=payment.ifsccode + inner join egcl_bill bill on bill.id=pd.billid + inner join eg_ws_connection wsconnection on wsconnection.connectionno=bill.consumercode + where payment.paymentmode='CHEQUE' and pd.tenantid=$tenantid and payment.paymentstatus!='CANCELLED' + orderby: ORDER BY pd.receiptdate DESC + +- reportName: SearchOnlineReceiptsWS + decryptionPathId: ReceiptRegisterShort_V2 + summary: Search Online Receipts WS + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: billnumber + label: reports.ws.billnumber + type: string + source: ws + total: false + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate1 + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: transactionnumber + label: reports.ws.transactionnumber + type: string + source: ws + total: false + - name: transactiondate1 + label: reports.ws.transactiondate + type: string + source: ws + total: false + - name: businessservice + label: reports.ws.businessservice + type: string + source: ws + total: false + - name: paymentstatus + label: reports.ws.paymentstatus + type: string + source: ws + total: false + - name: paymentmode + label: reports.ws.paymentmode + type: string + source: ws + total: false + - name: collectorname + label: reports.ws.collectorname + type: string + source: ws + total: false + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND bill.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND payment.transactiondate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND payment.transactiondate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + select + billnumber, + bill.consumercode as consumercode, + pd.receiptnumber as receiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as receiptate1, + pd.amountpaid, + pd.businessservice , + paymentstatus , + payment.transactionnumber , + to_char((To_timestamp(payment.transactiondate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as transactiondate1, + paymentmode, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname + from egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER + inner join egcl_bill as bill on bill.id=pd.billid + INNER join egcl_payment as payment on payment.id=pd.paymentid + where paymentmode='ONLINE' and payment.tenantid=$tenantid + orderby: ORDER BY payment.transactiondate DESC + +- reportName: ReceiptCollections + summary: Receipt Collections + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: businessservice + label: reports.ws.businessservice + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: paymentmode + label: reports.ws.paymentmode + type: string + source: ws + total: false + - name: billnumber + label: reports.ws.billnumber + type: string + source: ws + total: false + - name: paidby + label: reports.ws.paidby + type: string + source: ws + total: false + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND payment.transactiondate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND payment.transactiondate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + select + consumercode, + receiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as receiptdate1, + amountpaid, + paymentmode, + pd.businessservice, + bill.billnumber, + payment.paidby + from egcl_paymentdetail pd + inner join egcl_bill as bill on bill.id=pd.billid + inner join egcl_payment as payment on payment.id=pd.paymentid and payment.paymentstatus!='CANCELLED' + where pd.tenantid=$tenantid + orderby: ORDER BY pd.receiptdate DESC + +- reportName: JE_PendencyReport + decryptionPathId: JE_PendencyReport_WS + summary: JE_Pendency Report + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: name + label: reports.ws.name + type: string + source: ws + total: false + - name: count + label: reports.ws.count + type: string + source: ws + total: true + query: | + -- Use CTE to force query plan, compute & use CTE later + select usr.name,count(*) + from eg_ws_connection con + inner join eg_user as usr on usr.uuid=con.createdby and usr.type='EMPLOYEE' + where applicationstatus not in ('INITIATED') and con.tenantid=$tenantid + groupby: GROUP BY con.createdby,usr.name + +- reportName: CashCollectionReport + decryptionPathId: ReceiptRegisterShort_V2 + summary: Cash Collection Report + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false + - name: receiptdate1 + label: reports.ws.receiptdate + type: string + source: ws + total: false + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: collectorname + label: reports.ws.collectorname + type: string + source: ws + total: false + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + - name: collectorname + label: reports.pt.collectorname + type: singlevaluelist + pattern: http://egov-hrms:8080/egov-hrms/employees/_search?tenantId=$tenantid&roles=WS_CEMP,WS_CLERK,SW_CEMP,SW_CLERK|$.Employees[*].user.id|$.Employees[*].user.name + source: ws + wrapper: true + isMandatory: false + searchClause: AND eg_user.id = $collectorname::INTEGER + query: | + -- Use CTE to force query plan, compute & use CTE later + select + consumercode, + receiptnumber, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as receiptdate1, + amountpaid, + (case when eg_user.name is null then '30048|23/xn3x2FAxn8vYAN0IdplsOxaE=' else eg_user.name end) as collectorname + from egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER + inner join egcl_bill as bill on bill.id=pd.billid + inner join egcl_payment as payment on payment.id=pd.paymentid and payment.paymentmode='CASH' and payment.paymentstatus!='CANCELLED' + and pd.businessservice in ('WS','SW') where payment.tenantid=$tenantid + orderby: ORDER BY pd.receiptdate DESC + +- reportName: CollectionsSummaryHeadwiseReport + summary: Collections Summary Headwise Report + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: taxheadcode + label: reports.ws.taxheadcode + type: string + source: ws + total: false + - name: totalamountpaid + label: reports.ws.totalamountpaid + type: string + source: ws + total: true + - name: totalassessments + label: reports.ws.totalassessments + type: string + source: ws + total: true + - name: totalonline + label: reports.ws.totalonline + type: string + source: ws + total: true + - name: countonline + label: reports.ws.countonline + type: string + source: ws + total: true + - name: totalcash + label: reports.ws.totalcash + type: string + source: ws + total: true + - name: countcash + label: reports.ws.countcash + type: string + source: ws + total: true + - name: totalcheque + label: reports.ws.totalcheque + type: string + source: ws + total: true + - name: totaldd + label: reports.ws.totaldd + type: string + source: ws + total: true + - name: countdd + label: reports.ws.countdd + type: string + source: ws + total: true + - name: totalcard + label: reports.ws.totalcard + type: string + source: ws + total: true + - name: countcard + label: reports.ws.countcard + type: string + source: ws + total: true + - name: totalrtgs + label: reports.ws.totalrtgs + type: string + source: ws + total: true + - name: totalneft + label: reports.ws.totalneft + type: string + source: ws + total: true + - name: countneft + label: reports.ws.countneft + type: string + source: ws + total: true + - name: totalPO + label: reports.ws.totalPO + type: string + source: ws + total: true + - name: countPO + label: reports.ws.countPO + type: string + source: ws + total: true + - name: countoffline + label: reports.ws.countoffline + type: string + source: ws + total: true + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $connectionType + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: false + searchClause: AND pd.receiptdate <= $toDate + query: | + -- Use CTE to force query plan, compute & use CTE later + SELECT + taxheadcode, + sum(payment.totalamountpaid) as totalamountpaid, + count(payment.totalamountpaid) as totalassessments, + sum(case when payment.paymentmode='ONLINE' then payment.totalamountpaid else 0 end) as "totalonline", + sum(case when payment.paymentmode='ONLINE' then 1 else 0 end) as "countonline", + sum(case when payment.paymentmode='CASH' then payment.totalamountpaid else 0 end) as totalcash, + sum(case when payment.paymentmode='CASH' then 1 else 0 end) as countcash, + sum(case when payment.paymentmode='CHEQUE' then payment.totalamountpaid else 0 end) as totalcheque, + sum(case when payment.paymentmode='CHEQUE' then 1 else 0 end) as countcheque, + sum(case when payment.paymentmode='DD' then payment.totalamountpaid else 0 end) as totalDD, + sum(case when payment.paymentmode='DD' then 1 else 0 end) as countDD, + sum(case when payment.paymentmode='CARD' then payment.totalamountpaid else 0 end) as totalcard, + sum(case when payment.paymentmode='CARD' then 1 else 0 end) as countcard, + sum(case when payment.paymentmode='OFFLINE_RTGS' then payment.totalamountpaid else 0 end) as totalRTGS, + sum(case when payment.paymentmode='OFFLINE_RTGS' then 1 else 0 end) as countRTGS, + sum(case when payment.paymentmode='OFFLINE_NEFT' then payment.totalamountpaid else 0 end) as totalNEFT, + sum(case when payment.paymentmode='OFFLINE_NEFT' then 1 else 0 end) as countNEFT, + sum(case when payment.paymentmode='POTAL_ORDER' then payment.totalamountpaid else 0 end) as "totalPO", + sum(case when payment.paymentmode='POTAL_ORDER' then 1 else 0 end) as "countPO", + sum(case when payment.paymentmode!='ONLINE' then 1 else 0 end) as "countoffline" + FROM egcl_paymentdetail pd + INNER join egcl_payment as payment on pd.paymentid=payment.id + INNER JOIN egcl_billdetial as bd on pd.billid = bd.billid + INNER JOIN egcl_billaccountdetail as bad on bad.billdetailid = bd.id + where payment.paymentstatus != 'CANCELLED' and payment.tenantid=$tenantid + groupby: GROUP BY taxheadcode + + +- reportName: ArrearReport + summary: Arrear Report + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false + - name: totalamount + label: reports.ws.totalamount + type: string + source: ws + total: true + - name: amountpaid + label: reports.ws.amountpaid + type: string + source: ws + total: true + - name: dueamount + label: reports.ws.dueamount + type: string + source: ws + total: true + searchParams: + - name: connectionType + label: connectionType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND businessservice like $connectionType + query: | + -- Use CTE to force query plan, compute & use CTE later + with demands as + ( + select demandid,sum(taxamount) as amount,sum(collectionamount) as collection,sum(taxamount-collectionamount) as arrear + from egbs_demanddetail_v1 where tenantid=$tenantid + group by demandid + having sum(taxamount-collectionamount)>0 + ) + select consumercode,sum(amount) as totalamount,sum(collection) as amountpaid,sum(arrear) as dueamount + from egbs_demand_v1 d + inner join demands on demands.demandid=d.id and status='ACTIVE' + where tenantid=$tenantid + groupby: group by consumercode + + +- reportName: SearchWaterChargeReport + summary: Search Water Charge Notice Report + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: connectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: oldconnectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: ownername + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: propertyid + label: reports.ws.propertyid + type: string + source: ws + total: false + - name: connectiontype + label: reports.ws.propertyid + type: string + source: ws + total: false + - name: billnumber + label: reports.ws.billno + type: string + source: ws + total: false + - name: fromdate + label: reports.ws.fromdate + type: string + source: ws + total: false + - name: todate + label: reports.ws.todate + type: string + source: ws + total: false + searchParams: + - name: fromDate + label: reports.ws.fromBillDate + type: epoch + source: ws + isMandatory: false + searchClause: AND bill.billdate >= $fromDate + - name: toDate + label: reports.ws.toBillDate + type: epoch + source: ws + isMandatory: false + searchClause: AND bill.billdate <= $toDate + - name: mobilenumber + label: reports.ws.mobilenumber + type: string + source: ws + isMandatory: false + searchClause: AND owners.mobilenumber=$mobilenumber + - name: connectionNumber + label: reports.ws.connectionNumber + type: string + source: ws + isMandatory: false + searchClause: AND connectionno=$connectionNumber + - name: oldConnectionNumber + label: reports.ws.oldConnectionNumber + type: string + source: ws + isMandatory: false + searchClause: AND oldconnectionno=$oldConnectionNumber + query: | + -- Use CTE to force query plan, compute & use CTE later + with owners as + ( + select + split_part(string_agg(name,','),',',1) as ownername, + split_part(string_agg(mobilenumber,','),',',1) as mobilenumber, + pt.propertyid as propertyid + from eg_user usr + inner join eg_pt_owner on eg_pt_owner.userid=usr.uuid + inner join eg_pt_property pt on eg_pt_owner.propertyid=pt.id and pt.status='ACTIVE' + where pt.tenantid=$tenantid + group by pt.propertyid + ) + select + connectionno, + oldconnectionno, + pt.propertyid, + ownername, + connectiontype, + bill.billnumber, + to_char((To_timestamp(bill.billdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as billdate, + to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') fromperiod, + to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') toperiod, + bill.totalamount, + bill.businessservice + from eg_ws_connection wsconnection + inner join eg_pt_property pt on pt.id=wsconnection.property_id and pt.status='ACTIVE' + inner join eg_ws_service on eg_ws_service.connection_id=wsconnection.id + inner join egcl_bill bill on bill.consumercode=wsconnection.connectionno + inner join egcl_billdetial bd on bill.id=bd.billid + inner join owners on owners.propertyid=pt.propertyid + where wsconnection.tenantid=$tenantid and wsconnection.status='Active' and bill.businessservice like 'WS%' + orderby: order by bill.billdate desc + + +- reportName: SearchSewerageChargeReport + summary: Search Sewerage Charge Notice Report + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: + - name: connectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: oldconnectionno + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: ownername + label: reports.ws.connectionno + type: string + source: ws + total: false + - name: propertyid + label: reports.ws.propertyid + type: string + source: ws + total: false + - name: billnumber + label: reports.ws.billno + type: string + source: ws + total: false + - name: fromdate + label: reports.ws.fromdate + type: string + source: ws + total: false + - name: todate + label: reports.ws.todate + type: string + source: ws + total: false + searchParams: + - name: fromDate + label: reports.ws.fromBillDate + type: epoch + source: ws + isMandatory: false + searchClause: AND bill.billdate >= $fromDate + - name: toDate + label: reports.ws.toBillDate + type: epoch + source: ws + isMandatory: false + searchClause: AND bill.billdate <= $toDate + - name: mobilenumber + label: reports.ws.mobilenumber + type: string + source: ws + isMandatory: false + searchClause: AND owners.mobilenumber=$mobilenumber + - name: connectionNumber + label: reports.ws.connectionNumber + type: string + source: ws + isMandatory: false + searchClause: AND connectionno=$connectionNumber + - name: oldConnectionNumber + label: reports.ws.oldConnectionNumber + type: string + source: ws + isMandatory: false + searchClause: AND oldconnectionno=$oldConnectionNumber + query: | + -- Use CTE to force query plan, compute & use CTE later + with owners as + ( + select + split_part(string_agg(name,','),',',1) as ownername, + pt.propertyid as propertyid + from eg_user usr + inner join eg_pt_owner on eg_pt_owner.userid=usr.uuid + inner join eg_pt_property pt on eg_pt_owner.propertyid=pt.id and pt.status='ACTIVE' + where pt.tenantid=$tenantid + group by pt.propertyid + ) + select + connectionno, + oldconnectionno, + pt.propertyid, + ownername, + bill.billnumber, + to_char((To_timestamp(bill.billdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') as billdate, + to_char((To_timestamp(bd.fromperiod/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') fromperiod, + to_char((To_timestamp(bd.toperiod/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') toperiod, + bill.totalamount, + bill.businessservice + from eg_sw_connection swconnection + inner join eg_pt_property pt on pt.id=swconnection.property_id and pt.status='ACTIVE' + inner join egcl_bill bill on bill.consumercode=swconnection.connectionno + inner join egcl_billdetial bd on bill.id=bd.billid + inner join owners on owners.propertyid=pt.propertyid + where swconnection.tenantid=$tenantid and swconnection.status='Active' and bill.businessservice like 'SW%' + orderby: order by bill.billdate desc + +- reportName: estimation_charge + summary: estimation charge + version: 1.0.0 + moduleName: rainmaker-ws + additionalConfig: + print: + pdfPageSize: "A1" + sourceColumns: +- name: receiptnumber + label: reports.ws.receiptnumber + type: string + source: ws + total: false +- name: consumercode + label: reports.ws.consumercode + type: string + source: ws + total: false +- name: Advance + label: reports.ws.Advance + type: string + source: ws + total: false +- name: receiptdate + label: reports.ws.receiptdate + type: string + source: ws + total: false +- name: instrumenttype + label: reports.ws.instrumenttype + type: string + source: ws + total: false +- name: Water_Charge + label: reports.ws.Water_Charge + type: string + source: ws + total: true +- name: Composition_Fee + label: reports.ws.Composition_Fee + type: string + source: ws + total: true +- name: Connection_Fee + label: reports.ws.Connection_Fee + type: string + source: ws + total: true +- name: Fee_Round_off + label: reports.ws.Fee_Round_off + type: string + source: ws + total: true +- name: Other_Fee + label: reports.ws.Other_Fee + type: string + source: ws + total: true +- name: Road_Cutting_Charge + label: reports.ws.Road_Cutting_Charge + type: string + source: ws + total: true +- name: water_round_off + label: reports.ws.water_round_off + type: string + source: ws + total: true +- name: secuirty_dep + label: reports.ws.secuirty_dep + type: string + source: ws + total: true +- name: supervision_charge + label: reports.ws.supervision_charge + type: string + source: ws + total: true +- name: tax_adjustment + label: reports.ws.tax_adjustment + type: string + source: ws + total: false +- name: WS_time_interest + label: reports.ws.WS_time_interest + type: string + source: ws + total: false +- name: Ws_time_penalty + label: reports.ws.Ws_time_penalty + type: string + source: ws + total: false +- name: User_Charge + label: reports.ws.User_Charge + type: string + source: ws + total: false +- name: paidby + label: reports.ws.paidby + type: string + source: ws + total: false +- name: amount + label: reports.ws.amount + type: string + source: ws + total: true +- name: transactionnumber + label: reports.ws.transactionnumber + type: string + source: ws + total: false +- name: financialyear + label: reports.ws.financialyear + type: string + source: ws + total: false +- name: g8receiptno + label: reports.ws.g8receiptno + type: string + source: ws + total: false +- name: pendingamount + label: reports.ws.pendingamount + type: string + source: ws + total: false +- name: tenantid + label: reports.ws.tenantid + type: string + source: ws + total: false + searchParams: + - name: fromDate + label: reports.pt.fromDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate >= $fromDate + - name: toDate + label: reports.pt.toDate + type: epoch + source: pt + isMandatory: true + searchClause: AND pd.receiptdate <= $toDate + - name: serviceType + label: serviceType + type: singlevaluelist + pattern: 'list://WS%:Water,SW%:Sewerage' + source: pt + isMandatory: true + searchClause: AND pd.businessservice like $serviceType + - name: receiptNumber + label: receiptNumber + type: string + source: pt + isMandatory: false + searchClause: AND pd.receiptnumber like $receiptNumber + - name: paymentStatus + label: paymentStatus + type: singlevaluelist + pattern: 'list://NEW:NEW,DEPOSITED:DEPOSITED' + source: pt + isMandatory: false + searchClause: AND payment.paymentstatus like $paymentStatus + - name: paymentMode + label: paymentMode + type: singlevaluelist + pattern: 'list://CASH:CASH,CHEQUE:CHEQUE,DD:DD,ONLINE:ONLINE,CARD:CARD,OFFLINE_NEFT:OFFLINE NEFT' + source: pt + isMandatory: false + searchClause: AND payment.paymentmode like $paymentMode + query: | + -- Use CTE to force query plan, compute & use CTE later + WITH receipt_breakup AS ( + SELECT + pd.id as pdid, + SUM(CASE WHEN taxheadcode LIKE 'WS_ADVANCE_CARRYFORWARD' THEN adjustedamount ELSE 0 END) as Advance, + SUM(CASE WHEN taxheadcode LIKE 'WS_CHARGE' THEN adjustedamount ELSE 0 END) as Water_Charge, + SUM(CASE WHEN taxheadcode LIKE 'WS_COMPOSITION_FEE' THEN adjustedamount ELSE 0 END) as Composition_Fee, + SUM(CASE WHEN taxheadcode LIKE 'WS_CONNECTION_FEE' THEN adjustedamount ELSE 0 END) as Connection_Fee, + SUM(CASE WHEN taxheadcode LIKE 'WS_FEE_ROUND_OFF' THEN adjustedamount ELSE 0 END) as Fee_Round_off , + SUM(CASE WHEN taxheadcode LIKE 'WS_OTHER_FEE' THEN adjustedamount ELSE 0 END) as Other_Fee, + SUM(CASE WHEN taxheadcode LIKE 'WS_ROAD_CUTTING_CHARGE' THEN adjustedamount ELSE 0 END) as Road_Cutting_Charge, + SUM(CASE WHEN taxheadcode LIKE 'WS_Round_Off' THEN adjustedamount ELSE 0 END) as water_round_off, + SUM(CASE WHEN taxheadcode LIKE 'WS_SECURITY_DEPOSIT' THEN adjustedamount ELSE 0 END) as secuirty_dep, + SUM(CASE WHEN taxheadcode LIKE 'WS_SUPERVISION_CHARGE' THEN adjustedamount ELSE 0 END) as supervision_charge, + SUM(CASE WHEN taxheadcode LIKE 'WS_TAX_ADJUSTMENT' THEN adjustedamount ELSE 0 END) as tax_adjustment, + SUM(CASE WHEN taxheadcode LIKE 'WS_TIME_INTEREST' THEN adjustedamount ELSE 0 END) as WS_time_interest, + SUM(CASE WHEN taxheadcode LIKE 'WS_TIME_PENALTY' THEN adjustedamount ELSE 0 END) as Ws_time_penalty, + SUM(CASE WHEN taxheadcode LIKE 'WS_USER_CHARGE' THEN adjustedamount ELSE 0 END) as User_Charge + + FROM egcl_billaccountdetail as bad + INNER JOIN egcl_billdetial as bd on bd.id = bad.billdetailid + INNER JOIN egcl_paymentdetail as pd on pd.billid = bd.billid + INNER JOIN egcl_payment as payment on pd.paymentid=payment.id + WHERE payment.tenantid = $tenantid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='WS.ONE_TIME_FEE' + -- AND pd.receiptdate >= $fromDate AND pd.receiptdate <= $toDate + GROUP BY pdid + ) + + SELECT + -- pd.id, + pt.applicationno as consumercode, + to_char((To_timestamp(pd.receiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS receiptdate, + --payment.ifsccode AS bankname, + --concat(bank_branches.bank_name,' ',bank_branches.branch) as bankname, + receiptnumber, + payment.totalamountpaid as amount, + payment.paymentmode as instrumenttype, + payment.transactionnumber, + concat(to_char((To_timestamp(get_fromperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YYYY'),'-', to_char((To_timestamp(get_toperiod(pd.billid)/1000) at time Zone 'Asia/Kolkata'),'YY')) as financialyear, + to_char((To_timestamp(payment.instrumentdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS transactiondate, + payment.totaldue - payment.totalamountpaid AS pendingamount, + --Initcap(case when pt.usagecategory like '%.%' then split_part(pt.usagecategory,'.',2) else pt.usagecategory end) as usagetype, + (case when eg_user.name is null then '30048|21Fj+c3k2ldB0X3AzIh7atXB' else eg_user.name end) as collectorname, + receipt_breakup.*, + to_char((To_timestamp(pd.manualreceiptdate/1000) at time Zone 'Asia/Kolkata'),'DD-MM-YYYY') AS g8issuedate, + manualreceiptnumber as g8receiptno + FROM egcl_paymentdetail pd Left outer join eg_user on eg_user.id = pd.createdby::INTEGER, egcl_payment payment left outer join bank_branches on bank_branches.ifsc=payment.ifsccode, + + (select * from (select *,(row_number() over(partition by applicationno order by lastmodifiedtime desc)) as rw from eg_ws_connection where tenantid=$tenantid) pts where rw=1) as pt, + + receipt_breakup, egcl_bill bill + + where pd.paymentid=payment.id and bill.id=pd.billid and payment.paymentstatus != 'CANCELLED' and pd.businessservice='WS.ONE_TIME_FEE' and payment.tenantid=$tenantid + + and pt.applicationno = bill.consumercode and receipt_breakup.pdid=pd.id diff --git a/configs/reports/report.config b/configs/reports/report.config index e4ee1ec4..d61eda0e 100644 --- a/configs/reports/report.config +++ b/configs/reports/report.config @@ -2,3 +2,6 @@ rainmaker-pgr=file:///work-dir/punjab-rainmaker-customization/configs/reports/co rainmaker-pt=file:///work-dir/punjab-rainmaker-customization/configs/reports/configs/pt-reports.yml rainmaker-tl=file:///work-dir/punjab-rainmaker-customization/configs/reports/configs/tl-reports.yml rainmaker-uc=file:///work-dir/punjab-rainmaker-customization/configs/reports/configs/uc-reports.yml +rainmaker-noc=file:///work-dir/punjab-rainmaker-customization/configs/reports/configs/rainmaker-noc-reports.yml +rainmaker-ws=file:///work-dir/punjab-rainmaker-customization/configs/reports/configs/ws-reports.yml +rainmaker-hrms=file:///work-dir/punjab-rainmaker-customization/configs/reports/configs/hrms-reports.yml diff --git a/rainmaker-custom-service/.dockerignore b/rainmaker-custom-service/.dockerignore new file mode 100644 index 00000000..3c3629e6 --- /dev/null +++ b/rainmaker-custom-service/.dockerignore @@ -0,0 +1 @@ +node_modules diff --git a/rainmaker-custom-service/.gitignore b/rainmaker-custom-service/.gitignore new file mode 100644 index 00000000..6cacf563 --- /dev/null +++ b/rainmaker-custom-service/.gitignore @@ -0,0 +1,3 @@ +sampleRequest.js +nodemon.json +.vscode diff --git a/rainmaker-custom-service/Dockerfile b/rainmaker-custom-service/Dockerfile new file mode 100644 index 00000000..37c7dacd --- /dev/null +++ b/rainmaker-custom-service/Dockerfile @@ -0,0 +1,8 @@ +FROM egovio/alpine-node-builder-10:yarn AS build +RUN mkdir /opt/app +COPY package.json yarn.lock /opt/app/ +WORKDIR /opt/app +RUN yarn install +COPY . /opt/app +CMD ["node", "index.js"] + diff --git a/rainmaker-custom-service/bnd.js b/rainmaker-custom-service/bnd.js new file mode 100644 index 00000000..3514c63d --- /dev/null +++ b/rainmaker-custom-service/bnd.js @@ -0,0 +1,15 @@ +let requests = require("request") + +requests.post("http://13.126.198.70/eDistServices/ModuleCommon/serAuth.asmx/serAuthExternalUser", + { + form: { + username: "eomcbrn", + password: "esewa@123" + }, + headers: { + "x-api-key": "Tw0AxM3kyV3mb8SM" + } + } +,function(a,b,c) { + console.log(a,c); +}) \ No newline at end of file diff --git a/rainmaker-custom-service/build.wkflo b/rainmaker-custom-service/build.wkflo new file mode 100644 index 00000000..95cba3d1 --- /dev/null +++ b/rainmaker-custom-service/build.wkflo @@ -0,0 +1,9 @@ +def build(path, ci_image) { + stage("Build") { + docker.image("egovio/ci-react:v8.4.0").inside { + sh "cd ${path}/ && rm -rf node_modules"; + } + } +} + +return this; diff --git a/rainmaker-custom-service/encrypt.js b/rainmaker-custom-service/encrypt.js new file mode 100644 index 00000000..130ba4c9 --- /dev/null +++ b/rainmaker-custom-service/encrypt.js @@ -0,0 +1,41 @@ +const ENCRYPTION_KEY = process.env.ENCRYPTION_KEY +const ENCRYPTION_IV = process.env.ENCRYPTION_IV +const JWT_KEY = process.env.JWT_KEY +const JWT_EXPIRY = process.env.JWT_EXPIRY || '5min' +const DEBUG_MODE = Boolean(process.env.DEBUG_MODE) || false; + +function log(val) { + if (DEBUG_MODE) { + console.log(val) + } +} + +log ("EK=" + ENCRYPTION_KEY) +log ("EI=" + ENCRYPTION_IV) + +var encrypt = function (pass) { + // Include Library + var crypto = require('crypto'); + + // Declare Key and Block + var key = ENCRYPTION_KEY; + var iv = ENCRYPTION_IV; + + // Calc Cipher + var cipher = crypto.createCipheriv('aes256', key, iv) + var crypted = cipher.update(pass, 'utf8', 'base64') + crypted += cipher.final('base64'); + + // Return Cipher Text + return crypted; +} + + +var jwt = require("jsonwebtoken"); + +jwt_sign = (data) => jwt.sign(data, JWT_KEY, { expiresIn: JWT_EXPIRY }); + +module.exports = { + jwt_sign, + encrypt +} \ No newline at end of file diff --git a/rainmaker-custom-service/index.js b/rainmaker-custom-service/index.js new file mode 100644 index 00000000..fc742333 --- /dev/null +++ b/rainmaker-custom-service/index.js @@ -0,0 +1,1105 @@ +var express = require('express'), + slash = require('express-slash'); +var bodyParser = require('body-parser') +var url = require("url"); +var request = require('request-promise'); +const { + asyncMiddleware +} = require('./utils/asyncMiddleware'); + +var app = express(); +var mustache = require('mustache-express') +const Cryptr = require('cryptr'); +var { + encrypt, + jwt_sign +} = require('./encrypt') + +app.use(require('morgan')('dev')); + +app.engine('html', mustache()) +app.set('view engine', 'html') +app.set('views', __dirname + '/templates') +app.disable('view cache'); + +// https://codepen.io/graphicfreedom/pen/evaBXm + +const DEBUG_MODE = Boolean(process.env.DEBUG_MODE) || false; +const PT_DEMAND_HOST = process.env.PT_DEMAND_HOST + +const PT_ZERO_ASSESSMENTYEAR = process.env.PT_ZERO_ASSESSMENTYEAR || "2013-14"; +const PT_ZERO_TENANTS = (process.env.PT_ZERO_TENANTS || "pb.testing").split(","); + +// +const PT_INTEGRATION_ASSESSMENTYEAR =process.env.PT_INTEGRATION_ASSESSMENTYEAR || "2013-14" +const PT_INTEGRATION_TENANTS = (process.env.PT_INTEGRATION_TENANTS || "pb.testing").split(","); + +const PT_INTEGRATION_HOST = process.env.PT_INTEGRATION_HOST +const PT_CALCULATOR_V2_HOST = process.env.PT_CALCULATOR_V2_HOST + +// + +const PT_ENABLE_FC_CALC = Boolean(process.env.PT_ENABLE_FC_CALC || false); +const EGOV_MDMS_HOST = process.env.EGOV_MDMS_HOST +const EGOV_BND_LOGIN_URL = process.env.EGOV_BND_LOGIN_URL +const EGOV_BND_REDIRECT_URL = process.env.EGOV_BND_REDIRECT_URL +// const EGOV_BND_API_KEY = process.env.EGOV_BND_API_KEY +const EGOV_BND_ENCRYPTION_KEY = process.env.EGOV_BND_ENCRYPTION_KEY || "Vol0otuji0X03wSuZGI3zySUzxj7bReQ" + +function log(val) { + if (DEBUG_MODE) { + console.log(val) + } +} + +log("ENCKEY=" + EGOV_BND_ENCRYPTION_KEY) + +const cryptr = new Cryptr(EGOV_BND_ENCRYPTION_KEY); + + +function getUserUUID(data) { + return data.RequestInfo.userInfo.uuid; +} + +function isCitizen(data) { + return data.RequestInfo.userInfo.roles.filter(role => role.code.toUpperCase() == "CITIZEN").length > 0 +} + +function getUserID(data) { + return data.RequestInfo.userInfo.id; +} + +function getIntegrateYearDemand(demands){ + for(demand of demands["Demands"]){ + let demandYear = new Date(demand["taxPeriodFrom"]).getFullYear(); + let integrationYear = PT_INTEGRATION_ASSESSMENTYEAR.split("-")[0]; + let demandStatus = demand["status"] + + log("getIntegrateYearDemand> Demand year: "+ demandYear+" Integrated Year: "+integrationYear+" Demand Status: "+demandStatus); + + if((demandYear == integrationYear) && (demandStatus == "ACTIVE")){ + demands["Demands"] = [demand]; + break; + } + + } + + log("Response from getIntegrateYearDemand: "+ JSON.stringify(demands)); + + return demands; +} + +function isValidDemand(demands){ + let count = 0; + for(demand of demands["Demands"]){ + demandYear = new Date(demand["taxPeriodFrom"]).getFullYear() + integrationYear = PT_INTEGRATION_ASSESSMENTYEAR.split("-")[0] + demandStatus = demand["status"] + if((demandYear == integrationYear) && (demandStatus == "ACTIVE")){ + count++; + } + } + + return count == 1; +} + +function isReceiptGenerated(demand){ + for (demandDetail of demand["Demands"][0]["demandDetails"]) + { + if(demandDetail.collectionAmount || 0 > 0){ + return true; + } + } + return false; +} + +async function getFireCessConfig(tenantId) { + let fireCessConfig = await request.post({ + url: url.resolve(EGOV_MDMS_HOST, "/egov-mdms-service/v1/_search?tenantId=" + tenantId), + body: { + RequestInfo: { + "apiId": "Rainmaker-custom-service", + "ver": ".01", + "ts": "", + "action": "_search", + "did": "1", + "key": "", + "msgId": "20170310130900|en_IN", + "authToken": null + }, + "MdmsCriteria": { + "tenantId": tenantId, + "moduleDetails": [{ + "moduleName": "PropertyTax", + "masterDetails": [{ + "name": "FireCess" + }] + }] + } + }, + json: true + }) + + return fireCessConfig["MdmsRes"]["PropertyTax"]["FireCess"][0]; +} + +const TAX_TYPE = { + PT_TAX: false, + PT_TIME_REBATE: true, + PT_UNIT_USAGE_EXEMPTION: true, + PT_TIME_PENALTY: false, + PT_CANCER_CESS: false, + PT_ADHOC_PENALTY: false, + PT_ADHOC_REBATE: true, + PT_DECIMAL_CEILING_CREDIT: false, + PT_DECIMAL_CEILING_DEBIT: true, + PT_FIRE_CESS: false, + PT_OWNER_EXEMPTION: true, + PT_TIME_INTEREST: false +} + +if (PT_DEMAND_HOST === undefined) { + throw Error("PT_DEMAND_HOST environment variable needs to be configured to run this") +} + +if (PT_CALCULATOR_V2_HOST === undefined) { + throw Error("PT_CALCULATOR_V2_HOST environment variable needs to be configured to run this") +} + +function round(num, digits) { + return parseFloat(parseFloat(num).toFixed(digits)) +} + +// parse application/x-www-form-urlencoded +app.use(bodyParser.urlencoded({ + extended: true +})) + +// parse application/json +app.use(bodyParser.json()) + +// Because you're the type of developer who cares about this sort of thing! +app.enable('strict routing'); + +// Create the router using the same routing options as the app. +var router = express.Router({ + caseSensitive: app.get('case sensitive routing'), + strict: app.get('strict routing') +}); + +router.use("/static", express.static("static")) + +// Add the `slash()` middleware after your app's `router`, optionally specify +// an HTTP status code to use when redirecting (defaults to 301). +app.use('/customization', router); +// app.use(slash()); +app.use(express.json()); + +var promise = require('bluebird'); + +var options = { + // Initialization Options + promiseLib: promise +}; + +var pgp = require('pg-promise')(options); + +const connectionString = { + host: process.env.DB_HOST || 'localhost', + port: 5432, + database: process.env.DB_NAME || 'postgres', + user: process.env.DB_USER || 'postgres', + password: process.env.DB_PASSWORD || 'postgres' +}; + +// var connectionString = 'postgres://localhost:5432/egov_prod_db'; +var db = pgp(connectionString); +var path = require('path'); + +query = `SELECT servicerequestid as complaint_no, servicecode as complaint_type, eg_user.name as citizen_name, eg_user.mobilenumber as citizen_mobile, address, landmark, description as details +FROM eg_pgr_service INNER JOIN eg_user ON eg_pgr_service.accountid = cast(eg_user.id as varchar) +WHERE eg_pgr_service.status = 'assigned' AND servicerequestid IN (select DISTINCT businesskey from eg_pgr_action where status = 'assigned' AND "when" +IN (select max("when") from eg_pgr_action where assignee NOTNULL group by businesskey) AND assignee = $1);` + +router.get('/open/reports/*', function (req, res) { + res.render('apicall.html'); +}); + +router.get('/open/bndlogin', function (req, res) { + res.render('bndlogin.html'); +}); + +router.post('/protected/bndlogin/unlinkAccount', asyncMiddleware(async function (req, res) { + let uuid = getUserUUID(req.body); + + data = await db.any("DELETE FROM custom_eg_user_metatdata where user_id = $1 and key = $2", [uuid, 'BND_CREDENTIALS']); + res.status(200).send({}) +})); + +router.post('/protected/bndlogin/linkAccount', asyncMiddleware(async function (req, res) { + let username = req.body.username + let password = req.body.password + let uuid = getUserUUID(req.body); + let payload = { + Username: username, + Password: encrypt(password) + } + + log("inside linkAccount") + log(payload) + + let response = await request.post(EGOV_BND_LOGIN_URL, { + json: payload + }) + + log(response) + + if (response.sys_message && response.sys_message == 'Invalid User and Password') { + res.status(200).send({ + code: "INVALID_CREDENTIALS", + message: "Invalid User and Password" + }) + return + } else if (response.sys_message && response.sys_message == 'INTERNAL APPLICATION ERROR') { + res.status(200).send({ + code: "ERROR", + message: "Something went wrong" + }) + return + } + + loginID = response["data"][0]["loginID"]; + data = await db.any("select value from custom_eg_user_metatdata where user_id = $1 and key = $2", [uuid, 'BND_CREDENTIALS']); + value = { + username, + GUID: cryptr.encrypt(loginID) + } + + if (data.length == 0) { + await db.any("insert into custom_eg_user_metatdata(key, user_id, value) values ($1, $2, $3:json)", + ['BND_CREDENTIALS', uuid, value]) + } else { + await db.any("update custom_eg_user_metatdata set value = $3:json where key = $1 and user_id = $2", + ['BND_CREDENTIALS', uuid, value]) + } + res.json({ + code: "SUCCESS", + redirect: EGOV_BND_REDIRECT_URL + jwt_sign({ + loginID: encrypt(loginID) + }) + }) +})); + +router.post('/protected/bndlogin', asyncMiddleware(async function (req, res) { + try { + let uuid = getUserUUID(req.body); + data = await db.any("select value from custom_eg_user_metatdata where user_id = $1 and key = $2", [uuid, 'BND_CREDENTIALS']); + + if (data.length == 0) { + res.json({ + "code": "NO_CREDENTIAL_MAPPING", + "message": "Please update your Birth and Death credentials" + }) + return + } + + let loginID = cryptr.decrypt(data[0]["value"]["GUID"]) + + res.json({ + code: "SUCCESS", + redirect: EGOV_BND_REDIRECT_URL + jwt_sign({ + loginID: encrypt(loginID) + }) + }) + + } catch (ex) { + console.log("Exception occured while login", ex) + res.json({ + "code": "ERROR", + "message": "Failed to login to BND - " + ex.toString() + }) + } + +})); + +// function getFireCessPercentage(propertyDetails, fireCessConfig) { +// // let propertyDetails = request["CalculationCriteria"][0]["propertyDetails"][0] + +// let propertyUsageCategoryMajor = propertyDetails["usageCategoryMajor"] +// let units = propertyDetails["units"] +// let propertyAttributes = propertyDetails["additionalDetails"] +// let unitSet = new Set() + +// for (unit of units) { +// unitSet.add(unit["usageCategoryMajor"]) +// } +// let firecess_category_major = 0; +// let firecess_building_height = 0; +// let firecess_inflammable = 0; + +// if (propertyUsageCategoryMajor == "RESIDENTIAL" || (unitSet.size == 1 && unitSet.has("RESIDENTIAL"))) { +// // There is no category major firecess applicable as it i +// firecess_category_major = 0 +// } else { +// firecess_category_major = fireCessConfig.dynamicRates.firecess_category_major; +// } + +// if (propertyAttributes && +// propertyAttributes.heightAbove36Feet && +// propertyAttributes.heightAbove36Feet.toString() == "true") { +// // height is above 36 feet +// firecess_building_height = fireCessConfig.dynamicRates.firecess_building_height; +// } + +// if (propertyAttributes && +// propertyAttributes.inflammable && +// propertyAttributes.inflammable.toString() == "true") { +// // height is above 36 feet +// firecess_inflammable = fireCessConfig.dynamicRates.firecess_inflammable; +// } + +// return { +// firecess_inflammable, +// firecess_building_height, +// firecess_category_major, +// firecess: firecess_category_major + firecess_building_height + firecess_inflammable +// } +// } + +// function calculateNewFireCess(taxHeads, firecess_percent, taxField, taxHeadCodeField) { + +// let applicablePropertyTax = 0 +// for (taxHead of taxHeads) { +// if (taxHead[taxHeadCodeField] == "PT_TAX") { +// applicablePropertyTax += taxHead[taxField] +// } else if (taxHead[taxHeadCodeField] == "PT_UNIT_USAGE_EXEMPTION") { +// applicablePropertyTax += taxHead[taxField] +// } else if (taxHead[taxHeadCodeField] == "PT_OWNER_EXEMPTION") { +// applicablePropertyTax += taxHead[taxField] +// } +// } + +// return round(applicablePropertyTax * (firecess_percent / 100), 2); +// } + +async function findDemandForConsumerCode(consumerCode, tenantId, service, RequestInfo) { + + log("Got Request to Find Demand for Comsumer code: "+consumerCode+" tenantid : "+tenantId+" Service : "+service); + + let demandSearchResponse = await request.post({ + url: url.resolve(PT_DEMAND_HOST, "/billing-service/demand/_search?tenantId=" + tenantId + + "&consumerCode=" + consumerCode + "&businessService=" + service), + body: { + RequestInfo + }, + json: true + }) + + log("Got response from demand search : "+ JSON.stringify(demandSearchResponse)); + + return demandSearchResponse; +} + + + +async function updateDemand(demands, RequestInfo) { + let demandUpdateResponse = await request.post({ + url: url.resolve(PT_DEMAND_HOST, "/billing-service/demand/_update"), + body: { + RequestInfo, + "Demands": demands + }, + json: true + }) + + return demandUpdateResponse; +} + +async function getOldRequestBody(requestBody) { + log("Translate Call for Property: "+ JSON.stringify(requestBody)); + let CalculationCriteria = await request.post({ + url: url.resolve(PT_CALCULATOR_V2_HOST, "/pt-calculator-v2/propertytax/v2/_translate"), + body: requestBody, + json: true + }) + + log("Response from Translate API: " +JSON.stringify(CalculationCriteria)); + + return CalculationCriteria; +} + +async function findEstimate(requestBody){ + + log("Got Request to find estimate : "+ JSON.stringify(requestBody)) + + let estimateRes = await request.post({ + url: url.resolve(PT_CALCULATOR_V2_HOST, "/pt-calculator-v2/propertytax/v2/_estimate"), + body: requestBody, + json: true + }) + + log("Got response from estimate : "+ JSON.stringify(estimateRes)); + + return estimateRes; +} +// function _estimateTaxProcessor(request, response, fireCessConfig) { +// response = _estimateZeroTaxProcessor(request, response); + +// let index = 0; +// for (let calc of request["CalculationCriteria"]) { +// let fireCessPercentage = getFireCessPercentage(calc["property"]["propertyDetails"][0], fireCessConfig) + +// let updateFirecessAmount = calculateNewFireCess(response["Calculation"][0]["taxHeadEstimates"], fireCessPercentage.firecess, "estimateAmount", "taxHeadCode") +// let taxes = getUpdateTaxSummary(response["Calculation"][index], updateFirecessAmount, "taxHeadCode", "estimateAmount") + +// response["Calculation"][index]["totalAmount"] = taxes.totalAmount +// response["Calculation"][index]["taxAmount"] = round(taxes.taxAmount, 2) +// response["Calculation"][index]["rebate"] = taxes.rebate + +// index++ +// } + +// return response; +// } + + +async function _estimateIntegrationTaxProcessor(req1, res1) { + + log("Calling PMIDC estimate API: "+ JSON.stringify(res1) ) + + let estimate = await request.post({ + url: url.resolve(PT_INTEGRATION_HOST, "/apt_estimate_pt_2013/api_estimate_pt_2013"), + body: {request:req1, response:res1}, + json: true + }) + + log("Got response from PMIDC estimate API: " + JSON.stringify(estimate)) + + return estimate; +} + + + +function _estimateZeroTaxProcessor(request, response) { + let index = 0; + + for (let calc of response["Calculation"]) { + let assessmentYear = request["CalculationCriteria"][index]["assessmentYear"] + let tenantId = request["CalculationCriteria"][index]["tenantId"] + let newTotal = 0; + + if (isCitizen(request) && assessmentYear == PT_ZERO_ASSESSMENTYEAR) { + + data = + { + "ResponseInfo":null, + "Errors":[ + { + "code":"CitizenOnlineNotAllowed", + "message":"Sorry but online assessment for " + PT_ZERO_ASSESSMENTYEAR + " is not allowed. Please make the payment at the counter", + "description": "Sorry but online assessment for " + PT_ZERO_ASSESSMENTYEAR + " is not allowed. Please make the payment at the counter", + "params":null + } + ] + } + return data; + + } + + if (!(assessmentYear == PT_ZERO_ASSESSMENTYEAR && PT_ZERO_TENANTS.indexOf(tenantId) >= 0)) + continue + + let taxHeads = calc["taxHeadEstimates"]; + + for (taxHead of taxHeads) { + if (taxHead.taxHeadCode != "PT_ADHOC_PENALTY" && taxHead.taxHeadCode != 'PT_ADVANCE_CARRYFORWARD') { + taxHead.estimateAmount = 0 + } else if (taxHead.taxHeadCode == 'PT_ADVANCE_CARRYFORWARD') { + newTotal += taxHead.estimateAmount + } else { + newTotal += taxHead.estimateAmount + } + } + + calc["totalAmount"] = newTotal + calc["taxAmount"] = 0 + calc["rebate"] = 0 + calc["penalty"] = newTotal + calc["exemption"] = 0 + + index++ + } + + return response; +} + + +// function getUpdateTaxSummary(calculation, newTaxAmount, taxHeadCodeField, taxAmountField) { +// let ceilingTaxHead = null; +// let firecessTaxHead = null; + +// let taxAmount = 0, +// penalty = 0, +// rebate = 0, +// exemption = 0 +// let taxHeads = calculation["taxHeadEstimates"] +// for (taxHead of taxHeads) { +// if (taxHead[taxHeadCodeField] == "PT_FIRE_CESS") { +// let existingTaxAmount = taxHead[taxAmountField] +// taxHead[taxAmountField] = newTaxAmount +// firecessTaxHead = taxHead +// taxAmount += newTaxAmount +// if (DEBUG_MODE) { +// taxHead.oldEstimateAmount = existingTaxAmount +// } +// } else { +// switch (taxHead[taxHeadCodeField]) { +// case "PT_DECIMAL_CEILING_CREDIT": +// case "PT_DECIMAL_CEILING_DEBIT": +// case "PT_ROUNDOFF": +// ceilingTaxHead = taxHead +// break +// case "PT_ADVANCE_CARRYFORWARD": +// exemption += taxHead[taxAmountField] +// break +// default: +// switch (taxHead.category) { +// case "PENALTY": +// penalty += taxHead[taxAmountField] +// break +// case "TAX": +// taxAmount += taxHead[taxAmountField] +// break +// case "REBATE": +// rebate += taxHead[taxAmountField] +// break +// case "EXEMPTION": +// exemption += taxHead[taxAmountField] +// break +// default: +// console.log("Going to default for taxHead", taxHead) +// taxAmount += taxHead[taxAmountField] +// } + +// } +// } +// } + +// taxAmount = round(taxAmount, 2) +// penalty = round(penalty, 2) +// exemption = round(exemption, 2) +// rebate = round(rebate, 2) + +// let totalAmount = taxAmount + penalty - rebate - exemption + +// totalAmount = round(totalAmount, 2) +// let fractionAmount = totalAmount - Math.trunc(totalAmount) +// let newCeilingTax = false + +// if (ceilingTaxHead == null && fractionAmount == 0) { + +// } else { +// let ceilingDelta = 0.0; + +// if (ceilingTaxHead == null) { +// ceilingTaxHead = { +// taxHeadCode: "", +// estimateAmount: 0, +// category: null +// } +// newCeilingTax = true +// taxHeads.push(ceilingTaxHead) +// } + +// if (fractionAmount < 0.5) { +// ceilingDelta = parseFloat(fractionAmount.toFixed(2)) +// totalAmount = Math.trunc(totalAmount) +// ceilingTaxHead[taxHeadCodeField] = "PT_ROUNDOFF" +// ceilingTaxHead[taxAmountField] = -ceilingDelta +// rebate += ceilingDelta +// } else { +// ceilingDelta = parseFloat((1 - fractionAmount).toFixed(2)) + +// totalAmount = Math.trunc(totalAmount) + 1 +// ceilingTaxHead[taxHeadCodeField] = "PT_ROUNDOFF" +// ceilingTaxHead[taxAmountField] = ceilingDelta +// taxAmount += ceilingDelta +// } +// } + +// return { +// taxHeads, +// rebate, +// totalAmount, +// taxAmount, +// newCeilingTax, +// ceilingTaxHead, +// firecessTaxHead +// } +// } + +async function _createAndUpdateZeroTaxProcessor(request, response) { + let index = 0 + for (reqProperty of request["Properties"]) { + + let resProperty = response["Properties"][index] + let propertyId = resProperty["propertyId"] + + let assessmentNumber = resProperty["propertyDetails"][0]["assessmentNumber"] + + let assessmentYear = resProperty["propertyDetails"][0]["financialYear"] + let tenantId = reqProperty["tenantId"] + + if (isCitizen(request) && assessmentYear === PT_ZERO_ASSESSMENTYEAR) { + data = + { + "ResponseInfo":null, + "Errors":[ + { + "code":"CitizenOnlineNotAllowed", + "message":"Sorry but online assessment for " + PT_ZERO_ASSESSMENTYEAR + " is not allowed. Please make the payment at the counter", + "description": "Sorry but online assessment for " + PT_ZERO_ASSESSMENTYEAR + " is not allowed. Please make the payment at the counter", + "params":null + } + ] + }; + return data; + } + + if (!(assessmentYear == PT_ZERO_ASSESSMENTYEAR && PT_ZERO_TENANTS.indexOf(tenantId) >= 0)) + continue + + request_info = request["RequestInfo"] || request["requestInfo"] + + let consumerCode = propertyId + ":" + assessmentNumber + let service = "PT" + let calc = response["Properties"][index]["propertyDetails"][0]["calculation"] + + let newTotal = 0; + + let demandSearchResponse = await findDemandForConsumerCode(consumerCode, tenantId, service, request["RequestInfo"]) + + for (demandDetail of demandSearchResponse["Demands"][0]["demandDetails"]) { + if (demandDetail.taxHeadMasterCode != "PT_ADHOC_PENALTY" && demandDetail.taxHeadMasterCode != 'PT_ADVANCE_CARRYFORWARD') { + demandDetail.taxAmount = 0 + } else if (demandDetail.taxHeadMasterCode == 'PT_ADVANCE_CARRYFORWARD') { + newTotal += demandDetail.taxAmount + } else { + newTotal += demandDetail.taxAmount + } + } + + let taxHeads = calc["taxHeadEstimates"]; + + for (taxHead of taxHeads) { + if (taxHead.taxHeadCode != "PT_ADHOC_PENALTY" && taxHead.taxHeadCode == 'PT_ADVANCE_CARRYFORWARD') { + taxHead.estimateAmount = 0 + } + } + let demandUpdateResponse = await updateDemand(demandSearchResponse["Demands"], request["RequestInfo"]) + + calc["taxAmount"] = 0; + calc["exemption"] = 0; + calc["totalAmount"] = newTotal; + calc["rebate"] = 0 + calc["penanlty"] = newTotal + index++ + } + + return response; +} + +async function _createAndUpdateIntegrationTaxProcessor(req, response){ + + console.log("REQ : ", JSON.stringify(req)) + console.log("RESPONSE : ", JSON.stringify(response)) + + let reqProperty = req["Assessment"]; + + let propertyId = reqProperty["propertyId"] + + let assessmentYear = reqProperty["financialYear"] + let tenantId = reqProperty["tenantId"] + + if (!(assessmentYear == PT_INTEGRATION_ASSESSMENTYEAR && PT_INTEGRATION_TENANTS.indexOf(tenantId) >= 0)) + return response; + + let oldRequestbody = await getOldRequestBody(req) + + oldRequestbody["CalculationCriteria"][0]["assessmentYear"] = assessmentYear; + // assessmentYear field was there in old request body but not present in new request body Without this field we will get null pointer exception. + + log("Got Assessment CREATE/ UPDATE request for tenantid: "+tenantId+" and finanancial year: "+assessmentYear) + log("Assessment CREATE/ UPDATE Request body: "+ JSON.stringify(reqProperty) ) + + let estimateResponseBody = await findEstimate(req) + console.log("After Getting Response from entimate sending it to PMIDC TO get the Estimate Response") + let estimateResponse = await _estimateIntegrationTaxProcessor(oldRequestbody, estimateResponseBody) + + + + request_info = req["RequestInfo"] || req["requestInfo"] + + let consumerCode = propertyId + let service = "PT" + let calc = estimateResponse["Calculation"][0] + let taxHeads = calc["taxHeadEstimates"]; + let createTaxHeadsArray = {}; + let TaxHeadsType= {}; //Collecting All the Tax head coming from PMIDC + + for(taxHead of taxHeads){ + createTaxHeadsArray[taxHead.taxHeadCode] = taxHead.estimateAmount; + TaxHeadsType[taxHead.taxHeadCode] = taxHead.estimateAmount; + //print(texthead) + console.log(taxHead.taxHeadCode , ": ", taxHead.estimateAmount) + } + + let demandSearchResponse = await findDemandForConsumerCode(consumerCode, tenantId, service, req["RequestInfo"]) + + if( !isValidDemand(demandSearchResponse)){ + //Throw Error + data = + { + "ResponseInfo":null, + "Errors":[ + { + "code":"MultipleActiveDemandForOneFinancialYear", + "message":"There are multiple demand for property id : "+ propertyId +" for financial year" + PT_INTEGRATION_ASSESSMENTYEAR, + "description": "There multiple demand for property id : "+ propertyId +" for financial year" + PT_INTEGRATION_ASSESSMENTYEAR, + "params":null + } + ] + }; + return data; + } + + demandSearchResponse = getIntegrateYearDemand(demandSearchResponse) + + log("Search Demand response For Integrated Year: " + JSON.stringify(demandSearchResponse)) + + if(isReceiptGenerated(demandSearchResponse)){ + //Throw Error + data = + { + "ResponseInfo":null, + "Errors":[ + { + "code":"MultiplePaymentNotAllowed", + "message":"There already exists a recipt for property id : "+ propertyId +" for financial year" + PT_INTEGRATION_ASSESSMENTYEAR, + "description": "There already exists a recipt for property id : "+ propertyId +" for financial year" + PT_INTEGRATION_ASSESSMENTYEAR, + "params":null + } + ] + }; + return data; + } + + + let newTotal = 0; + + for (demandDetail of demandSearchResponse["Demands"][0]["demandDetails"]) + { + if(demandDetail.taxAmount){ + demandDetail.taxAmount = 0 + } + delete TaxHeadsType[demandDetail.taxHeadMasterCode]//Deleting tax head codes present in both TaxHeadsType and demandDetail + console.log("Deleted taxhead from TaxHeadsType: ", demandDetail.taxHeadMasterCode); + } + + console.log("After Deleting the taxhead present in demand: ", JSON.stringify(TaxHeadsType)); + console.log("demandSearchResponse AFTER MAKING EVERYTHING ZERO : ", JSON.stringify(demandSearchResponse)) + + if(!(Object.keys(TaxHeadsType).length === 0)){ + for(taxHead in TaxHeadsType){ + taxHeadObj={}; + taxHeadObj["taxHeadMasterCode"] = taxHead; + taxHeadObj["taxAmount"] = 0; + taxHeadObj["collectionAmount"] = 0; + demandSearchResponse["Demands"][0]["demandDetails"].push(taxHeadObj); // Adding those obj to demand details for which taxhead there was no entry in it + console.log("Pushing obj", taxHeadObj); + } + } + + console.log("After Adding All the tax head demandDetail: ", demandSearchResponse["Demands"][0]["demandDetails"]) + + for (demandDetail of demandSearchResponse["Demands"][0]["demandDetails"]) + { + if(createTaxHeadsArray[demandDetail.taxHeadMasterCode]) + { + demandDetail.taxAmount = createTaxHeadsArray[demandDetail.taxHeadMasterCode]; + createTaxHeadsArray[demandDetail.taxHeadMasterCode] =0; // Incase of Multiple PT_ROUNDOFF + newTotal += demandDetail.taxAmount; + } + } + + console.log("demandSearchResponse AFTER SETTING THE VALUE: ", JSON.stringify(demandSearchResponse)) + + let demandUpdateResponse = await updateDemand(demandSearchResponse["Demands"], req["RequestInfo"]) + + console.log("demandUpdateResponse : ", JSON.stringify(demandUpdateResponse)) + + calc["taxAmount"] = 0; + calc["exemption"] = 0; + calc["totalAmount"] = newTotal; + calc["rebate"] = 0; + calc["penalty"] = 0; + + log("Demand Updated with Details : " + demandUpdateResponse ) + + return response; + +} + +// async function _createAndUpdateTaxProcessor(request, response, fireCessConfig) { + +// let index = 0 +// for (reqProperty of request["Properties"]) { + +// let resProperty = response["Properties"][index] +// let propertyId = resProperty["propertyId"] + +// let assessmentNumber = resProperty["propertyDetails"][0]["assessmentNumber"] + +// let consumerCode = propertyId + ":" + assessmentNumber +// let service = "PT" +// let tenantId = reqProperty["tenantId"] + +// let demandSearchResponse = await findDemandForConsumerCode(consumerCode, tenantId, service, request["RequestInfo"]) + +// let fireCessPercentage = getFireCessPercentage(reqProperty["propertyDetails"][0], fireCessConfig) + +// if (DEBUG_MODE) { +// demandSearchResponse["Demands"][0]["firecess"] = fireCessPercentage +// } +// let calc = response["Properties"][index]["propertyDetails"][0]["calculation"] +// let updateFirecessTax = calculateNewFireCess(calc["taxHeadEstimates"], fireCessPercentage.firecess, "estimateAmount", "taxHeadCode") + +// let taxes = getUpdateTaxSummary(calc, +// updateFirecessTax, "taxHeadCode", "estimateAmount") + +// if (taxes.newCeilingTax) { +// let firstDemand = demandSearchResponse["Demands"][0]["demandDetails"][0] +// let newDemand = { +// id: null, +// demandId: firstDemand["demandId"], +// taxHeadMasterCode: taxes.ceilingTaxHead.taxHeadCode, +// taxAmount: taxes.ceilingTaxHead.estimateAmount, +// tenantId: firstDemand["tenantId"], +// collectionAmount: 0 +// } +// demandSearchResponse["Demands"][0]["demandDetails"].push(newDemand) +// } + +// for (demandDetail of demandSearchResponse["Demands"][0]["demandDetails"]) { +// if (demandDetail.taxHeadMasterCode == "PT_FIRE_CESS") { +// demandDetail.taxAmount = taxes.firecessTaxHead.estimateAmount +// } +// if (demandDetail.taxHeadMasterCode == "PT_ROUNDOFF" && demandDetail.adjustedAmount == 0.0) { +// demandDetail.taxHeadMasterCode = taxes.ceilingTaxHead.taxHeadCode +// demandDetail.taxAmount = taxes.ceilingTaxHead.estimateAmount +// } +// } + +// let demandUpdateResponse = await updateDemand(demandSearchResponse["Demands"], request["RequestInfo"]) + +// // let updateTaxHeads = [] + +// // for (taxHead of demandSearchResponse["Demands"]) { +// // updateTaxHeads.push({ +// // taxHeadCode: taxHead.taxHeadMasterCode, +// // estimateAmount: taxHead.taxtAmount, +// // category: taxHead.category +// // }) +// // } + +// calc["totalAmount"] = taxes.totalAmount +// calc["taxAmount"] = taxes.taxAmount +// calc["rebate"] = taxes.rebate +// // calc["taxHeadEstimates"] = updateTaxHeads +// index++ +// } + +// return response +// } + +async function _createAndUpdateRequestHandler(req, res) { + let { + request, + response + } = getRequestResponse(req) + + + let assessmentYear = request["Assessment"]["financialYear"] + let tenantId = request["Assessment"]["tenantId"] + + if (assessmentYear == PT_ZERO_ASSESSMENTYEAR && PT_ZERO_TENANTS.indexOf(tenantId) >= 0){ + response = await _createAndUpdateZeroTaxProcessor(request, response) + }else if(assessmentYear == PT_INTEGRATION_ASSESSMENTYEAR && PT_INTEGRATION_TENANTS.indexOf(tenantId) >= 0){ + log("Got Request for Assessment Create and Update") + + response = await _createAndUpdateIntegrationTaxProcessor(request, response) + } + + // if (!PT_ENABLE_FC_CALC) + if ("Errors" in response) + res.status(400).json(response) + else + res.json(response); + + // firecess logic is enabled, so execute it + // let tenantId = request["Properties"][0]["tenantId"] + + // let fireCessConfig = await getFireCessConfig(tenantId) + // if (fireCessConfig && fireCessConfig.dynamicFirecess && fireCessConfig.dynamicFirecess == true) { + // let updatedResponse = await _createAndUpdateTaxProcessor(request, response, fireCessConfig) + // res.json(updatedResponse); + // } else { + // res.json(response) + // } +} + +function getRequestResponse(req) { + let request = null, + response = null + + if (typeof req.body.request === "string") { + request = JSON.parse(req.body.request) + if (req.body.response) + response = JSON.parse(req.body.response) + } else { + request = req.body.request + response = req.body.response + } + + return { + request, + response + } +} + +router.post('/protected/punjab-pt/assessment/_create', asyncMiddleware(_createAndUpdateRequestHandler)) + +router.post('/protected/punjab-pt/assessment/_update', asyncMiddleware(_createAndUpdateRequestHandler)) + +router.post('/open/punjab-pt/payu/confirm', asyncMiddleware((async function (req, res) { + let return_data = req.body; + original_callback = req.query.original_callback; + delete req.query['original_callback']; + let txnid = req.query.eg_pg_txnid + delete req.query['eg_pg_txnid']; + + new_query_params = Object.assign({}, return_data, req.query); + redirect_url = url.format( + { + pathname: original_callback, + query: new_query_params + } + ) + //ensuring the first query param is eg_pg_txnid + redirect_url = redirect_url.replace('?', '?'+ 'eg_pg_txnid=' + txnid +'&') + res.redirect(redirect_url); +}))) + +router.post('/protected/punjab-pt/pre-hook/pg-service/transaction/v1/_create', asyncMiddleware((async function (req, res) { + let { + request + } = getRequestResponse(req) + + if (request['Transaction']['tenantId'] == 'pb.jalandhar' || request['Transaction']['tenantId'] == 'pb.testing') { + let original_callback = request['Transaction']['callbackUrl']; + request['Transaction']['gateway'] = 'PAYU' + url_callback = url.parse(original_callback) + + url_callback.query = url_callback.query || {}; + + url_callback.query['original_callback'] = url_callback.path; + + url_callback.path = '/customization/open/punjab-pt/payu/confirm'; + url_callback.pathname = '/customization/open/punjab-pt/payu/confirm'; + + request['Transaction']['callbackUrl'] = url.format(url_callback); + } + + res.json(request); +}))); + +router.post('/protected/punjab-pt/pt-calculator-v2/_estimate', asyncMiddleware(async function (req, res) { + + let { + request, + response + } = getRequestResponse(req) + + + // let oldRequestbody = getOldRequestBody(request) + + // oldRequestbody["CalculationCriteria"][0]["assessmentYear"] = oldRequestbody["CalculationCriteria"][0]["property"]["propertyDetails"][0]["financialYear"] + // // assessmentYear field was there in old request body but not present in new request body so we are adding this field. + + // request = oldRequestbody; + + let tenantId = request["Assessment"]["tenantId"] + let assessmentYear = request["Assessment"]["financialYear"] + + + let oldRequestbody = await getOldRequestBody(request); + oldRequestbody["CalculationCriteria"][0]["assessmentYear"] = assessmentYear; + // assessmentYear field was there in old request body but not present in new request body Without this field we will get null pointer exception. + + + if (assessmentYear == PT_ZERO_ASSESSMENTYEAR && PT_ZERO_TENANTS.indexOf(tenantId) >= 0){ + response = _estimateZeroTaxProcessor(request, response) + } + else if (assessmentYear == PT_INTEGRATION_ASSESSMENTYEAR){ + + if(PT_INTEGRATION_TENANTS.indexOf(tenantId) >= 0){ + log(":: Estimate request Received ::"); + + log("Got request for tenantid: "+tenantId+" and finanancial year: "+assessmentYear) + log("Request body: "+ JSON.stringify(request)); + + response = await _estimateIntegrationTaxProcessor(oldRequestbody, response) + } else if(isCitizen(request)){ + data = + { + "ResponseInfo":null, + "Errors":[ + { + "code":"CitizenOnlineNotAllowed", + "message":"Sorry but online assessment for " + PT_INTEGRATION_ASSESSMENTYEAR + " is not allowed. Please make the payment at the counter", + "description": "Sorry but online assessment for " + PT_INTEGRATION_ASSESSMENTYEAR + " is not allowed. Please make the payment at the counter", + "params":null + } + ] + } + response = data; + } + + } + + + // if (!PT_ENABLE_FC_CALC) + if ("Errors" in response) + res.status(400).json(response) + else + res.json(response); + + // let tenantId = request["CalculationCriteria"][0]["tenantId"] + + // let fireCessConfig = await getFireCessConfig(tenantId) + + // if (fireCessConfig && fireCessConfig.dynamicFirecess && fireCessConfig.dynamicFirecess == true) { + // let updatedResponse = _estimateTaxProcessor(request, response, fireCessConfig) + // res.json(updatedResponse); + // } else { + // res.json(response); + // } +})) + +app.listen(8000, () => { + console.log("Listening on port 8000") +}); + +// TODO: +// Add total amount to calculations "totalAmount": 460, +// "taxAmount": 510, diff --git a/rainmaker-custom-service/package.json b/rainmaker-custom-service/package.json new file mode 100644 index 00000000..adfe942c --- /dev/null +++ b/rainmaker-custom-service/package.json @@ -0,0 +1,23 @@ +{ + "name": "nodeservice", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.1", + "cryptr": "^4.0.0", + "excel4node": "^1.5.0", + "express": "^4.16.3", + "express-slash": "^2.0.1", + "jsonwebtoken": "^8.4.0", + "mustache-express": "^1.2.7", + "nodemon": "^1.18.4", + "pg-promise": "^8.4.5", + "request": "^2.88.0", + "request-promise": "^4.2.2", + "morgan": "*" + }, + "scripts": { + "debug": "nodemon --inspect index.js" + } +} diff --git a/rainmaker-custom-service/static/css/bnd.css b/rainmaker-custom-service/static/css/bnd.css new file mode 100644 index 00000000..d19b007b --- /dev/null +++ b/rainmaker-custom-service/static/css/bnd.css @@ -0,0 +1,137 @@ +body { + height: 100%; + padding: 0px; + margin: 0px; + background: #333; + font-family: 'Roboto', sans-serif !important; + font-size: 1em; + } + h1 { + font-family: 'Roboto', sans-serif; + font-size: 30px; + color: #999; + font-weight: 300; + margin-bottom: 55px; + margin-top: 45px; + text-transform: uppercase; + } + h1 small { + display: block; + font-size: 18px; + text-transform: none; + letter-spacing: 1.5px; + margin-top: 12px; + } + .row { + max-width: 950px; + margin: 0 auto; + } + .btn { + white-space: normal; + } + .button-wrap { + position: relative; + text-align: center; + } + .button-wrap .btn { + font-family: 'Roboto', sans-serif; + box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.5); + border-radius: 0px; + border-color: #222; + cursor: pointer; + text-transform: uppercase; + font-size: 1.1em; + font-weight: 400; + letter-spacing: 1px; + } + .button-wrap .btn small { + font-size: 0.8rem; + letter-spacing: normal; + text-transform: none; + } + /** SPINNER CREATION **/ + .loader { + position: relative; + text-align: center; + margin: 15px auto 35px auto; + z-index: 9999; + display: block; + width: 80px; + height: 80px; + border: 10px solid rgba(0, 0, 0, 0.3); + border-radius: 50%; + border-top-color: #000; + animation: spin 1s ease-in-out infinite; + -webkit-animation: spin 1s ease-in-out infinite; + } + @keyframes spin { + to { + -webkit-transform: rotate(360deg); + } + } + @-webkit-keyframes spin { + to { + -webkit-transform: rotate(360deg); + } + } + /** MODAL STYLING **/ + .modal-content { + border-radius: 0px; + box-shadow: 0 0 20px 8px rgba(0, 0, 0, 0.7); + } + .modal-backdrop.show { + opacity: 0.75; + } + .loader-txt p { + font-size: 13px; + color: #666; + } + .loader-txt p small { + font-size: 11.5px; + color: #999; + } + + html, +body { + height: 100%; +} + +body { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding-top: 40px; + padding-bottom: 40px; + background-color: #f5f5f5; +} + +.form-signin { + width: 100%; + max-width: 530px; + padding: 15px; + margin: auto; +} +.form-signin .checkbox { + font-weight: 400; +} +.form-signin .form-control { + position: relative; + box-sizing: border-box; + height: auto; + padding: 10px; + font-size: 16px; +} +.form-signin .form-control:focus { + z-index: 2; +} +.form-signin input[type="email"] { + margin-bottom: -1px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.form-signin input[type="password"] { + margin-bottom: 10px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} \ No newline at end of file diff --git a/rainmaker-custom-service/static/js/bnd.js b/rainmaker-custom-service/static/js/bnd.js new file mode 100644 index 00000000..4cbfa5d6 --- /dev/null +++ b/rainmaker-custom-service/static/js/bnd.js @@ -0,0 +1,128 @@ +$(document).ready(() => { + $("#linkAccount").on('click', linkAccount) + if (getAuthToken() !== null) { + let params = (new URL(document.location)).searchParams; + if (params.get("unlink") !== null) + { + unlinkAccount(); + } else { + setTimeout(loginToBND, 10); + } + } else { + $("#msg").html("You need to be logged in to access this page") + $("#form").hide() + } +}); + +function unlinkAccount() { + axios({ + url: location.pathname.replace("/open/", "/protected/") + "/unlinkAccount", + method: 'POST', + json: true, // important + headers: { + 'Accept': 'application/json' + }, + data: { + RequestInfo: { + "authToken": getAuthToken(), + } + } + }).then((response) => { + window.location.assign(window.location.href.replace("unlink", "")) + }); +} + +function linkAccount() { + username = $("#username").val(); + password = $("#password").val() + + axios({ + url: location.pathname.replace("/open/", "/protected/") + "/linkAccount", + method: 'POST', + json: true, // important + headers: { + 'Accept': 'application/json' + }, + data: { + username: username, + password: password, + RequestInfo: { + "authToken": getAuthToken(), + } + } + }).then((response) => { + let res = response.data; + if (res && res.code && res.code == "SUCCESS" && res.redirect) { + var urlInfo = decodeURI(window.location.href).split('?'); + var path = urlInfo[0]; + $("#msg").html("The application has been opened in new window. If you want to unlink your account click here") + window.open(res.redirect,"bnd", "", true) + } else { + $("#msg").text(res.message).css("color", "red"); + } + }); +} + +function getAuthToken() { + var access_token = localStorage.getItem("token"); + return access_token; +} + +function loginToBND() { + showLoader() + try { + axios({ + url: location.href.replace("/open/", "/protected/"), + method: 'POST', + json: true, // important + headers: { + 'Accept': 'application/json' + }, + data: { + RequestInfo: { + "authToken": getAuthToken() + } + } + }).then((response) => { + hideLoader() + switch (response.data.code) { + case "NO_CREDENTIAL_MAPPING": + $('#msg').text("Please enter your eSewa Health application Username & Password to link your account") + $('#inputEmail').val(response.data.username || "") + $("#form").show() + break + case "INVALID_CREDENTIALS": + $('#msg').text(response.data.message) + $('#inputEmail').val(response.data.username || "") + $("#form").show() + break + case "SUCCESS": + $("#msg").html("The application has been opened in new window. If you want to unlink your account click here") + window.open(response.data.redirect,"bnd", "", true) + break; + default: + $('#msg').text(response.data.message || "Some error occcured while processing your request") + break + } + }).catch((err) => { + hideLoader(); + }); + } catch (ex) { + hideLoader() + } +} + +function showLoader() { + $("#loadMe").modal({ + backdrop: "static", //remove ability to close modal with click + keyboard: false, //remove option to close with keyboard + show: true //Display loader! + }); +} + +function hideLoader() { + $("#loadMe").modal("hide") + $('#loadMe').on('shown.bs.modal', function (e) { + $("#loadMe").modal('hide'); + }) +} \ No newline at end of file diff --git a/rainmaker-custom-service/templates/apicall.html b/rainmaker-custom-service/templates/apicall.html new file mode 100644 index 00000000..f6382bba --- /dev/null +++ b/rainmaker-custom-service/templates/apicall.html @@ -0,0 +1,45 @@ +{{>common/header}} +
No report available for your user type
+ +{{>common/body}} \ No newline at end of file diff --git a/rainmaker-custom-service/templates/bndlogin.html b/rainmaker-custom-service/templates/bndlogin.html new file mode 100644 index 00000000..e7290ac1 --- /dev/null +++ b/rainmaker-custom-service/templates/bndlogin.html @@ -0,0 +1,32 @@ +{{>common/header}} + + +
+ +

+
+ +
+{{>common/scripts}} + + +{{>common/footer}} \ No newline at end of file diff --git a/rainmaker-custom-service/templates/common/footer.html b/rainmaker-custom-service/templates/common/footer.html new file mode 100644 index 00000000..1fd5f4f2 --- /dev/null +++ b/rainmaker-custom-service/templates/common/footer.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/rainmaker-custom-service/templates/common/header.html b/rainmaker-custom-service/templates/common/header.html new file mode 100644 index 00000000..63d94260 --- /dev/null +++ b/rainmaker-custom-service/templates/common/header.html @@ -0,0 +1,13 @@ + + + + + + + + + + + eGov Extension + + \ No newline at end of file diff --git a/rainmaker-custom-service/templates/common/scripts.html b/rainmaker-custom-service/templates/common/scripts.html new file mode 100644 index 00000000..9f6c78bb --- /dev/null +++ b/rainmaker-custom-service/templates/common/scripts.html @@ -0,0 +1,4 @@ + + + + diff --git a/rainmaker-custom-service/utils/asyncMiddleware.js b/rainmaker-custom-service/utils/asyncMiddleware.js new file mode 100644 index 00000000..e261ae12 --- /dev/null +++ b/rainmaker-custom-service/utils/asyncMiddleware.js @@ -0,0 +1,9 @@ +const asyncMiddleware = fn => + (req, res, next) => { + Promise.resolve(fn(req, res, next)) + .catch(next); + }; + +module.exports = { + asyncMiddleware +} \ No newline at end of file diff --git a/rainmaker-custom-service/yarn.lock b/rainmaker-custom-service/yarn.lock new file mode 100644 index 00000000..04493197 --- /dev/null +++ b/rainmaker-custom-service/yarn.lock @@ -0,0 +1,2297 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +ajv@^6.5.5: + version "6.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.6.2.tgz#caceccf474bf3fc3ce3b147443711a24063cc30d" + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + dependencies: + string-width "^2.0.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@~2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + dependencies: + lodash "^4.17.10" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +binary-extensions@^1.0.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" + +bluebird@^3.5.0, bluebird@^3.5.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + +body-parser@1.18.3: + version "1.18.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "~1.6.3" + iconv-lite "0.4.23" + on-finished "~2.3.0" + qs "6.5.2" + raw-body "2.3.3" + type-is "~1.6.16" + +boxen@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + +buffer-writer@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +camelcase@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +chalk@^2.0.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chokidar@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" + dependencies: + delayed-stream "~1.0.0" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +configstore@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +content-disposition@0.5.2: + version "0.5.2" + resolved "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +core-js@~2.3.0: + version "2.3.0" + resolved "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz#fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + +cryptr@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cryptr/-/cryptr-4.0.2.tgz#8a93b5ca7667d1a6131e396bab23a134ff1f5dc6" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + dependencies: + ms "^2.1.1" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +deepmerge@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.1.1.tgz#e862b4e45ea0555072bf51e7fd0d9845170ae768" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + dependencies: + is-obj "^1.0.0" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecdsa-sig-formatter@1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz#1c595000f04a8897dfb85000892a0f4c33af86c3" + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +es6-promise@~3.0.2: + version "3.0.2" + resolved "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +excel4node@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/excel4node/-/excel4node-1.7.0.tgz#e7f8a797284832d86dda8713745323cd2302d9d2" + dependencies: + deepmerge "2.1.1" + image-size "0.6.3" + jszip "3.1.5" + lodash.get "4.4.2" + lodash.isequal "4.5.0" + lodash.isundefined "3.0.1" + lodash.reduce "4.6.0" + lodash.uniqueid "4.0.1" + mime "2.3.1" + uuid "3.3.2" + xmlbuilder "10.0.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express-slash@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/express-slash/-/express-slash-2.0.1.tgz#76eb869fed8f71ae4f98785cbe00bf1bb454d627" + +express@^4.16.3: + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.3" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.4" + qs "6.5.2" + range-parser "~1.2.0" + safe-buffer "5.1.2" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +finalhandler@1.1.1: + version "1.1.1" + resolved "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.4.0" + unpipe "~1.0.0" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-stream@^3.0.0: + version "3.0.0" + resolved "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob@^7.0.5: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + dependencies: + ini "^1.3.4" + +got@^6.7.1: + version "6.7.1" + resolved "http://registry.npmjs.org/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: + version "1.6.3" + resolved "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +image-size@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2" + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +ipaddr.js@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + dependencies: + ci-info "^1.5.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-obj@^1.0.0: + version "1.0.1" + resolved "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +jsonwebtoken@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.4.0.tgz#8757f7b4cb7440d86d5e2f3becefa70536c8e46a" + dependencies: + jws "^3.1.5" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jszip@3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.1.5.tgz#e3c2a6c6d706ac6e603314036d43cd40beefdf37" + dependencies: + core-js "~2.3.0" + es6-promise "~3.0.2" + lie "~3.1.0" + pako "~1.0.2" + readable-stream "~2.0.6" + +jwa@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.6.tgz#87240e76c9808dbde18783cf2264ef4929ee50e6" + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.10" + safe-buffer "^5.0.1" + +jws@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.5.tgz#80d12d05b293d1e841e7cb8b4e69e561adcf834f" + dependencies: + jwa "^1.1.5" + safe-buffer "^5.0.1" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + dependencies: + package-json "^4.0.0" + +lie@~3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + dependencies: + immediate "~3.0.5" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash.get@4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + +lodash.isundefined@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + +lodash.reduce@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" + +lodash.uniqueid@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz#3268f26a7c88e4f4b1758d679271814e31fa5b26" + +lodash@^4.13.1, lodash@^4.17.10: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + +lru-cache@^4.0.1, lru-cache@~4.1.3: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + dependencies: + pify "^3.0.0" + +manakin@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/manakin/-/manakin-0.5.2.tgz#abe3df430ca6085f6983f6e4cf5af0298f4d30cc" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +media-typer@0.3.0: + version "0.3.0" + resolved "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + +mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + dependencies: + mime-db "~1.37.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mime@2.3.1: + version "2.3.1" + resolved "http://registry.npmjs.org/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.2.0: + version "1.2.0" + resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minipass@^2.2.1, minipass@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + +mustache-express@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/mustache-express/-/mustache-express-1.2.8.tgz#caf3fc93e5b729e92077b1c4ff713aba4bced259" + dependencies: + async "~2.6.0" + lru-cache "~4.1.3" + mustache "~2.3.0" + +mustache@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" + +nan@^2.9.2: + version "2.12.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +nodemon@^1.18.4: + version "1.18.9" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.9.tgz#90b467efd3b3c81b9453380aeb2a2cba535d0ead" + dependencies: + chokidar "^2.0.4" + debug "^3.1.0" + ignore-by-default "^1.0.1" + minimatch "^3.0.4" + pstree.remy "^1.1.6" + semver "^5.5.0" + supports-color "^5.2.0" + touch "^3.1.0" + undefsafe "^2.0.2" + update-notifier "^2.5.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + dependencies: + abbrev "1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + +npm-packlist@^1.1.6: + version "1.1.12" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + +packet-reader@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz#cd62e60af8d7fea8a705ec4ff990871c46871f27" + +pako@~1.0.2: + version "1.0.7" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.7.tgz#2473439021b57f1516c82f58be7275ad8ef1bb27" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pg-connection-string@0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" + +pg-minify@0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/pg-minify/-/pg-minify-0.5.5.tgz#6c961a61aa19f469d8edfe5a3c0da58760f3c339" + +pg-pool@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-2.0.5.tgz#f00556fab23f1bbb14b0650ba8d0e447434a1b04" + +pg-promise@^8.4.5: + version "8.5.4" + resolved "https://registry.yarnpkg.com/pg-promise/-/pg-promise-8.5.4.tgz#3c1c656d340b1d8e21bbd8017a650c795b375aca" + dependencies: + manakin "0.5.2" + pg "7.7.1" + pg-minify "0.5.5" + spex "2.1.0" + +pg-types@~1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.12.1.tgz#d64087e3903b58ffaad279e7595c52208a14c3d2" + dependencies: + postgres-array "~1.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.0" + postgres-interval "^1.1.0" + +pg@7.7.1: + version "7.7.1" + resolved "https://registry.yarnpkg.com/pg/-/pg-7.7.1.tgz#546b192ff484322b69689391f885de3ba91a30d4" + dependencies: + buffer-writer "2.0.0" + packet-reader "0.3.1" + pg-connection-string "0.1.3" + pg-pool "^2.0.4" + pg-types "~1.12.1" + pgpass "1.x" + semver "4.3.2" + +pgpass@1.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306" + dependencies: + split "^1.0.0" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +postgres-array@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.3.tgz#c561fc3b266b21451fc6555384f4986d78ec80f5" + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" + +postgres-date@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz#e2d89702efdb258ff9d9cee0fe91bd06975257a8" + +postgres-interval@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz#bf71ff902635f21cb241a013fc421d81d1db15a9" + dependencies: + xtend "^4.0.0" + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +proxy-addr@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.8.0" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +psl@^1.1.24, psl@^1.1.28: + version "1.1.31" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" + +pstree.remy@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.6.tgz#73a55aad9e2d95814927131fbf4dc1b62d259f47" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + +qs@6.5.2, qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + +rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +readable-stream@^2.0.2, readable-stream@^2.0.6: + version "2.3.6" + resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~2.0.6: + version "2.0.6" + resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +registry-auth-token@^3.0.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + dependencies: + rc "^1.0.1" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +request-promise-core@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" + dependencies: + lodash "^4.13.1" + +request-promise@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.2.tgz#d1ea46d654a6ee4f8ee6a4fea1018c22911904b4" + dependencies: + bluebird "^3.5.0" + request-promise-core "1.1.1" + stealthy-require "^1.1.0" + tough-cookie ">=2.3.3" + +request@^2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.0" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + dependencies: + semver "^5.0.3" + +semver@4.3.2: + version "4.3.2" + resolved "http://registry.npmjs.org/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7" + +semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +spex@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spex/-/spex-2.1.0.tgz#21939ab7722322c3a1d002870fab022daa79335f" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + dependencies: + through "2" + +sshpk@^1.7.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.0.tgz#1d4963a2fbffe58050aa9084ca20be81741c07de" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +stealthy-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + +string-width@^1.0.1: + version "1.0.2" + resolved "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@^5.2.0, supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + dependencies: + has-flag "^3.0.0" + +tar@^4: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + dependencies: + execa "^0.7.0" + +through@2: + version "2.3.8" + resolved "http://registry.npmjs.org/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + dependencies: + nopt "~1.0.10" + +tough-cookie@>=2.3.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-is@~1.6.16: + version "1.6.16" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.18" + +undefsafe@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76" + dependencies: + debug "^2.2.0" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + dependencies: + crypto-random-string "^1.0.0" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + +update-notifier@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-ci "^1.0.10" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + dependencies: + prepend-http "^1.0.1" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@3.3.2, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + dependencies: + string-width "^2.1.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + +xmlbuilder@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.0.0.tgz#c64e52f8ae097fe5fd46d1c38adaade071ee1b55" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"