求一考勤班次算法,望高手赐教

leohuang 2007-01-18 07:28:54
我定义了如下3个班次

A01
包括两个时间段,
上班 下班
1、08:30 - 12:00
2、13:00 - 17:30

A02
也包括两个时间段,
上班 下班
1、当天21:30 - 当天23:30
2、第二天00:30 - 第二天08:30

A03
包括一个时间段
上班 下班
00:00-08:30

这个员工可能上这三个班次的其中一个,怎么根据打卡信息分析出他上哪个班次啊

打卡信息是这样的,(有忘记刷卡的可能)
工号 日期 时间
001 2007-1-1 12:02:00
001 2007-1-1 12:31:51
001 2007-1-1 17:35:11

望高手给个比较好的算法,不胜感激,多谢
...全文
1184 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyx714 2009-02-02
  • 打赏
  • 举报
回复
楼主现在解决了吗? 我也遇到这样的问题,一直没有好的解决方法
yanjun0426 2008-07-21
  • 打赏
  • 举报
回复
我现在也遇到这个问题,刷卡时间有交叉现象,根据四次打卡信息,判断早班也行,判断晚班也行,好在他们都有加班,都要加班单,才解决这个问题,不然,惨啦
lqwxfdwj 2008-03-09
  • 打赏
  • 举报
回复
根据班段的开始时间和结束时间来找打卡记录表中的信息.如果有就是该班的打卡,反之亦反.
Andy-W 2007-06-12
  • 打赏
  • 举报
回复
楼主问的与我想找的一样,
自动匹配班次问题,一直在寻找这方面的算法。
目前我使用折中的算法,对于跨天班次比较麻烦。
leohuang 2007-01-29
  • 打赏
  • 举报
回复
再顶
leohuang 2007-01-23
  • 打赏
  • 举报
回复
顶一下,看还有高手来吗
zxt129 2007-01-19
  • 打赏
  • 举报
回复
搞不懂為什麼要“根据打卡信息分析出他上哪个班次啊”?這有什麼意義?你只是為了考人吧?如果某人隨便打卡(比如三個班都打卡)呢?是不可能分析出來的,你認為呢?
wanghu9999 2007-01-19
  • 打赏
  • 举报
回复
一直在想这个问题
希望高手指点
赢光小虾米 2007-01-19
  • 打赏
  • 举报
回复
忘记刷卡了,怎么会知道他上哪个班次啊??????
他要是提前打,怎么办啊,是不是上下办都打啊.
asuan 2007-01-19
  • 打赏
  • 举报
回复
其实还有一种更复杂的情况,上夜班的情况,打卡时间是跨天的。比如:20:00 - 08:00
teayear 2007-01-19
  • 打赏
  • 举报
回复
先分析算法,给出可能所有正常情况和异常情况
lin6234123456 2007-01-19
  • 打赏
  • 举报
回复
UP
有点意思!
duncansun 2007-01-19
  • 打赏
  • 举报
回复
帮你顶呀!
leohuang 2007-01-19
  • 打赏
  • 举报
回复
哪位大侠给个代码啊

伪代码也行
kaiyun97 2007-01-19
  • 打赏
  • 举报
回复
对考勤记录不成双成对出现的列为异常,你可以设置相应的规则,就是出现此异常时,你的班次可以用默认的一个,那样就好计算出勤情况
szj820 2007-01-19
  • 打赏
  • 举报
回复
多年前就搞过自动考勤系统,一直认为这是个大难题,个人比较认同kason_j(伊松)的说法,对考勤记录不成双成对出现的列为异常,人工判别或加输补打卡模块(类似平常的补卡让领导签字)
GXY2005 2007-01-19
  • 打赏
  • 举报
回复
没时间仔细看:
但提示你先考虑正常打卡算法
再考虑漏打,由于你2,3时间段重合你漏卡那很多情况,可能要程序检测出异常后人工修复!
glacier111 2007-01-19
  • 打赏
  • 举报
回复
mark
ou108 2007-01-19
  • 打赏
  • 举报
回复
考勤問題復雜
mark
leohuang 2007-01-19
  • 打赏
  • 举报
回复
楼上的想法挺好,不过,如果这个人偏偏8点左右或者17点半左右没有打卡,就分析不出来了

打卡上班和下班有一定的时间容错,我现在是保存在数据库里,也可以是一个常量,这个不重要,只要有这么个数就可以了

比如说允许提前一个小时打上班卡或者推迟1个小时打下班卡
加载更多回复(19)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