Skip to content

(fix) O3-5638: Remove cashier timesheet feature since it's no longer used - #164

Open
solomonfortune wants to merge 5 commits into
openmrs:mainfrom
solomonfortune:feature/remove-timesheet-feature
Open

(fix) O3-5638: Remove cashier timesheet feature since it's no longer used#164
solomonfortune wants to merge 5 commits into
openmrs:mainfrom
solomonfortune:feature/remove-timesheet-feature

Conversation

@solomonfortune

@solomonfortune solomonfortune commented Apr 30, 2026

Copy link
Copy Markdown

Summary

This PR removes the cashier timesheet functionality from the billing module as the feature is no longer in use. The module is now focused purely on billing and payment management.

Closes: O3-5638

Changes Made

Deleted Files

  • ITimesheetService.java - Timesheet service interface
  • TimesheetServiceImpl.java - Timesheet service implementation
  • Timesheet.java - Timesheet domain model
  • AutoCloseTimesheetsTask.java - Scheduled task for auto-closing timesheets
  • TimesheetRequiredException.java - Timesheet exception class
  • TimesheetUtil.java - Timesheet utility class
  • TimesheetResource.java - REST resource for timesheets
  • TimesheetSearchHandler.java - REST search handler for timesheets
  • TimesheetEntryValidator.java - Timesheet entry validator
  • CashierController.java - Cashier clock-in/out controller
  • CashierLogoutFilter.java - Filter that clocked out cashiers on logout
  • ITimesheetServiceTest.java - Timesheet service tests
  • TimesheetTest.xml - Timesheet test dataset

Modified Files

  • Cashier.hbm.xml - Removed Timesheet Hibernate mapping
  • moduleApplicationContext.xml - Removed timesheet Spring bean definitions
  • config.xml - Removed timesheet privileges and global properties
  • liquibase.xml - Added changeset to drop cashier_timesheet table
  • messages.properties - Removed timesheet message keys
  • ModuleSettings.java - Removed timesheet-related constants and settings
  • CashierOptions.java - Removed timesheetRequired field
  • CashierSettings.java - Removed timesheet and shift report fields
  • PrivilegeConstants.java - Removed timesheet privilege constants
  • CashierOptionsServiceGpImpl.java - Removed timesheet options loading
  • BillResource.java - Removed timesheet-based cash point resolution
  • BillAddEditController.java - Removed timesheet validation on bill creation
  • CashierModuleSettingsController.java - Removed timesheet settings endpoint

Testing

  • Build passes: mvn clean install -DskipTests

Notes

  • The cashier_timesheet database table will be dropped on module startup via the new Liquibase changeset
  • Cash point must now be explicitly set when creating a bill

: Remove cashier timesheet feature
@NethmiRodrigo

Copy link
Copy Markdown
Contributor

@solomonfortune please look into the failing jobs

@solomonfortune

Copy link
Copy Markdown
Author

@solomonfortune please look into the failing jobs

@NethmiRodrigo let me work on that

@solomonfortune

Copy link
Copy Markdown
Author

@NethmiRodrigo @wikumChamith
Hope all is well with this PR now

@wikumChamith

Copy link
Copy Markdown
Member

@NethmiRodrigo @wikumChamith Hope all is well with this PR now

Can you resolve the merge conflicts and also take a look at the three new issues Sonar is pointing at?

dkayiwa added a commit that referenced this pull request May 21, 2026
The broader timesheet feature is being removed in PR #164 (cashier HR
concern, not a billing concern), so indexing timesheets into the
querystore would ship a resource type whose source data is about to
disappear.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@solomonfortune

Copy link
Copy Markdown
Author

@NethmiRodrigo @wikumChamith Hope all is well with this PR now

Can you resolve the merge conflicts and also take a look at the three new issues Sonar is pointing at?

@wikumChamith I have tried to sort these issues out

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants