我已经开始考虑一个员工轮班管理应用程序来处理我当前工作场所的轮班(谁在什么时候工作,交易等)(使用笔和纸,而且无论如何我们员工都无法在不经过的情况下就变化进行沟通老板并在现场)。
目前,这些转变被松散地建模为:
- 有一个重复的 4 周周期(从周一第 1 周到周日第 4 周)
- 有一个模板可以在这 4 周内安排员工
- 每 4 个月(即每年 3 次)在接下来的 4 个月期间预测 4 周模板
很长一段时间以来,轮班都是一样的,似乎许多员工更愿意改变他们(我可以通过每次设定新的 4 个月时提出的变更请求来说明这一点)。
我的目标是模型:
- Shift_group_tpl(上面的 4 周)
- Shift_tpl(4 周内的单次轮班,包括有关谁默认在此轮班工作的信息)
- Shift_group(实际班次的设定时间段)
- 班次(具有实时时间段和员工的固定班次 - 以及在 start_time、end_time 和员工中都可以更改的可能性)
我已经想到了一种通过重复 iCalendar 事件执行此操作的方法:创建 RRULE(没有结束时间),然后计算(使用临时开始和结束时间)是否可以在真正的 Shift_group 中使用特定的 Shift_group_tpl。(这种方法的问题是我不知道如何修剪 Shift_group_tpl 以适应 Shift_group 的开头或结尾。)
我正在寻找的是其他一些观点或方法,甚至只是拍拍肩膀让我知道我在正确的轨道上(然后就修剪问题提供建议)。
/iole1