考勤倒班算法.docx
- 文档编号:1387701
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:8
- 大小:21.83KB
考勤倒班算法.docx
《考勤倒班算法.docx》由会员分享,可在线阅读,更多相关《考勤倒班算法.docx(8页珍藏版)》请在冰豆网上搜索。
考勤倒班算法
考勤倒班算法
篇一:
考勤计算说明
考勤说明
发酵车间各位同事:
你们好,关于考勤工时问题特作以下说明解释:
1、正班=本月天数-年假/探亲假/工伤/事假/病假/婚假/丧假/产假陪护
2、每月每人应上班工时以常白班工时为准,如本月30天,4天周末休息那么本月每人应上工时=(30—4)天*8.5h=221h
3、倒班人员上班工时算法:
因我车间倒班模式为白、夜、休,如本月30天则上班天数为20天
那么倒班员工工时=20天*12h=240h
4、倒班加班小时=倒班人员本月实际上班小时(240h)-常白班上班小时(221h)=19h
5、倒班人员休假时工时算法:
年休假、探亲假;休假多少天会在正班天数相应减少多少天,但是对工资不会有任何影响。
因年休假、探亲假为带薪休假,那么,倒班人员在年休、探亲假时工时为:
8.5h/天,而非12h/天,如休一天年休时,考勤例如以下:
倒班加班计算公式为;
倒班加班工时=19天*12h+1天(休)*8.5h-221h=15.5h休假天数更多时,按以上算法套用即可。
事假、病假及其他假;
例如下:
为一位倒班人员出勤
计算公式;
正班天数=30(本月天数)-1(请假天数)=29天
本月出勤总工时=(20天(倒班本应出勤)-1(请假天数))*12=228h倒班加班工时=228h-221h=7h
所以只要是未出勤,工时就会减少,并非扣除工时,而是请假人员本身就没有出勤。
以上为考勤基本计算方法,各位同事如果还有其他疑问,请提出,我们会再作解释,谢谢!
篇二:
考勤软件算法实现方法
考勤软件算法实现方法
一.问题的引出
众所周知,考勤是企业的薪酬计算、业绩考核的一个依据,也是对员工工作的积极性的一个重要的评价基础,企业的考勤是人力资源管理的最重要的一环。
企业特别是制造业的考勤管理制度的优越性和公平性体现了企业的活力和人性。
特别是对于我国的广大制造业,他们的考勤特点有:
排班随机多变、班次多、待料停工等突发事件多。
我们认为一套好的考勤管理软件应该能有比较好的灵活性和易操作性,能为企业提供一定的考核评价参考依据。
在我们收集了目前市场上的多套考勤软件进行分析和操作后认为总体上的设计目标是为了实现企业的高效管理,但在实现上却缺少灵活性和通用性,在一般的商业企业有比较好的解决办法,但在制造业却有一定的缺陷性。
其中一部分只能在一些商业企业使用无法满足制造业多变和灵活的需求。
我们希望在此提出一种实用可行的解决办法的探讨:
如何设计一套有效的灵活的考勤结果判断思路,并通过软件的自动计算完成考勤结果计算和统计。
该方法我们已经应用在《博特考勤、工资、人力资源管理软件》的考勤模块的设计上,获得较大的成功。
二.提出处理的基本功能要求
什么叫迟到,什么叫严重迟到,什么叫旷工,这些我们都可以让用户自由定义。
比如上班后5分钟内叫迟到等,5~10分叫严重迟到等。
班次的数量和参数提供用户自定义。
除了各种正班外,必须能支持3大类加班(平时加班、法定假加班、公休假加班)和弹性上下班(允许任意时间的上下班,只计算实际的出勤时间)。
在班次的属性中可以设置该休息时间、是否可以默认上班不打卡或下班不打卡、允许提前上班打卡和延迟下班的打卡范围。
还必须考虑提前加班(上班前就来加班)、直落加班(下班后不打卡继续加班直到加班结束离开才打卡)、正班长度(超过部分自动算入加班)等各种所需的参数。
个人排班管理
作为排班操作的方便性及个性化,我们建议给该功能增加一个批处理功能,只要排好其中的一个人,其他人可以采用“跟”的方式进行部分或整体的拷贝。
这样能有效地提高操作人员的工作效率。
作为整个部门的排班操作,该功能能为企业操作提供最大限度的方便性。
是对部门或班组进行整批排班的最大优化。
轮班和倒班在生产性企业中是很普遍的,该功能的目标是给操作人员有效降低手工重复操作,提高工作效率。
假期管理
企业员工的请假单的录入界面。
三.班次结果计算的处理方法
在我们进行了正确的排班、打卡,有了假单等一些数据后,我们便应该考虑考勤结果的计算产生流程。
打卡点的判断跨天的处理,在搜寻打卡点的过程中我们必须考虑跨天的问题,因为在企业中跨天(凌晨0点)的夜班是很正常的。
如果不能实现跨天的计算问题,那么设计出来的软件也不能满足我们设计的目标即灵活性和适应性的要求。
同时我们还必须考虑打卡的时间落在休息段之间的处理。
上班点的获取
我们原则上是取第一次有效的打卡点,即从应上班点开始向前搜索至该班次的有效打卡参数控制范围内出现的第一次打卡点。
如果在该时间范围内无打卡点,应自动向后回溯到从应上班后至应下班为止的的第一次出现打卡点。
如果无打卡点则可以判断为旷工。
下班点的获取
我们原则上是取下班后的第一次有效的打卡点,即从应下班点开始向后搜索至该班次的有效打卡参数控制范围内出现的第一次打卡点。
如果在该时间范围内无打卡点,应自动向前回溯到从应下班至应上班为止的的第一次出现打卡点。
如果无打卡点则可以判断为旷工。
假期的处理
在假期的处理中我们仍然必须考虑跨天的问题,同时必须考虑各种可能,比如,请假时间落在休息段内的处理,请假始结时间与打卡时间之间的关系处理等。
班前请假:
请假时间从应上班开始,以请假结束时间为准,在请假结束时刻或前如果无打卡时间则应把缺勤的时间标记出来。
班后请假:
请假时间从应下班前开始,以请假开始时间为准,在请假开始时刻或后如果无打卡时间则应把缺勤的时间标记出来。
班次中间请假
该类请假,直接从出勤时间中扣除请假时间长度,并标识出来。
长期请假
以整个假单为准覆盖整个班次,比较多见的多天的请假,比如婚假、生育假等。
考勤结果的判断
从以上整理资料看我们基本上可以在此根据考勤规律的定义生成考勤结果,通过时间长度来判断上下班是正常还是异常(迟到、早退、旷工等各种定义的项目)。
班次出勤时间的计算
长度计算
原则上以班次长度除去缺勤(包含各种假期)的部分时间后我们就能得到实际的上班长度,但实际上我们还必须根据班次代码的定义扣除各种休息时间以及其他各种定义比如正班长度的设置等,其中最重要的是必须考虑提前加班和直落加班的计算等。
取整的计算
作为企业不一定就将实际的出勤时间作为员工在岗时间,一般会以30分钟活60分钟作为计算单位,我们还必须考考勤结果数据的取舍问题。
根据经验,一般是正班计算单位长度和加班的计算单位长度是不一样的(比如以30分钟或15分钟),我们应允许用户自定义。
取得的效果
高效率
我们将《博特考勤》在一些企业中运用的表现来看,初期系统导入阶段操作人员工作量比较大,因为他们必须熟悉各种班次并结合生产的需要设置定义参数,当然该工作必须有生产部门的配合和支持。
在系统正常运行后,基本上按照3000人的企业生成一个星期大约为36000条考勤记录、60000条考勤数据的计算来看大约在3~20分钟,这主要决定于后台服务器的性能、本机的性能以及网络的速度等,cPU花费的时间主要集中在打卡点的判断上。
目前全国有数百家企业在使用该系统软件,从普遍的反映来看结果是另人满意的,代替了原来手工统计的工作。
数据准确
从生成的结果来看都符合我们的设计目标。
能有效分辨出迟到、早退、旷工、以及各种假期,准确计算各人各个班次的出勤情况。
但由于在操作过程中难免有操作人员的操作失误(比如排错班、输错了请假单)引起的考勤异常。
我们建议设计一些异常分析表,针对异常结果数据进行处理,这样就能帮助操作人员在较快的时间内人工检查到问题的原因。
广州市南日电脑电子技术有限公司020-********
班次可以任意设置,班次包含2个休息点,1个停工段,班次可以设置限定时间长度日班次排班不限制班数
完全区分3类加班班
弹性上下班的设置,不限制上下班的时间
考勤项目自由定义,迟到、早退、严重迟到......
班次时间允许跨越夜间24:
00
班次时间可以根据生产需要个别调整
班次允许直落加班和班前加班
支持进出考勤数据分开或不分开计算各种详细的考勤报表及统计报表
考勤系统由班次管理,排班作业,休假管理,请假出差,停工待料,日出勤记录,月出勤汇总以及部门考勤分析等功能组成.
1.班次管理:
每天最多可以设置四段考勤,同时可以使用浮动刷卡时间满足当下班时间不固定的出勤班次.班次系统采用48小时制
,可以跨天处理员工的出勤.
2.排班作业:
排班操作可以通过部门设置班次,按员工的分组设置班次以及连续排班,按日期排班.同时使用智能班次方式,由系统根据员工的刷卡时间自动识别该员工的班次.
3.休假管理:
可以连续设置员工的休假日期,以及设置不同类别的休假类型和时数.可以按天或按时进行休假.
4.请假出差:
记录员工的请假出差时数,自动计算员工请假的天数和时数,(:
考勤倒班算法)以及加班请假的时数.可以汇总各部门的每天每月以及不同时间段的请假时数分析报表.
5.停工待料:
可批量记录员工的停工待料时数.同时汇总每月各部门的停工待料时数.
6.日出勤记录:
可以查看员工每日的出勤时数,加班时数,迟到早退,休假时数,停工待料时数,请假出差时数,旷职时数以及各类异常提示信息.根据部门可以汇总每天各个考勤项目的数据.
7.月出勤汇总:
查看员工每月的出勤上班时数,天数,不同类型的加班时数,请假时数天数,请假出差时数以及迟到早退,旷职汇总数据.以及根据各部门汇总相关考勤项目.
8.部门考勤分析:
通过报和图形分析各部门按日按月在不同时间段内的考勤项目汇总.
考勤管理
灵活定义上下班时间与考勤排班方案,工设置不同的考勤方案,提供批处理功能记录每位员工的出勤状况,根据排班方案设定自动判断加班、迟到、早退或旷工提供多种类型考勤报表:
包括日报表、月报表、加班情况表、请假情况表,异常报表等;报表项目可以自定义;提供流程化网上审批管理
系统以现有的计算机网络为基础,实现资源共享,全面提升人力资源管理的效率,将人员从枯燥的手工作业中解脱出来。
将考勤实行ic卡或指纹考勤,实现考勤管理的电脑化,可以提高员工上下班打卡的速度,以及处理考勤数据的速度和准确性。
上网搜索了一下,大家基本上都不愿意公布自己的核心算法。
这里整理下自己的思路,顺便把历史遗留问题解决以下(之前写的那套系统有些小小问题,需要专业人事才能维护),受不了整日的电话骚扰。
步骤:
一,设定班次(以字母代号表示,包括正班打卡时间,正班打卡次数,上下班时间,有效打卡时间等)
二,排班(依据日期范围进行排班,这里感觉我的设置有些傻,我的做法是在dB中先建立一张排班表,根据日期范围以及排班规则生成每天对应的班次,然后将周休日期删除)
三,数据分析(感觉也很傻。
这里我的做法是选择需要生成数据的日期范围,根据该日期范围结合排班表生成考勤报表,将每个员工每天应打卡时间填充到对应栏位。
上班有效时间范围内取最小值,下班取最大值。
遍历排班表,将加班人员对应打卡时间填入对应栏位。
若员工正班时间内上班时间大于8小时则以8小时记录,不足8小时则遍历请假表,若有请假则将请假时数记录到对应栏位,否则记缺勤。
)
四,统计分析(生成月报)
表达能力很差,很多都讲不出来。
有需要源码的请留下mail。
(ps,(c#)开发,两层结构,代码很乱,高手就不要了)
一个简单的考勤系统
sql20XX-06-0611:
24:
49阅读12评论0字号:
大中小订阅
不考虑加班,请假,外出之类。
原始记录表:
1:
工作日历表calendar
2:
排班表worktime
3:
人事资料表employee
4:
异常类别表(迟到,早退,无刷卡...)abnormity
5:
考勤记录表timecard
处理结果表:
(可以用表或视图的形式存放)
1:
打卡异常1000120031102上午上班迟到
2:
考勤明细表1:
100012003110107:
55/12:
01/12:
02/13:
55/1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考勤 倒班 算法
![提示](https://static.bdocx.com/images/bang_tan.gif)