我正在编写一个C#程序来处理调度。现在,每个员工都需要在他们的时间表前的能力有局限性:员工限制
萨利只能从9 am-3pm周一上班,周三,周五
比利只能从5 pm-9pm工作周二,周四,周日
萨利只能从9 am-3pm 工作周一,周三,周五至某某日期,然后她可以工作一组不同的时间和日期。
这些是我需要应用于每个员工对象的一些限制示例。我想要的是关于如何尽可能有效且一般地构建这些建议的一些建议。显然我必须能够访问这些数据并能够应用这些限制。例如,当经理试图制定时间表时,他需要能够看到当他周四在4点安排萨利时,他们是一个问题。另外我应该如何存储每个员工的这些数据?
基本上是一个不错的设计 - 但 - 我会反转这个让“时间”是您存储的东西。这毕竟是你真正感兴趣的。位图看起来很有吸引力,但最终会成为一个真正的痛苦。我可能会将它作为emp,available_from,avalable_to存储在数据库中。这可以让管理员查询“在Satautday Afternoon下的whos”,而且bitmaps只能给你一个在这里或者不在这里的数据,存储在一个db中给你提供了更多的选项,比如在紧急情况下可以使用的时间表。 – 2009-08-28 02:23:55
我的例子是任何模式,你可以存储任何东西,考虑到时间比时间更常见,我还没有看到任何存储可用性数据的调度系统,关键是不使用绝对数据。 – Kelsey 2009-08-28 03:09:14