关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

基于数据处理技术的考勤加班时间统计

10月14日 圆通道投稿
  李鼎文徐昌欣郭伟
  中图分类号:C37文献标识:A文章编号:16741145(2018)820304
  摘要本文介绍了某公司考勤加班统计的规则、原始考勤数据进行预先数据处理的方法,文中依据考勤规则进行了统计,介绍了相应的统计代码,并通过编写的程序实现自动统计,最后文章介绍了应用效果。
  关键词考勤管理加班时间统计数据处理VB
  目前,企业在进行考勤管理的过程中,一般采用了考勤机来对考勤进行记录,并进行一系列考勤情况统计,比如迟到早退人员统计、旷工人数统计、请假情况统计、加班情况统计等,其中加班情况统计是经常进行的一种。在有的中小企业中,只有考勤机记录的初始记录,没有进一步的考勤统计分析软件,怎样利用考勤初始记录,进行考勤加班统计,是中小企业常常面对的问题。本人在工作中,利用VB编写小程序,通过对考勤初始数据的进行预处理,然后对加班情况进行统计,取代了手工进行考勤加班计算的状况,减轻了考勤统计人员的工作量,并提高了工作的准确性。本人将考勤加班统计的方法、部分源码及计算过程整理出来,以飨读者。
  一、考勤加班统计规则的设定
  为方便进行考勤管理,必须首先设定考勤规则,让员工有考勤依据,方能准确的打卡,知道自己的考勤情况。某企业中,对考勤加班统计规则设计如下:
  1。平时上班时间,每天5点半以后算下班,6点之后刷卡算加班。
  2。节假日全天可算加班。
  3。平时上班时间,加班超过2。5个小时以上,给予一次餐补。
  4。节假日加班,一次加班时间超过3个小时,给予一次餐补,7小时以上,两次餐补封顶。二、考勤原始数据处理某企业中,考勤刷卡的原始数据如下图所示,该数据是由考勤机的记录导出的excel数据。
  原始数据包括部门、姓名、考勤号、刷卡时间、记录状态、机器号等六个数据项。在进行考勤加班统计之前,需要对原始数据进行三个方面的预处理:1。去掉一次刷卡记录下来的多次刷卡记录。2。标注是正常上班时间还是节假日。3。取出正常上班时间超出18:00的刷卡数据,做為加班统计的依据。
  1。去掉多次刷卡数据,将刷卡数据间隔小于5分钟的数据去掉,即原始数据的间隔小于0。08的,删除后面的数据。代码如下:
  Fori1Tototalnum1Step1
  Ifsheetds。Cells(i,3)sheetds。Cells(i1,3)AndYear(sheetds。Cells(i,4))Year(sheetds。Cells(i1,4))AndMonth(sheetds。Cells(i,4))Month(sheetds。Cells(i1,4))AndDay(sheetds。Cells(i,4))Day(sheetds。Cells(i1,4))AndRound((Hour(sheetds。Cells(i1,4))Hour(sheetds。Cells(i,4))(Minute(sheetds。Cells(i1,4))Minute(sheetds。Cells(i,4)))6f),2)0。08Then
  pp1
  Else
  sheetds1。Cells(ip,1)sheetds。Cells(i,2)
  sheetds1。Cells(ip,2)sheetds。Cells(i,4)
  sheetds1。Cells(ip,3)sheetds。Cells(i,5)
  shretds1。Cells(ip,4)sheetds,Cells(i,3)
  p0
  2。对原始数据标注是平时上班时间还是节假日。首先通过人机界面确定哪些是休息日,再逐一标注,如果是平时刷卡数据第五列标注为0,如果是节假日刷卡数据第五列标注为1。代码如下:
  DoWhilesheetso。Cells(totalnum,3)统计记录条数
  totalnumtotalnum1
  Loop
  totalnumtotalnum1
  Fori2TotatalnumStep1
  sheetds。Cells(i1,1)sheetso。Cells(i,1)
  sheetds。Cers(i1,2)sheetso。Cells(i,2)
  sheetds。Cells(i1,3)sheetso。Cells(i,3)
  sleetds。Cells(i1,4)sheetso。Cells(i,4)
  sheetds。Cells(i1,5)0
  Forj1Tok1Step2
  IfDay(sheetso。Cells(i,4)a(j)Then
  sheetds。Cells(i1,5)1
  EndIf
  Nextj
  Nexti
  3。取出正常上班时间超出18:00的刷卡数据。
  Ifsheetds1。Cells(i,3)0AndHour(sheetds1。Cells(i,2))18Then平时刷卡时间过了18:00的记录
  sheetds2。Cells(ip,1)sbeetds1。Cells(i,1)
  sheetds2。Cells(ip,2)sheetds1。Cells(i,2)
  sheetds2。Cells(ip,3)sheetds1。Cells(i,3)
  sheetds2。Cells(ip,7)sheetds1。Celis(i,4)
  totalnum1totalnum11
  Else
  pp1
  EndIf
  EndIf
  Nexti
  三、依據统计规则对预处理后的数据进行计算
  1。以考勤号为关键字,统计当日休息时段刷卡的次数,及将刷卡次数累加计入第四列。
  Fori1Tototalnum1Step1计算打卡记录数
  If(Day(sheetds2。Cells(i,2)))(Day(sheetds2。Cells(i1,2)))And(Manth(sheetds2。Cells,2)))(Month(sheetds2。Cells(i1,2)))And(Year(sheetds2。Cells(i,2)))(Year(sheetds2。Cells(i1,2)))And(sheetds2。Cells(i,7)sheetds2。Cells(i1,7))Then
  bb1
  Else
  sheetds2。Cells(i,4)b
  b1
  EndIf
  Nexti
  2。依据刷卡次数区分奇数次和偶数次刷卡,并按平时加班及休息日加班分别对加班时间进行统计,并计算餐补。这一共有三种情况:
  (1)正常上班时间、休假时间的偶数次打卡,此时计算两次刷卡记录之差即为加班时间。然后分别按照正常上班时间和休假时间的餐补计算规则,统计餐补数量即可。即正常上班时加班时间超过2。5小时,给予一次餐补,休假时间一次加班时间超过3小时,给予一次餐补,7小时以上给予两次餐补,将餐补结果计入第6列。
  Fori1Tototalnum1Step1统计加班时间Ifsheetds2。Cells(i,4)And(sheetds2。Cells(i,4)Mod20)Then正常上班时间、休假时间,偶数次打卡
  sheetds2。Cells(i,5)0
  sheetds2。Cells(i,6)0
  Forj0Tosheetds2。Cells(i,4)2Step2
  sheetds2。Cells(i,5)Round((sheetds2。Cells(i,5)Hour(sheetds2。Cells(ij,2))Hour(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minute(sheetds2。Cells(ij1,2)))60),2)
  IfRound((HOUr(sheetds2。Cells(ij,2))Hoor(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minute(sheetds2。Cells(ij1,2)))60),2)2。5Andsheetds2。Cells(i,3)0Then统计餐补
  sheetds2。Cells(i,6)i
  Else
  IfRound((Hour(sheetds2。Cells(ij。2))Hour(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minute(sheetds2。Cells(ij1,2)))60),2)7Andsheetds2。Cells(i,3)1Then
  sheetds2。Cells(i,6)2
  EndIf
  IfRound((Hour(sheetds2。Cells(ij,2))Hour(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minute(sheetds2。Cells(ij1,2)))60),2)3AndRound((Hour(sheetds2。Cells(ij,2))Hour(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minnee(sheetds2。Cells(ij1,2)))60),2)7Andsheetds2。Cells(i,3)1Andsheetds2。Cells(i,6)2Then统计餐补
  sheetds2。Cells(i,6)sheetds2。Cells(i,6)1
  EndIf
  EndIf。
  Nextj
  (2)正常上班时间奇数次打卡,此时计算最后一次刷卡与17:30之差即为加班时间,然后依据加班时间和餐补规则计算餐补。
  Ifsheetds2。Cells(i,4)Andsheetds2。Cells(i,3)0And(sheetds2。Cell(i,4)Mod21)Then正常上班时间,奇数次打卡
  sheetds2。Cells(i,5)0
  sheetds2。Cells(i,6)0
  sheetds2。Cells(i,5)Round(Hour(sheetds2。Cells(isheetds2。Cells(i,4)1,2))17(Minute(sheetds2。Cells(isheetds2。Cells(i,4)1,2))30)60),2)
  Ifsheetds2。Cells(i,5)2。5Then統计餐补
  sheetds2。Cells(i,6)1
  EndIf
  Ifshellds2。Cells(i,4)1Then
  Forj0Tosheetds2。Cells(i,4)3Step2
  sheetds2。Cells(i,5)Round((sheetds2。Cells(i,5)Hour(sheetds2。Cells(ij,2))Hour(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minute(sheetds2。Cells(ij1,2)))60),2)
  IfRound((Hour(sheetds2。Cells(ij,2))Hour(sheetds2。Cells(ij1,2))(Minute(sheetds2。Cells(ij,2))Minute(sheetds2。Cells(ij1,2)))60),2)2。5Then统计餐补
  sheetds2。Cells(i,6)1
  EndIf
  Nextj
  EndIf
  EndIf
  (3)休假时间奇数次打卡,此时计算第一次刷卡与最后一次刷卡之差即为加班时间,然后依据加班时间和餐补规则计算餐补即可。
  Ifsheetds2。Cells(i,4)Andsheetds2。Cells(i,3)1And(sheetds2。Cells(i,4)Mod21)Then休假时间,奇数次打卡
  sheetds2。Cells(i,6)0
  sheetds2。Cells(i,5)Round((Hour(sheetds2。Cells(i,2))Hour(sheetds2。Cells(isheetds2。Cells(i,4)1,2))(Minute)sheetds2。Cells(i,2))Minute(sheetds2。Cells(isheetds2。Cells(i,4)1,2)))60),2)
  Ifsheetds2。Cells(i,5)3Andsheetds2。Cells(i,5)7Andsheetds2。Cells(i,6)2Then统计餐补
  sheetds2。Cells(i,6)sheetds2。Cells(i,6)1
  Else
  Ifsheetda2。Cells(i,5)7Then
  sheetds2。Cells(i,6)2
  EndIf
  EndIf
  EndIf
  EndIf
  Nexti
  四、依据得到的结果,制作报表计算每日加班时间和当月加班总时间,及每日餐补数和该月餐补数。程序如下:
  pk2
  Fori1Tototalnum1Step1制作报表
  Ifsheetds2。Cells(i,4)Then
  sheetds3。Cells(pk,1)sheetds2。Cells(i,1)
  sheetds3。Cells(pk,2)sheetds2。Cells(i,7)
  sheetds3。Cells(pk,3)DateSerial(Year(sheetds2。Cells(i,2)),Month(sheetds2。Cells(i,2)),Day(sheetds2。Cells(i,2)))
  sheetds3。Cells(pk,4)sheetds2。Cells(i,5)
  sheetds3。Cells(pk,5)sheetds2。Cells(i,6)
  pkpk1
  EndIf
  Nexti
  totaladdsheetds3。Cells(2,4)
  totalcountsheetds3。Cells(2,5)
  Fori2Topk1Step1
  if(sheetds3。Celts(i,2)sheetds3。Cells(i1,2))Then
  totladdtataladdsheetds3。cells(i1,4)
  totalcounttotalcountsheetds3。Cells(i1,5)
  Else
  sheetds3。Cells(i,6)totaladd
  sheetds3。Cells(i,7)totalcount
  totaladdsheetds3。Cells(i1,4)
  totalcountsheetds3。Cells(i,1,5)
  EndIf
  Nexti
  EndIf
  五、运行效果
  (一)程序界面
  通过人工输入休息日,来区分正常上班时间和节假日日期,点击加班统计即可进行统计计算。
  1。统计过程。
  通过不断建立Worksheet,逐层递进得进行计算,最后得到最后的统计结果。
  (1)标注是平时工作日还是节假日。
  (2)去掉时间间隔小于5分钟的数据并取出正常工作日18:00以后的数据。
  (3)计算当日刷卡次数,并统计加班时间及餐补。
  (4)最终统计结果。
  六、应用效果
  该统计软件已经在某公司稳定运行了一段时间,减轻了考勤统计人员的工作量,提高了统计的准确性,保障了公司的考勤管理工作的稳定运行,取得了较好的管理效能。
  参考文献:
  〔1〕唐勇。RFID身份识别考勤系统设计〔J〕。2013(6)。
  〔2〕刘宇。基于WEB的企业定制考勤系统的设计与实现〔J〕。2013(11)。
  〔3〕杨洋。基于NET的人事考勤管理系统的设计与开发〔J〕。2011(6)。
