班次需求:周一至周五每日2个班次,共计10个班次。周六、日每日1个班次,共计2个班次。合计12个班次。 因为共计3个人,故每人每周上4天班即可。 设A班为早9晚5,B班为早8晚6。 如果不考虑特别平均,即可如下一周一循环: 周一 周二 周三 周四 周五 周六 周日 1 A A B B 休 休 休 2 B B 休 休 A 休 B 3 休 休 A A B B 休如果考虑特别平均,即需要如下三周一循环: 周一 周二 周三 周四 周五 周六 周日 周一 周二 周三 周四 周五 周六 周日 周一 周二 周三 周四 周五 周六 周日 1 A A B B 休 休 休 B B 休 休 A 休 B 休 休 A A B B 休 2 B B 休 休 A 休 B 休 休 A A B B 休 A A B B 休 休 休 3 休 休 A A B B 休 A A B B 休 休 休 B B 休 休 A 休 B
建一张人员表
建个值班表
然后搞个维护界面就可以了,界面主体可以用个DataGridView,
列不要用DataGridViewTextBoxColumn用DataGridViewCheckBoxColumn,列标头是周一到周末,
行标头是12个人 在搞个combobox数据源是值班类型(例如:combobox选择白班,第一个人勾选周一,周二,第二个人勾选....)
或者
行标头是值班类型 combox数据源是12个人 (例如:combobox选择张三,勾选周一白班,周五晚班)不知道这个思路LZ可明白?
因为共计3个人,故每人每周上4天班即可。
设A班为早9晚5,B班为早8晚6。
如果不考虑特别平均,即可如下一周一循环:
周一 周二 周三 周四 周五 周六 周日
1 A A B B 休 休 休
2 B B 休 休 A 休 B
3 休 休 A A B B 休如果考虑特别平均,即需要如下三周一循环:
周一 周二 周三 周四 周五 周六 周日 周一 周二 周三 周四 周五 周六 周日 周一 周二 周三 周四 周五 周六 周日
1 A A B B 休 休 休 B B 休 休 A 休 B 休 休 A A B B 休
2 B B 休 休 A 休 B 休 休 A A B B 休 A A B B 休 休 休
3 休 休 A A B B 休 A A B B 休 休 休 B B 休 休 A 休 B