diff --git a/src/READMEFIRST.MD b/src/READMEFIRST.MD deleted file mode 100644 index 7368163..0000000 --- a/src/READMEFIRST.MD +++ /dev/null @@ -1,3 +0,0 @@ -# Generated Code -the code contained in this repository has been generated from a model, modification of the code should be done so that the code is not overwritten. -This code uses the DigitalPy framework. diff --git a/src/WorkforceManagement_blueprint.py b/src/WorkforceManagement_blueprint.py index 12f705a..66e5bf9 100644 --- a/src/WorkforceManagement_blueprint.py +++ b/src/WorkforceManagement_blueprint.py @@ -62,7 +62,7 @@ def PATCHEmployee(): return str(e), 500 @page.route('/Region', methods=["POST"]) def POSTRegion(): - """TODO""" + """Create a new region""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -76,7 +76,7 @@ def POSTRegion(): return str(e), 500 @page.route('/Region', methods=["DELETE"]) def DELETERegion(): - """TODO""" + """Delete by ID a Region""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -90,7 +90,7 @@ def DELETERegion(): return str(e), 500 @page.route('/Region', methods=["GET"]) def GETRegion(): - """TODO""" + """Returns a list of all Regions""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -103,7 +103,7 @@ def GETRegion(): return str(e), 500 @page.route('/Region', methods=["PATCH"]) def PATCHRegion(): - """TODO""" + """Unpdate by ID a Region""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -200,7 +200,7 @@ def POSTActivityMetricTimeEfficiency(): return str(e), 500 @page.route('/Employee/', methods=["GET"]) def GETEmployeeId(id,): - """TODO""" + """Return by ID an Employee""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -215,7 +215,7 @@ def GETEmployeeId(id,): return str(e), 500 @page.route('/Schedule', methods=["POST"]) def POSTSchedule(): - """TODO""" + """Create a new Schedule""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -229,7 +229,7 @@ def POSTSchedule(): return str(e), 500 @page.route('/Schedule', methods=["DELETE"]) def DELETESchedule(): - """TODO""" + """Delete by ID a Schehdule""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -243,7 +243,7 @@ def DELETESchedule(): return str(e), 500 @page.route('/Schedule', methods=["GET"]) def GETSchedule(): - """TODO""" + """Returns a list of all Schedules""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -256,7 +256,7 @@ def GETSchedule(): return str(e), 500 @page.route('/Schedule', methods=["PATCH"]) def PATCHSchedule(): - """TODO""" + """Unpdate by ID a Schedule""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -270,7 +270,7 @@ def PATCHSchedule(): return str(e), 500 @page.route('/Region/', methods=["GET"]) def GETRegionId(id,): - """TODO""" + """Return by ID a Region""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -285,7 +285,7 @@ def GETRegionId(id,): return str(e), 500 @page.route('/Schedule/', methods=["GET"]) def GETScheduleId(id,): - """TODO""" + """Return by ID a Schedule""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -314,7 +314,7 @@ def POSTActivity(): return str(e), 500 @page.route('/Activity', methods=["DELETE"]) def DELETEActivity(): - """TODO""" + """Delete by ID an Activity""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -328,7 +328,7 @@ def DELETEActivity(): return str(e), 500 @page.route('/Activity', methods=["GET"]) def GETActivity(): - """TODO""" + """Returns a list of all Activities""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -341,7 +341,7 @@ def GETActivity(): return str(e), 500 @page.route('/Activity', methods=["PATCH"]) def PATCHActivity(): - """TODO""" + """Unpdate by ID an Activity""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( @@ -355,7 +355,7 @@ def PATCHActivity(): return str(e), 500 @page.route('/Activity/', methods=["GET"]) def GETActivityId(id,): - """TODO""" + """Return by ID an Activity""" try: # send data to the NetworkInterface response = BlueprintCommunicator().send_message_sync( diff --git a/src/WorkforceManagement_facade.py b/src/WorkforceManagement_facade.py index f47ea23..f43ebf5 100644 --- a/src/WorkforceManagement_facade.py +++ b/src/WorkforceManagement_facade.py @@ -97,22 +97,22 @@ def PATCHEmployee(self, *args, **kwargs): self.WorkforceManagement_controller.PATCHEmployee(*args, **kwargs) @DefaultFacade.public def POSTRegion(self, *args, **kwargs): - """TODO + """Create a new region """ self.WorkforceManagement_controller.POSTRegion(*args, **kwargs) @DefaultFacade.public def DELETERegion(self, *args, **kwargs): - """TODO + """Delete by ID a Region """ self.WorkforceManagement_controller.DELETERegion(*args, **kwargs) @DefaultFacade.public def GETRegion(self, *args, **kwargs): - """TODO + """Returns a list of all Regions """ self.WorkforceManagement_controller.GETRegion(*args, **kwargs) @DefaultFacade.public def PATCHRegion(self, *args, **kwargs): - """TODO + """Unpdate by ID a Region """ self.WorkforceManagement_controller.PATCHRegion(*args, **kwargs) @DefaultFacade.public @@ -147,37 +147,37 @@ def POSTActivityMetricTimeEfficiency(self, *args, **kwargs): self.WorkforceManagement_controller.POSTActivityMetricTimeEfficiency(*args, **kwargs) @DefaultFacade.public def GETEmployeeId(self, *args, **kwargs): - """TODO + """Return by ID an Employee """ self.WorkforceManagement_controller.GETEmployeeId(*args, **kwargs) @DefaultFacade.public def POSTSchedule(self, *args, **kwargs): - """TODO + """Create a new Schedule """ self.WorkforceManagement_controller.POSTSchedule(*args, **kwargs) @DefaultFacade.public def DELETESchedule(self, *args, **kwargs): - """TODO + """Delete by ID a Schehdule """ self.WorkforceManagement_controller.DELETESchedule(*args, **kwargs) @DefaultFacade.public def GETSchedule(self, *args, **kwargs): - """TODO + """Returns a list of all Schedules """ self.WorkforceManagement_controller.GETSchedule(*args, **kwargs) @DefaultFacade.public def PATCHSchedule(self, *args, **kwargs): - """TODO + """Unpdate by ID a Schedule """ self.WorkforceManagement_controller.PATCHSchedule(*args, **kwargs) @DefaultFacade.public def GETRegionId(self, *args, **kwargs): - """TODO + """Return by ID a Region """ self.WorkforceManagement_controller.GETRegionId(*args, **kwargs) @DefaultFacade.public def GETScheduleId(self, *args, **kwargs): - """TODO + """Return by ID a Schedule """ self.WorkforceManagement_controller.GETScheduleId(*args, **kwargs) @DefaultFacade.public @@ -187,21 +187,21 @@ def POSTActivity(self, *args, **kwargs): self.WorkforceManagement_controller.POSTActivity(*args, **kwargs) @DefaultFacade.public def DELETEActivity(self, *args, **kwargs): - """TODO + """Delete by ID an Activity """ self.WorkforceManagement_controller.DELETEActivity(*args, **kwargs) @DefaultFacade.public def GETActivity(self, *args, **kwargs): - """TODO + """Returns a list of all Activities """ self.WorkforceManagement_controller.GETActivity(*args, **kwargs) @DefaultFacade.public def PATCHActivity(self, *args, **kwargs): - """TODO + """Unpdate by ID an Activity """ self.WorkforceManagement_controller.PATCHActivity(*args, **kwargs) @DefaultFacade.public def GETActivityId(self, *args, **kwargs): - """TODO + """Return by ID an Activity """ self.WorkforceManagement_controller.GETActivityId(*args, **kwargs) diff --git a/src/configuration/WorkforceManagement-OAS.yaml b/src/configuration/WorkforceManagement-OAS.yaml index 67774d7..3d8ba98 100644 --- a/src/configuration/WorkforceManagement-OAS.yaml +++ b/src/configuration/WorkforceManagement-OAS.yaml @@ -1,9 +1,10 @@ openapi: 3.0.1 info: title: WorkforceManagement - version: '24.07.16.02' + version: '24.07.16.04' description: >- - he Workforce Management (WFM) component within the Open Digital Architecture (ODA) framework is designed to optimize the management of an organization's human resources. It integrates various functionalities essential for efficient workforce planning, scheduling, and performance management, ensuring that the right people are in the right place at the right time, and their efforts align with the strategic goals of the enterprise. + new Levio version!!! + the Workforce Management (WFM) component within the Open Digital Architecture (ODA) framework is designed to optimize the management of an organization's human resources. It integrates various functionalities essential for efficient workforce planning, scheduling, and performance management, ensuring that the right people are in the right place at the right time, and their efforts align with the strategic goals of the enterprise. Key Features: @@ -104,7 +105,7 @@ paths: tags: - Region description: >- - summary: TODO + summary: Create a new region operationId: CreateRegion requestBody: $ref: '#/components/requestBodies/Region' @@ -116,7 +117,7 @@ paths: tags: - Region description: >- - summary: TODO + summary: Delete by ID a Region operationId: DeleteRegion parameters: - $ref: '#/components/parameters/ID' @@ -128,7 +129,7 @@ paths: tags: - Region description: >- - summary: TODO + summary: Returns a list of all Regions operationId: ListRegion responses: '200': @@ -138,7 +139,7 @@ paths: tags: - Region description: >- - summary: TODO + summary: Unpdate by ID a Region operationId: PatchRegion requestBody: $ref: '#/components/requestBodies/Region' @@ -223,7 +224,7 @@ paths: tags: - Employee description: >- - summary: TODO + summary: Return by ID an Employee operationId: RetreiveEmployee parameters: - $ref: '#/components/parameters/id' @@ -236,7 +237,7 @@ paths: tags: - Schedule description: >- - summary: TODO + summary: Create a new Schedule operationId: CreateSchedule requestBody: $ref: '#/components/requestBodies/Schedule' @@ -248,7 +249,7 @@ paths: tags: - Schedule description: >- - summary: TODO + summary: Delete by ID a Schehdule operationId: DeleteSchedule parameters: - $ref: '#/components/parameters/ID' @@ -260,7 +261,7 @@ paths: tags: - Schedule description: >- - summary: TODO + summary: Returns a list of all Schedules operationId: ListSchedule responses: '200': @@ -270,7 +271,7 @@ paths: tags: - Schedule description: >- - summary: TODO + summary: Unpdate by ID a Schedule operationId: PatchSchedule requestBody: $ref: '#/components/requestBodies/Schedule' @@ -283,7 +284,7 @@ paths: tags: - Region description: >- - summary: TODO + summary: Return by ID a Region operationId: RetreiveRegion parameters: - $ref: '#/components/parameters/id' @@ -296,7 +297,7 @@ paths: tags: - Schedule description: >- - summary: TODO + summary: Return by ID a Schedule operationId: RetreiveSchedule parameters: - $ref: '#/components/parameters/id' @@ -321,7 +322,7 @@ paths: tags: - Activity description: >- - summary: TODO + summary: Delete by ID an Activity operationId: DeleteActivity parameters: - $ref: '#/components/parameters/ID' @@ -333,7 +334,7 @@ paths: tags: - Activity description: >- - summary: TODO + summary: Returns a list of all Activities operationId: ListActivity responses: '200': @@ -341,9 +342,9 @@ paths: patch: x-scope: public tags: - - Employee + - Activity description: >- - summary: TODO + summary: Unpdate by ID an Activity operationId: PatchActivity requestBody: $ref: '#/components/requestBodies/Activity' @@ -356,7 +357,7 @@ paths: tags: - Activity description: >- - summary: TODO + summary: Return by ID an Activity operationId: RetreiveActivity parameters: - $ref: '#/components/parameters/id' diff --git a/src/configuration/manifest.ini b/src/configuration/manifest.ini index a845419..11395ef 100644 --- a/src/configuration/manifest.ini +++ b/src/configuration/manifest.ini @@ -1,14 +1,14 @@ [WorkforceManagementManifest] ; universally unique identifier (UUID) Version 1 -UUID = 49f28f65-bd60-4022-86b8-36c2be742c9d +UUID = 15fd0ec7-3520-4d4a-9e16-bf8dd1139cc8 ; Name of this component name = WorkforceManagement ; progressive version of the component in major.minor format -version = "24.07.16.02" +version = "24.07.16.04" ; Aphrodite DigitalPy version this component is build for requiredAlfaVersion= 0.0.1 ; short description of the component -description = ""he Workforce Management (WFM) component within the Open Digital Architecture (ODA) framework is designed to optimize the management of an organization's human resources. It integrates various functionalities essential for efficient workforce planning, scheduling, and performance management, ensuring that the right people are in the right place at the right time, and their efforts align with the strategic goals of the enterprise.\nKey Features:\nResource Allocation:\nEnsures optimal assignment of employees to tasks based on their skills, availability, and business requirements. Supports dynamic reallocation in response to changing demands and priorities. Scheduling and Rostering:\nAutomates the creation of work schedules, considering employee preferences, availability, and labor laws. Provides real-time adjustments and notifications to handle unexpected absences or changes in workload. Time and Attendance:\nTracks employee attendance, hours worked, overtime, and leave. Integrates with payroll systems to ensure accurate and timely compensation. Performance Management: Monitors and evaluates employee performance through key performance indicators (KPIs) and metrics. Supports continuous feedback, goal setting, and performance reviews to foster employee development and engagement. Compliance and Reporting:\nEnsures adherence to labor laws, union agreements, and internal policies. Provides comprehensive reporting and analytics to support decision-making and strategic planning. Training and Development:\nIdentifies skill gaps and facilitates employee training and development programs. Tracks progress and effectiveness of training initiatives. API Integration:\nUtilizes standardized APIs for seamless integration with other enterprise systems such as ERP, CRM, and payroll. Ensures data consistency and real-time information flow across the organization. Manage Field Workforce (MFW):\nManages the lifecycle of work assignments or work orders carried out by the workforce. Includes managing workforce staff (employees, contractors, consultants) directly or indirectly employed by the enterprise. Manages work assignment queues, staff lists, individual work assignments, fast-track and jeopardy re-assignment capabilities. Handles appointment schedules, work orders, forecasting staffing requirements, and work activity time estimates. Establishes recall capabilities for out-of-hours staff recall. Manages registration and access control processes for scheduling and work assignment data. Ensures accurate capture and recording of all assignment and work scheduling details. Tracks and monitors usage and access to the MFW system and associated costs."" +description = ""new Levio version!!! the Workforce Management (WFM) component within the Open Digital Architecture (ODA) framework is designed to optimize the management of an organization's human resources. It integrates various functionalities essential for efficient workforce planning, scheduling, and performance management, ensuring that the right people are in the right place at the right time, and their efforts align with the strategic goals of the enterprise.\nKey Features:\nResource Allocation:\nEnsures optimal assignment of employees to tasks based on their skills, availability, and business requirements. Supports dynamic reallocation in response to changing demands and priorities. Scheduling and Rostering:\nAutomates the creation of work schedules, considering employee preferences, availability, and labor laws. Provides real-time adjustments and notifications to handle unexpected absences or changes in workload. Time and Attendance:\nTracks employee attendance, hours worked, overtime, and leave. Integrates with payroll systems to ensure accurate and timely compensation. Performance Management: Monitors and evaluates employee performance through key performance indicators (KPIs) and metrics. Supports continuous feedback, goal setting, and performance reviews to foster employee development and engagement. Compliance and Reporting:\nEnsures adherence to labor laws, union agreements, and internal policies. Provides comprehensive reporting and analytics to support decision-making and strategic planning. Training and Development:\nIdentifies skill gaps and facilitates employee training and development programs. Tracks progress and effectiveness of training initiatives. API Integration:\nUtilizes standardized APIs for seamless integration with other enterprise systems such as ERP, CRM, and payroll. Ensures data consistency and real-time information flow across the organization. Manage Field Workforce (MFW):\nManages the lifecycle of work assignments or work orders carried out by the workforce. Includes managing workforce staff (employees, contractors, consultants) directly or indirectly employed by the enterprise. Manages work assignment queues, staff lists, individual work assignments, fast-track and jeopardy re-assignment capabilities. Handles appointment schedules, work orders, forecasting staffing requirements, and work activity time estimates. Establishes recall capabilities for out-of-hours staff recall. Manages registration and access control processes for scheduling and work assignment data. Ensures accurate capture and recording of all assignment and work scheduling details. Tracks and monitors usage and access to the MFW system and associated costs."" ; name of the component's author author=""Giu Platania"" ; email of the author diff --git a/src/controllers/WorkforceManagement_controller.py b/src/controllers/WorkforceManagement_controller.py index 8b7e87d..d060a62 100644 --- a/src/controllers/WorkforceManagement_controller.py +++ b/src/controllers/WorkforceManagement_controller.py @@ -156,7 +156,7 @@ def PATCHEmployee(self, body: 'Employee', client: 'NetworkClient', config_loade self.response.set_action("publish") def POSTRegion(self, body: 'str', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Create a new region""" # initialize Region builder self.Region_builder.build_empty_object(config_loader=config_loader) @@ -177,7 +177,7 @@ def POSTRegion(self, body: 'str', client: 'NetworkClient', config_loader, *args, self.response.set_action("publish") def DELETERegion(self, ID: str, client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Delete by ID a Region""" db_records = self.WorkforceManagement_persistence_controller.get_region(ID = ID) domain_records: List['Region'] = [] @@ -198,7 +198,7 @@ def DELETERegion(self, ID: str, client: 'NetworkClient', config_loader, *args, * self.response.set_action("publish") def GETRegion(self, client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Returns a list of all Regions""" # retrieve the Region record from the database db_records = self.WorkforceManagement_persistence_controller.get_all_region() domain_records: List['Region'] = [] @@ -218,7 +218,7 @@ def GETRegion(self, client: 'NetworkClient', config_loader, *args, **kwargs): # self.response.set_action("publish") def PATCHRegion(self, body: 'Region', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Unpdate by ID a Region""" # create the basic domain object from the json data self.Region_builder.build_empty_object(config_loader) self.Region_builder.add_object_data(body, Protocols.JSON) @@ -362,7 +362,7 @@ def POSTActivityMetricTimeEfficiency(self, client: 'NetworkClient', config_loade return None def GETEmployeeId(self, ID: 'str', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Return by ID an Employee""" # retrieve the Employee record from the database db_records = self.WorkforceManagement_persistence_controller.get_employee(ID = ID) @@ -383,7 +383,7 @@ def GETEmployeeId(self, ID: 'str', client: 'NetworkClient', config_loader, *args self.response.set_action("publish") def POSTSchedule(self, body: 'str', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Create a new Schedule""" # initialize Schedule builder domain_obj = self.Schedule_director.construct_from_json(body, config_loader) @@ -402,7 +402,7 @@ def POSTSchedule(self, body: 'str', client: 'NetworkClient', config_loader, *arg self.response.set_action("publish") def DELETESchedule(self, ID: str, client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Delete by ID a Schehdule""" db_records = self.WorkforceManagement_persistence_controller.get_schedule(ID = ID) domain_records: List['Schedule'] = [] @@ -421,7 +421,7 @@ def DELETESchedule(self, ID: str, client: 'NetworkClient', config_loader, *args, self.response.set_action("publish") def GETSchedule(self, client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Returns a list of all Schedules""" # retrieve the Schedule record from the database db_records = self.WorkforceManagement_persistence_controller.get_all_schedule() domain_records: List['Schedule'] = [] @@ -440,7 +440,7 @@ def GETSchedule(self, client: 'NetworkClient', config_loader, *args, **kwargs): self.response.set_action("publish") def PATCHSchedule(self, body: 'Schedule', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Unpdate by ID a Schedule""" # create the basic domain object from the json data self.Schedule_builder.build_empty_object(config_loader) self.Schedule_builder.add_object_data(body, Protocols.JSON) @@ -467,7 +467,7 @@ def PATCHSchedule(self, body: 'Schedule', client: 'NetworkClient', config_loade self.response.set_action("publish") def GETRegionId(self, ID: 'str', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Return by ID a Region""" # retrieve the Region record from the database db_records = self.WorkforceManagement_persistence_controller.get_region(ID = ID) @@ -489,7 +489,7 @@ def GETRegionId(self, ID: 'str', client: 'NetworkClient', config_loader, *args, self.response.set_action("publish") def GETScheduleId(self, ID: 'str', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Return by ID a Schedule""" # retrieve the Schedule record from the database db_records = self.WorkforceManagement_persistence_controller.get_schedule(ID = ID) @@ -529,7 +529,7 @@ def POSTActivity(self, body: 'str', client: 'NetworkClient', config_loader, *arg self.response.set_action("publish") def DELETEActivity(self, ID: str, client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Delete by ID an Activity""" db_records = self.WorkforceManagement_persistence_controller.get_activity(ID = ID) domain_records: List['Activity'] = [] @@ -548,7 +548,7 @@ def DELETEActivity(self, ID: str, client: 'NetworkClient', config_loader, *args, self.response.set_action("publish") def GETActivity(self, client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Returns a list of all Activities""" # retrieve the Activity record from the database db_records = self.WorkforceManagement_persistence_controller.get_all_activity() domain_records: List['Activity'] = [] @@ -567,7 +567,7 @@ def GETActivity(self, client: 'NetworkClient', config_loader, *args, **kwargs): self.response.set_action("publish") def PATCHActivity(self, body: 'Activity', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Unpdate by ID an Activity""" # create the basic domain object from the json data self.Activity_builder.build_empty_object(config_loader) self.Activity_builder.add_object_data(body, Protocols.JSON) @@ -594,7 +594,7 @@ def PATCHActivity(self, body: 'Activity', client: 'NetworkClient', config_loade self.response.set_action("publish") def GETActivityId(self, ID: 'str', client: 'NetworkClient', config_loader, *args, **kwargs): # pylint: disable=unused-argument - """TODO""" + """Return by ID an Activity""" # retrieve the Activity record from the database db_records = self.WorkforceManagement_persistence_controller.get_activity(ID = ID)