Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Prior Knowledge of Java/J2EE

  • Prior Knowledge of SpringBoot

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

  • Prior Knowledge of Kafka and related concepts like Producer, Consumer, Topic etc.

Setup:

Step 1: Start the ID-Gen service present in the following repo:

...

 Following are the properties in application.properties file in collection hrms service which are configurable.

Property

Value

Remarks

egov.hrms.employee.app.link


https://

mseva

dev.

lgpunjab

digit.

gov.in

org/employee/user/login

This is the link to the mseva app, which differs based on the environment.

egov.hrms.default.pagination.limit


200

This is the pagination limit on search results of employee search, it can be set to any numeric value without decimals.

egov.hrms.default.pwd.length


10

This is the length of password to be generated at the time of employee creation. However, please ensure this is in sync with the egov-user pwd policy.

open.search.enabled.roles


SUPERUSER,ADMIN


This is a list of Role codes that are allowed to perform an open-search in hrms. 

kafka.topics.notification.sms

egov.core.notification.sms

Kafka Topic to push the sms request. Please ensure this is in sync with egov-notification-sms service.

kafka.topics.save.service


save-hrms-employee

Kafka topic to push the save request in hrms. Please ensure this in sync with the persister.

kafka.topics.update.service


update-hrms-employee

Kafka topic to push the update request in hrms. Please ensure this in sync with the persister.

egov.idgen.ack.name


hrms.employeecode


Key to be configured in Idgen alongwith the ID format to generate employee code.

egov.idgen.ack.format

EMP-[city]-[SEQ_EG_HRMS_EMP_CODE]


Format to be configured in ID gen to generate employee code.

APIs:

  1. _create: API to create an employee in the system. Information about the employee such as - Basic Details, Jurisdiction, Assignment, Education, Service History, Tests etc are captured during this process.

  2. _update: API to update an employee in the system. Information about the employee such as - Basic Details, Jurisdiction, Assignment, Education, Service History, Tests etc are captured during this process.
    NOTE: Deactivation / Reactivation of employee is part of the same update flow. Inorder deactivate / reactivate an employee, Deactivation / Reactivation details such as reason for deactivation / reactivation, deactivation / reactivation effective from, order number etc have to be passed.

  3. _search: API to search employees from the system. Information about the employee such as - Basic Details, Jurisdiction, Assignment, Education, Service History, Tests etc are retrieved during this process. This API provides both: protected and open search. Open search is allowed only for a set of roles that are configures, for others, it protected by default.

  4. _count: This API is used to get count of active and inactive employee present in the system.

Postman Collection: https://www.getpostman.com/collections/7205a669dbd888affe8bb036288557361e71975d

API Contract: https://editor.swagger.io/?url=https://raw.githubusercontent.com/egovernments/egovbusiness-services/master/docsDocs/rainmaker/egovhrms-hrms/v1-.0-.0.ymlyaml#!/

Entities:

Jurisdiction: It is the geographical area within which an employee can operate. This area can range from a small zone with an ULB to the entire state or more. Currently,
Jurisdictions are can defined only within a multiple ULB, wherein multiple localities/zones/blocks can fall under one jurisdiction.

...

  

Persister configuration:https://raw.githubusercontent.com/egovernments/egov-services/master/rainmaker/egov-hrms/src/main/resources/config/hrms-employee-persister.yml

HRMS Persister

 

Dependencies:

User

HRMS depends on egov-user for creating user on every create employee call. Similarly update user and search user whenever required. HRMS uses /user/users/_createnovalidate, /user/users/_updatenovalidate, /user/v1/_search APIs.

...

For Details on entities and constraints go through README.md at https://github.com/egovernments/business-services/tree/master/egov-hrms

Interaction Diagram:

Image Added