Sewerage Service - Technical Document

Sewerage Services:

This is one of the major application of the egov stack which helps municipal and citizens to handle sewerage services like creating sewerage connection , searching sewerage connection, sewerage connection , also creating property if it doesnt exist and creating and updating workflow where depending on different roles of the logged-in user he/she can perform various actions like editing or perform document verification and many more specified in workflow documentation and SMS & email notification sent to owner for various actions performed in workflow. 

The setup of the Application is as follows

Requirements:

  • Prior Knowledge of Java/J2EE(Java 8 version preferrable).

  • Prior Knowledge of Spring Boot.

  • Prior Knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.

  • Prior knowledge of Git.

  • Prior knowledge of eGov-mdms service, eGov-persister, eGov-user, eGov-location, eGov-localization, eGov-idgen, eGov-workflow-service will be helpful.

 

FUNCTIONALITY:

The sewerage service provides multiple functionality starting from serving as a central repository where one can create sewerage connection, update sewerage connection, search for a particular sewerage connection based on different criterias like mobile number, sewerage connection nos etc. and also creating property if it doesnt exist ,creating and updating workflow where depending on different roles of the logged-in user he/she can perform various actions like editing or perform document verification and many more specified in workflow documentation and SMS & email notification sent to owner for various actions performed in workflow.The different services provided by the sewerage services are

  1. Creating sewerage connection

  2. Updating sewerage connection

  3. Apply for Property creation.

  4. Searching sewerage connection based on few criterias mentioned in swagger documentation later

  5. Creating property if it doesnt exist

  6. Creating and updating workflow. 

SETUP AND USAGE:

The Application is present among the municipal group of applications available in the eGov-services git repository. The spring boot application needs lombok* extension added in your IDE to load it. Once the application is up and running API requests can be posted to the url and ids can be generated.

  • in case of intellij the plugin can be installed directly, for eclipse the lombok jar location has to be added in eclipse.ini file in this format  javaagent:lombok.jar

API Information :

The variables in the Application.properties to be updated are as follows

kafka topics persister configs for eGov persister

egov.sewarageservice.createconnection=save-sw-connection
egov.sewarageservice.updateconnection=update-sw-connection

egov.sewerageservice.updatesewerageconnection.workflow.topic=update-sw-workflow

URLs for the external API references

egov.idgen.scid.name=sewerageservice.connection.id
egov.idgen.scid.format=SW/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON]

egov.idgen.scapid.name=sewerageservice.application.id
egov.idgen.scapid.format=SW_AP/[CITY.CODE]/[fy:yyyy-yy]/[SEQ_EGOV_COMMON] 

 

Configuration:

Mdms configuration:

egov-mdms-data/data at master · egovernments/egov-mdms-data

sw-services-calculation PropertyTax

master-config.json for sewerage service

"sw-services-calculation": { "Interest": { "masterName": "Interest", "isStateLevel": true, "uniqueKeys": [ "$.fromFY" ] }, "Rebate": { "masterName": "Rebate", "isStateLevel": true, "uniqueKeys": [ "$.fromFY" ] }, "Penalty": { "masterName": "Penalty", "isStateLevel": true, "uniqueKeys": [ "$.fromFY" ] }, "SCBillingSlab": { "masterName": "SCBillingSlab", "isStateLevel": true, "uniqueKeys": [] }, "billingPeriod": { "masterName": "billingPeriod", "isStateLevel": true, "uniqueKeys": [ "$.billingCycle" ] }, "SW_CHARGE": { "masterName": "SW_CHARGE", "isStateLevel": true, "uniqueKeys": [] }, "SW_TIME_PENALTY": { "masterName": "SW_TIME_PENALTY", "isStateLevel": true, "uniqueKeys": [] }, "SW_Round_Off": { "masterName": "SW_Round_Off", "isStateLevel": true, "uniqueKeys": [] }, "PlotSizeSlab": { "masterName": "PlotSizeSlab", "isStateLevel": true, "uniqueKeys": [] }, "PropertyUsageType": { "masterName": "PropertyUsageType", "isStateLevel": true, "uniqueKeys": [] }, "FeeSlab": { "masterName": "FeeSlab", "isStateLevel": true, "uniqueKeys": [] }, "RoadType": { "masterName": "RoadType", "isStateLevel": true, "uniqueKeys": [] }, "CalculationAttribute": { "masterName": "CalculationAttribute", "isStateLevel": true, "uniqueKeys": [] } }

Property creation through WNS module
egov-mdms-data/data/pb/PropertyTax/PTWorkflow.json at DEV · egovernments/egov-mdms-data

Persister configuration:
https://github.com/egovernments/configs/blob/qa/egov-persister/sewerage-persist.yml

Postman link:

https://www.getpostman.com/collections/e4c39fd6c0ed0a7dfacd

Workflow business service config:

{ "RequestInfo": { "apiId": "Rainmaker", "action": "", "did": 1, "key": "", "msgId": "20170310130900|en_IN", "requesterId": "", "ts": 1513579888683, "ver": ".01", "authToken": "{{Auth_Token}}" }, "BusinessServices": [ { "tenantId": "pb", "businessService": "NewSW1", "business": "sw-services", "businessServiceSla": 259200000, "states": [ { "sla": null, "state": null, "applicationStatus": null, "docUploadRequired": false, "isStartState": true, "isTerminateState": false, "isStateUpdatable": false, "actions": [ { "action": "INITIATE", "nextState": "INITIATED", "roles": [ "CITIZEN", "SW_CEMP" ] } ] }, { "sla": null,