Commit Graph

56 Commits

Author SHA1 Message Date
Ross 116cc1af64 . 2025-12-08 22:45:10 +00:00
Ross 4a8c478a73 Add allow_self option to PostShiftConstraint and PreShiftConstraint for flexible shift assignment 2025-12-08 17:47:19 +00:00
Ross 3f4d8068eb Add max days per week block constraint and exclude days for shift constraints 2025-09-18 21:00:31 +01:00
Ross 331d57dd8f Enhance leave request handling and improve error logging in RotaBuilder 2025-09-17 22:25:28 +01:00
Ross e1aec5011c Add option to allow force assignment with leave conflict in RotaBuilder 2025-09-17 21:35:52 +01:00
Ross 47bfb16891 Refactor logging implementation to use Loguru for improved logging management and add warnings for unknown leave values and worker site validation. 2025-09-17 21:21:23 +01:00
Ross 3b3d432694 Refactor RotaBuilder export functionality and enhance display of run times with improved layout 2025-08-11 16:31:27 +01:00
Ross b72d33189c Add ignore_shifts parameter to PostShiftConstraint and PreShiftConstraint 2025-08-11 13:56:43 +01:00
Ross 76f3b48c1d Refactor shift constraints in tests to use new constraint classes
- Updated test cases in `test_workers.py` to replace dictionary-based constraints with instances of `PreShiftConstraint`, `PostShiftConstraint`, and `MaxShiftsPerWeekConstraint`.
- Added a new test `test_worker_assign_as_block_preference2` to verify worker preferences for block assignments.
- Marked tests as slow where appropriate to improve test suite performance.
2025-08-11 13:03:08 +01:00
Ross d7bcfce78c Implement hard day exclusions for workers and add corresponding tests 2025-08-10 22:00:31 +01:00
Ross 48710f50e8 Enhance Rota Management System
- Updated .gitignore to exclude 'cons/' directory.
- Refactored gen_cons.py to extract leave and rota assignments from calendar data, and added functionality to handle shift assignments from rota data.
- Modified timetable.css to include styles for force-assigned shifts.
- Enhanced shifts.py to manage forced assignments and handle leave conflicts, including new methods for date-based assignments.
- Updated workers.py to introduce structured hard day dependencies and exclusions, allowing for more flexible scheduling.
- Adjusted test_workers.py to reflect changes in hard day dependency and exclusion methods, ensuring compatibility with new data structures.
2025-08-09 22:11:39 +01:00
Ross 6bd47ba5b4 Add forced shift assignment functionality for workers and update tests 2025-08-08 08:23:42 +01:00
Ross adccf8211c fix min summed shifts 2025-06-30 09:23:33 +01:00
Ross 48d6b748d1 fix the weekend count for multishits 2025-06-22 22:34:05 +01:00
Ross 2443ac285b fix a few more things 2025-06-22 22:20:52 +01:00
Ross 82bc624a33 a few more fixes and improvements 2025-06-22 11:48:33 +01:00
Ross 8402cc92fd fix bug with pre / post shift constraints 2025-06-22 10:53:17 +01:00
Ross fc3102ec47 numberous fixes and improvements 2025-06-22 09:38:03 +01:00
Ross 06a551bb68 a lot of changes 2025-06-21 11:45:58 +01:00
Ross d7e5f9e5f1 numerous improvemts 2025-06-08 14:00:15 +01:00
Ross ad75b6b8b5 fix multishifts 2025-06-07 13:02:45 +01:00
Ross b81570f457 basic multishift per day assignement 2025-06-06 22:36:58 +01:00
Ross a647416720 major test refactoring 2025-06-05 23:40:28 +01:00
Ross e46c24df88 add custom display char for shift 2025-06-05 21:59:26 +01:00
Ross 242a664f49 ... 2025-01-25 08:49:14 +00:00
Ross 8459a4b3a9 start adding locum availability 2025-01-20 10:56:47 +00:00
Ross 7ce4677921 add worker requirements 2025-01-01 21:58:48 +00:00
Ross 9af01a3415 fix shift solver (objective didn't seem to be used) 2024-12-31 22:51:26 +00:00
Ross f0b9ee0ebc start working on shift paring balancing 2024-12-26 16:39:04 +00:00
Ross 1ed5f4fbcd work towards paring of shifts 2024-12-24 10:41:46 +00:00
Ross 70dc279a02 update from last round 2024-12-23 16:56:53 +00:00
Ross a7e1fa7171 numberous fixes 2024-01-07 17:52:36 +00:00
Ross 3d064a75b9 add shift worker names constraint 2023-12-27 19:12:08 +00:00
Ross 7235b05840 . 2023-06-22 22:02:13 +01:00
Ross 97b3d938bb . 2023-06-22 21:02:18 +01:00
Ross cbbdc8d318 . 2023-06-22 20:56:19 +01:00
Ross d8cbfe2176 . 2023-06-19 17:24:16 +01:00
Ross 01f0ba6da6 . 2023-06-19 14:26:13 +01:00
Ross b9edf36103 continue fixing tests for scip 2023-05-28 09:01:35 +01:00
Ross 3f78ecc671 update a few things 2023-05-23 14:48:12 +01:00
Ross 0179ed410a . 2023-01-23 14:37:09 +00:00
Ross aaa10d5fb8 update for new run 2023-01-16 16:28:57 +00:00
Ross 7ef0c191d7 e 2022-07-27 07:49:34 +01:00
Ross 5b31a01546 . 2022-07-16 19:50:18 +01:00
Ross fecddb2db1 . 2022-07-14 14:51:11 +01:00
Ross 8f8e5a2a28 more updates 2022-07-14 12:12:50 +01:00
Ross 8b7af25238 . 2022-07-13 19:30:14 +01:00
Ross dc975b991c many improvements 2022-07-11 19:46:40 +01:00
Ross 0cebbfddf6 pre repalce 2022-05-26 15:56:28 +01:00
Ross c9ba2a098c start pydanitification 2022-05-26 15:38:35 +01:00