投诉 评论 转载

浅谈加强职工安全素质教育的方法和途径摘要:安全管理工作的好坏,首先是领导重视,这是搞好安全工作的关键;其次是强化安全素质教育,这是安全管理工作的基础;然后是加强现场的监管,这是搞好安全工作的保证。其中职工的安全素……潍坊市四项制度推进事业单位诚信体系建设一、健全登记管理制度,夯实诚信建设基础。一是严格执行法人登记准入制度,建立完善了现场核查、财务审验、印章管理等工作制度,目前,市直420家事业单位已依法登记312家。二是制定了……浅谈如何提升政工干部的思想政治素质摘要:提高政工干部素质,发挥思想政治工作作用,为企业持续稳定发展保驾护航是一项主要任务。关键词:思想;政治;素养在新形势、新任务下,各级党组织要深刻认识加强企业党建……价值成长是中国寿险业的必然趋势国务院新国十条为中国保险业发展提供了前所未有的新机遇。在当前市场化改革持续深入,行业竞争日趋激烈的背景下,友邦保险摒弃传统的以规模、保费扩张为主的粗放式险企增长模式,逐渐向以新……轴承套圈圆柱表面车加工刀具改进【摘要】当前,随着社会经济的快速发展,社会各界对于机械工业的生产提出了更高的要求,这就需要更高端、更精细的机械设备来支撑。轴承作为当前接卸设备中一种重要的零部件,在支撑机械旋转……基于数据处理技术的考勤加班时间统计李鼎文徐昌欣郭伟中图分类号:C37文献标识:A文章编号:16741145(2018)820304摘要本文介绍了某公司考勤加班统计的规则、原始考勤数据进行预先数据处理……关于加快我国专利技术转化的法律对策研究摘要:专利技术转化对我国经济发展有着重要意义,如何促进专利技术转化是我国目前亟待解决的问题,本文从专利技术转化率、税收优惠制度以及风险投资三个方面展开论证,深刻剖析我国目前在法……菲律宾的机会蓝海白沙,蕉香椰影是菲律宾给我们留下的美好印象,而如今这个文化多元丰富的美丽太平洋岛国,正在中菲两国的交流之路上迈出更为坚实的步伐。菲律宾这个国家的名字,也许并不会在日常……来生谁是我可以轻轻牵绕依缠的树来生,谁是我可以轻轻牵绕依缠的树。这一世我本是一棵藤,却倔强的长成了一棵树,且努力的向上在向上,将所有的温柔与缠绵藏这一世,我是一棵树,来生,我为一棵藤,为你尽情的……年微信个性签名终有一天你会回来春暖花开一、我们把心给了别人,就收不回了,别人又给了别人,爱便流通于世。二、爱上一个人并不难,难的是看清楚了一个人,却仍然爱着他。三、时光匆匆,从不带走什么,也不留下什么。……经典导读投资真规则一成功投资股市点击上方吕半仙的投资笔记,去年关注我们的朋友都赚钱了!前言《股市真规则》这本书大概在2012年一知半解地看完,今天突然想拿出来翻看,发现这本书变得很薄,现在平时里的……女人的起床习惯泄漏内心早上起来的人,有的心情好好,给自己留够时间干这干那;有的则不到最后一分钟不起床,最后匆忙赶车。这些细节反映了一个人的内在性格。小习惯1:按掉闹钟继续赖床如今的家庭大……
蓓天翼龙最原始的翼龙目长厘米出土于意大利古代皇帝点名殉葬的妃子不想死会怎样霜降茶语秋读西厢伴美人为什么人们会在工作中哭泣父亲节应该怎么过手被螃蟹夹了怎么办学校党支部年上半年党建工作总结暑假实习个人工作总结精选多篇浅谈高中英语常见语法错误企业思想政治工作沟通的艺术新时期国有企业工会女工工作浅谈试论自动化仪表在煤化工行业的应用

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州