oa系统设计---考勤系统算法

上网搜索了一下,大家基本上都不愿意公布自己的核心算法。这里整理下自己的思路,顺便把历史遗留问题解决以下(之前写的那套系统有些小小问题,需要专业人事才能维护) ,受不了整日的电话骚扰。

步骤:一,设定班次(以字母代号表示,包括正班打卡时间,正班打卡次数,上下班时间,有效打卡时间等)

   二,排班(依据日期范围进行排班,这里感觉我的设置有些傻,我的做法是在DB中先建立一张排班表,根据日期范围以及排班规则生成每天对应的班次,然后将周休日期删除)

   三,数据分析(感觉也很傻。这里我的做法是选择需要生成数据的日期范围,根据该日期范围结合排班表生成考勤报表,将每个员工每天应打卡时间填充到对应栏位。上班有效时间范围内取最小值,下班取最大值。遍历排班表,将加班人员对应打卡时间填入对应栏位。若员工正班时间内上班时间大于8小时则以8小时记录,不足8小时则遍历请假表,若有请假则将请假时数记录到对应栏位,否则记缺勤。)

   四,统计分析(生成月报)

表达能力很差,很多都讲不出来。有需要源码的请留下mail。(ps,asp.net(c#)开发,两层结构,代码很乱,高手就不要了)

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值