问题描述
- 急求考勤循环排班算法
-
给出一个循环周期的班次排班方案,如何按这个循环周期自动生成每一天的排班方案,数据库该如何设计,具体算法如何
解决方案
http://course.baidu.com/view/d125315e312b3169a451a4f1.html
解决方案二:
考勤排班算法和计算方式
http://jhnc.blog.163.com/blog/static/1365378200856112854897/
解决方案三:
oa系统设计---考勤系统算法
上网搜索了一下,大家基本上都不愿意公布自己的核心算法。这里整理下自己的思路,顺便把历史遗留问题解决以下(之前写的那套系统有些小小问题,需要专业人事才能维护) ,受不了整日的电话骚扰。
步骤:一,设定班次(以字母代号表示,包括正班打卡时间,正班打卡次数,上下班时间,有效打卡时间等)
二,排班(依据日期范围进行排班,这里感觉我的设置有些傻,我的做法是在DB中先建立一张排班表,根据日期范围以及排班规则生成每天对应的班次,然后将周休日期删除)
三,数据分析(感觉也很傻。这里我的做法是选择需要生成数据的日期范围,根据该日期范围结合排班表生成考勤报表,将每个员工每天应打卡时间填充到对应栏位。上班有效时间范围内取最小值,下班取最大值。遍历排班表,将加班人员对应打卡时间填入对应栏位。若员工正班时间内上班时间大于8小时则以8小时记录,不足8小时则遍历请假表,若有请假则将请假时数记录到对应栏位,否则记缺勤。)
四,统计分析(生成月报)
表达能力很差,很多都讲不出来。有需要源码的请留下mail。(ps,asp.net(c#)开发,两层结构,代码很乱,高手就不要了)
http://blog.csdn.net/dtdingtao/article/details/1518272
时间: 2024-10-27 12:01:17