比如定义的下午上班时间为 14:00
下午下班时间为 18:00而考勤机打卡记录为 
13:58  (实际上班时间)
17:00  (请假外出时间)
17:58  (请假归来时间)
18:10  (实际下班时间)怎样正确判断 上下班时间? 而不会将请假的时间认为是上下班时间呢?谢谢!

解决方案 »

  1.   

    两种解决方案
    1、忽略当中的数据,即Min(KQTime)为上班时间,Max(KQTime)为下班时间。对于当中的离开,可以忽略,也可以手工纪录进行操作。这样做可以屏蔽掉因为考勤机过于敏感,或者刷卡者误操作而造成的冗余考勤纪录。
    2、将当天纪录进行排序,奇数条记录作为开始工作时间,偶数条记录作为结束工作时间,每两条记录之间的差为该段工作时间长度,所有这些长度之和即为其当天的工作时间,比如8个小时。这样做可以精确计算其考勤管理,缺点是如果出现误操作将会大大影响数据统计的准确性。建议用第一种。
      

  2.   

    请假外出就别打卡了,我公司就是这样的,我写的程序支持web,很方便哦
      

  3.   

    多谢stame兄, 
    对于第一种方案,如何能够正确得到Min 和 Max呢?
    有的员工上上午下午班,那么考勤机起码是4条上下班记录
    有的员工晚上还加班,那么起码就是6条上下班记录。
    另外忽略中间的请假/外出记录似乎不可取,因为这些记录需要被管理员查询到的。第2种方案,只能统计出员工在厂的实际工作时间,不能判断迟到/早退/矿工啊。。
      

  4.   

    也多谢ipman兄
    本系统需要限制员工外出次数,查询请假记录的,所以不能这样啊。。