人力资源工作实操(人事、HR)人力资源管理

只有U盘导出数据的考勤机二次开发日记

2016-10-27  本文已影响119人  书亚工作室

单位最近新买了一套指科密纹考勤机。

由于种种原因。买了个功能很少的。只有U盘可以导出数据的考勤机。

前几天领导说,要统计上个月15日到这个月15日的考勤数据。

研究了好久,发现只能按月导出报表!

问领导拿1日到31日的是否可以。领导说工资是算15日的。我那个内牛满面啊。。。。

不过好在以前做过考勤机的二次开发。算是有点熟悉。还好自己也算是写过N年代码的老司机了,这个东西还难不倒我。

===========开发思路=============

因为U盘能导出数据。同时也能导出所有的考勤记录。

有这些记录,我就有希望把它导入到数据库,然后进行各种统计和筛选。之后想要怎么统计,都随便了。

===========开发过程==============

1、导出打卡数据

打开考勤机,插入U盘。然后操作导出我需要的时段的打卡记录。(导出的名字是agl_000001.txt 我导出另外一个打卡机名字也是类似aglXXXX.txt)

agl_000001.txt 的内容格式大概是这样的。

简单写了个读取程序。用tab进行分割。

很顺利,它的内容格式确实是这个。

000001(自增ID)1(考勤机编号)0000000003(人员编号)名字1(人员名字)020(不知道是啥)001(不知道是啥)2016/10/01  07:53:57(考勤时间)

对我来说,我只需要人员编号、考勤时间。就足够我的要求了。

然后拿了另外一台没有写牌子的考勤机,也导出了一下数据,哈哈,格式居然是一样的。猜想可能基本上的考勤机都可以通用吧。以后随便人家买什么牌子的了。

2、数据处理

我需要自己重新写一套计算打卡和迟到早退的算法。

最大的问题在于如何判断上班还是下班时间。采用了打卡时间段的方法。

上午上班打卡时间6:00——10:00之间的都算上班打卡

10:01——13:00 都算下班打卡。以此类推,就能很好的区分上下班时间。

假设上午上班时间8:00

6:00——8:00 打卡都算正常签到

8:01——10:00 打卡都算迟到

由于领导有些特殊要求

如果一天都没打卡算旷工。有打卡都算有来上班。

上午下班不用打卡。

周六上半天班,周六上午下班要打卡。

所以又写了一些规则进去。

3、大功告成

上班时杂事比较多,断断续续的弄了几天,终于写完了,验证一下数据。抽取了一个人员进行测试。

配置的时间规则如下:

通过跟踪断点,进行一个一个验证。

4、写在最后

由于我们单位的规则比较特别,如果您的需求和我这边一样。这个小软件就送您了。

假如不一样,您有需要特别定制的,欢迎联系我Joshua_Studio@163.COM 。

但是事先声明,定制是收费的哈。

最后附上程序。

http://u.163.com/dQu7dmYb  提取码: EJu0Z83s

上一篇下一篇

猜你喜欢

热点阅读