7考勤软件算法实现方法

考勤软件算法实现方法

一.问题的引出

众所周知,考勤是企业的薪酬计算、业绩考核的一个依据,也是对员工工作的积极性的一个重要的评价基础,企业的考勤是人力资源管理的最重要的一环。企业特别是制造业的考勤管理制度的优越性和公平性体现了企业的活力和人性。特别是对于我国的广大制造业,他们的考勤特点有:排班随机多变、班次多、待料停工等突发事件多。

我们认为一套好的考勤管理软件应该能有比较好的灵活性和易操作性,能为企业提供一定的考核评价参考依据。

在我们收集了目前市场上的多套考勤软件进行分析和操作后认为总体上的设计目标是为了实现企业的高效管理,但在实现上却缺少灵活性和通用性,在一般的商业企业有比较好的解决办法,但在制造业却有一定的缺陷性。其中一部分只能在一些商业企业使用无法满足制造业多变和灵活的需求。

我们希望在此提出一种实用可行的解决办法的探讨:如何设计一套有效的灵活的考勤结果判断思路,并通过软件的自动计算完成考勤结果计算和统计。该方法我们已经应用在《博特考勤、工资、人力资源管理软件》的考勤模块的设计上,获得较大的成功。

二.提出处理的基本功能要求

什么叫迟到,什么叫严重迟到,什么叫旷工,这些我们都可以让用户自由定义。比如上班后5分钟内叫迟到等,5~10分叫严重迟到等。

班次的数量和参数提供用户自定义。除了各种正班外,必须能支持3大类加班(平时加班、法定假加班、公休假加班)和弹性上下班(允许任意时间的上下班,只计算实际的出勤时间)。

在班次的属性中可以设置该休息时间、是否可以默认上班不打卡或下班不打卡、允许提前上班打卡和延迟下班的打卡范围。

还必须考虑提前加班(上班前就来加班)、直落加班(下班后不打卡继续加班直到加班结束离开才打卡)、正班长度(超过部分自动算入加班)等各种所需的参数。

个人排班管理

作为排班操作的方便性及个性化,我们建议给该功能增加一个批处理功能,只要排好其中的一个人,其他人可以采用“跟”的方式进行部分或整体的拷贝。这样能有效地提高操作人员的工作效率。

作为整个部门的排班操作,该功能能为企业操作提供最大限度的方便性。是对部门或班组进行整批排班的最大优化。

轮班和倒班在生产性企业中是很普遍的,该功能的目标是给操作人员有效降低手工重复操作,提高工作效率。

假期管理

企业员工的请假单的录入界面。

三.班次结果计算的处理方法

在我们进行了正确的排班、打卡,有了假单等一些数据后,我们便应该考虑考勤结果的计算产生流程。

打卡点的判断跨天的处理,在搜寻打卡点的过程中我们必须考虑跨天的问题,因为在企业中跨天(凌晨0点)的夜班是很正常的。如果不能实现跨天的计算问题,那么设计出来的软件也不能满足我们设计的目标即灵活性和适应性的要求。

同时我们还必须考虑打卡的时间落在休息段之间的处理。

上班点的获取

我们原则上是取第一次有效的打卡点,即从应上班点开始向前搜索至该班次的有效打卡参数控制范围内出现的第一次打卡点。如果在该时间范围内无打卡点,应自动向后回溯到从应上班后至应下班为止的的第一次出现打卡点。如果无打卡点则可以判断为旷工。

下班点的获取

我们原则上是取下班后的第一次有效的打卡点,即从应下班点开始向后搜索至该班次的有效打卡参数控制范围内出现的第一次打卡点。

如果在该时间范围内无打卡点,应自动向前回溯到从应下班至应上班为止的的第一次出现打卡点。如果无打卡点则可以判断为旷工。

假期的处理

在假期的处理中我们仍然必须考虑跨天的问题,同时必须考虑各种可能,比如,请假时间落在休息段内的处理,请假始结时间与打卡时间之间的关系处理等。

班前请假:请假时间从应上班开始,以请假结束时间为准,在请假结束时刻或前如果无打卡时间则应把缺勤的时间标记出来。

班后请假:请假时间从应下班前开始,以请假开始时间为准,在请假开始时刻或后如果无打卡时间则应把缺勤的时间标记出来。

班次中间请假

该类请假,直接从出勤时间中扣除请假时间长度,并标识出来。

长期请假

以整个假单为准覆盖整个班次,比较多见的多天的请假,比如婚假、生育假等。

考勤结果的判断

从以上整理资料看我们基本上可以在此根据考勤规律的定义生成考勤结果,通过时间长度来判断上下班是正常还是异常(迟到、早退、旷工等各种定义的项目)。

班次出勤时间的计算

长度计算

原则上以班次长度除去缺勤(包含各种假期)的部分时间后我们就能得到实际的上班长度,但实际上我们还必须根据班次代码的定义扣除各种休息时间以及其他各种定义比如正班长度的设置等,其中最重要的是必须考虑提前加班和直落加班的计算等。

取整的计算

作为企业不一定就将实际的出勤时间作为员工在岗时间,一般会以30分钟活60分钟作为计算单位,我们还必须考考勤结果数据的取舍问题。

根据经验,一般是正班计算单位长度和加班的计算单位长度是不一样的(比如以30分钟或15分钟),我们应允许用户自定义。

取得的效果

高效率

我们将《博特考勤》在一些企业中运用的表现来看,初期系统导入阶段操作人员工作量比较大,因为他们必须熟悉各种班次并结合生产的需要设置定义参数,当然该工作必须有生产部门的配合和支持。

在系统正常运行后,基本上按照3000人的企业生成一个星期大约为36000条考勤记录、60000条考勤数据的计算来看大约在3~20分钟,这主要决定于后台服务器的性能、本机的性能以及网络的速度等,CPU花费的时间主要集中在打卡点的判断上。

目前全国有数百家企业在使用该系统软件,从普遍的反映来看结果是另人满意的,代替了原来手工统计的工作。

数据准确

从生成的结果来看都符合我们的设计目标。能有效分辨出迟到、早退、旷工、以及各种假期,准确计算各人各个班次的出勤情况。

但由于在操作过程中难免有操作人员的操作失误(比如排错班、输错了请假单)引起的考勤异常。我们建议设计一些异常分析表,针对异常结果数据进行处理,这样就能帮助操作人员在较快的时间内人工检查到问题的原因。

广州市南日电脑电子技术有限公司020-33504169

班次可以任意设置,班次包含2个休息点,1个停工段,班次可以设置限定时间长度日班次排班不限制班数

完全区分3类加班班

弹性上下班的设置,不限制上下班的时间

考勤项目自由定义,迟到、早退、严重迟到......

班次时间允许跨越夜间24:00

班次时间可以根据生产需要个别调整

班次允许直落加班和班前加班

支持进出考勤数据分开或不分开计算各种详细的考勤报表及统计报表

考勤系统由班次管理,排班作业,休假管理,请假出差,停工待料,日出勤记录,月出勤汇总以及部门考勤分析等功能组成.

1.班次管理:

每天最多可以设置四段考勤,同时可以使用浮动刷卡时间

满足当下班时间不固定的出勤班次.班次系统采用48小时制

,可以跨天处理员工的出勤.

2.排班作业:

排班操作可以通过部门设置班次,按员工的分组设置班次以及连续排班,按日期排班.同时使用智能班次方式,由系统根据员工的刷卡时间自动识别该员工的班次.

3.休假管理:

可以连续设置员工的休假日期,以及设置不同类别的休假类型和时数.可以按天或按时进行休假.

4.请假出差:

记录员工的请假出差时数,自动计算员工请假的天数和时数,以及加班请假的时数.可以汇总各部门的每天每月以及不同时间段的请假时数分析报表.

5.停工待料:

可批量记录员工的停工待料时数.同时汇总每月各部门的停工待料时数.

6.日出勤记录:

可以查看员工每日的出勤时数,加班时数,迟到早退,休假时数,停工待料时数,请假出差时数,旷职时数以及各类异常提示信息.根据部门可以汇总每天各个考勤项目的数据.

7.月出勤汇总:

查看员工每月的出勤上班时数,天数,不同类型的加班时数,请假时数天数,请假出差时数以及迟到早退,旷职汇总数据.以及根据各部门汇总相关考勤项目.

8.部门考勤分析:

通过报和图形分析各部门按日按月在不同时间段内的考勤项目汇总.

考勤管理

灵活定义上下班时间与考勤排班方案,工设置不同的考勤方案,提供批处理功能记录每位员工的出勤状况,根据排班方案设定自动判断加班、迟到、早退或旷工提供多种类型考勤报表:包括日报表、月报表、加班情况表、请假情况表,异常报表等;报表项目可以自定义;提供流程化网上审批管理

系统以现有的计算机网络为基础,实现资源共享,全面提升人力资源管理的效率,将人员从枯燥的手工作业中解脱出来。将考勤实行IC 卡或指纹考勤,实现考勤管理的电脑化,可以提高员工上下班打卡的速度,以及处理考勤数据的速度和准确性。

上网搜索了一下,大家基本上都不愿意公布自己的核心算法。这里整理下自己的思路,顺便把历史遗留问题解决以下(之前写的那套系统有些小小问题,需要专业人事才能维护),受不了整日的电话骚扰。

步骤:一,设定班次(以字母代号表示,包括正班打卡时间,正班打卡次数,上下班时间,有效打卡时间等)

二,排班(依据日期范围进行排班,这里感觉我的设置有些傻,我的做法是在DB 中先建立一张排班表,根据日期范围以及排班规则生成每天对应的班次,然后将周休日期删除)

三,数据分析(感觉也很傻。这里我的做法是选择需要生成数据的日期范围,根据该日期范围结合排班表生成考勤报表,将每个员工每天应打卡时间填充到对应栏位。上班有效时间范围内取最小值,下班取最大值。遍历排班表,将加班人员对应打卡时间填入对应栏位。若员工正班时间内上班时间大于8小时则以8小时记录,不足8小时则遍历请假表,若有请假则将请假时数记录到对应栏位,否则记缺勤。)

四,统计分析(生成月报)

表达能力很差,很多都讲不出来。有需要源码的请留下mail。(ps,asp.net(c#)开发,两层结构,代码很乱,高手就不要了)

/*工作日历表:

如下假设只有三种工作日历,默认情况如下

1:星期六和星期天不上班

2:星期天不上班

4:每天都上班

*/

create table calendar(

date smalldatetime primary key clustered,

flag1bit,

flag2bit,

flag3bit

)

exec sp_addextendedpropertyN'MS_Description',N'日期',N'user', N'dbo', N'table', N'calendar', N'column', N'date'

exec sp_addextendedpropertyN'MS_Description',N'是否上班1', N'user', N'dbo', N'table', N'calendar', N'column', N'flag1'

exec sp_addextendedpropertyN'MS_Description',N'是否上班2', N'user', N'dbo', N'table', N'calendar', N'column', N'flag2'

exec sp_addextendedpropertyN'MS_Description',N'是否上班3', N'user', N'dbo', N'table', N'calendar', N'column', N'flag3'

/*个别录入资料

insert calendar select '20031101',0,1,1

union all select '20031102',0,0,1

union all select '20031103',1,1,1

union all select '20031104',1,1,1

*/

/*********如下存储过程用于批量录入资料**************/

create Procedure AddWorkCalendar @BDateSmallDateTime,@EDateSmallDateTime As

Declare @CDateSmallDateTime

Declare @Flag1Bit

Declare @Flag2Bit

Declare @Flag3Bit

Set @CDate=@BDate

If Exists (Select*from calendar Where cld_rqBetween @BDateAnd @EDate)Begin

Raiserror('已有该范围的资料,请核对开始日期和结束日期!!!',16,-1)

Return

End

While @CDate

Begin

Set @Flag1=(CaseWhen DatePart(WeekDay,@CDate)in (1,7)then 0Else 1End) Set @Flag2=(CaseWhen DatePart(WeekDay,@CDate)=1then 0Else 1End)

Set @Flag3=1

Insert calendar Values(@CDate,@Flag,@Flag1,@Flag2)

Set @CDate=DateAdd(Day,1,@CDate)

End

/********Usage:

Exec AddWorkCalendar '20031101','20031130'

*********/

/*************

当然,更灵活的方法是如下方式建表:

日期方式标志

2001110110

2001110121

2001110131

...

********************/

/*

2:排班表(为简单起见,不考虑加班的排班,且只考虑一天最多需四次刷卡的情况)*/

create table worktime(

worktimeid int primary key clustered,

minb char(5),

mins char(5),

mine char(5),

moutb char(5),

mouts char(5),

moute char(5),

ainb char(5),

ains char(5),

aine char(5),

aoutb char(5),

aouts char(5),

aoute char(5)

)

go

exec sp_addextendedpropertyN'MS_Description',N' 班制编号', N'user', N'dbo', N'table', N'worktime', N'column', N'worktimeid'

exec sp_addextendedpropertyN'MS_Description',N'上午上班始',N'user', N'dbo', N'table', N'worktime', N'column', N'minb'

exec sp_addextendedpropertyN'MS_Description',N'上午上班标准',N'user', N'dbo',

N'table', N'worktime', N'column', N'mins'

exec sp_addextendedpropertyN'MS_Description',N'上午上班止',N'user', N'table', N'worktime', N'column', N'mine'

exec sp_addextendedpropertyN'MS_Description',N'上午下班始',N'user', N'table', N'worktime', N'column', N'moutb'

exec sp_addextendedpropertyN'MS_Description',N'上午下班标准',N'user', N'table', N'worktime', N'column', N'mouts'

exec sp_addextendedpropertyN'MS_Description',N'上午下班止',N'user', N'table', N'worktime', N'column', N'moute' N'dbo', N'dbo', N'dbo', N'dbo',

exec sp_addextendedpropertyN'MS_Description',N'下午上班始',N'user', N'dbo', N'table', N'worktime', N'column', N'ainb'

exec sp_addextendedpropertyN'MS_Description',N'下午上班标准',N'user', N'dbo', N'table', N'worktime', N'column', N'ains'

exec sp_addextendedpropertyN'MS_Description',N'下午上班止',N'user', N'dbo', N'table', N'worktime', N'column', N'aine'

exec sp_addextendedpropertyN'MS_Description',N'下午下班始',N'user', N'dbo', N'table', N'worktime', N'column', N'aoutb'

exec sp_addextendedpropertyN'MS_Description',N'下午下班标准',N'user', N'dbo', N'table', N'worktime', N'column', N'aouts'

exec sp_addextendedpropertyN'MS_Description',N'下午下班止',N'user', N'dbo', N'table', N'worktime', N'column', N'aoute'

/*

注:在上班始-上班标准间打卡属于正常打卡,在上班标准-上班止间打卡属于迟到

在下班始-下班标准间打卡属于早退,在下班标准-下班止间打卡属于正常打卡其余时间打卡属于无效打卡。

*/

--3:人事资料表(只列出与考勤有关的字段)

create table employee(

workno char(6)primary key,

[name]varchar(10),

calendarFlag int check(calendarFlagin (1,2,3)), --1,2,3分别表示工作日历中的标志1,标志2,标志3

worktimeid int --排班表中的班制

)

go

exec sp_addextendedpropertyN'MS_Description',N'工号',N'user', N'dbo', N'table', N'employee', N'column', N'workno'

exec sp_addextendedpropertyN'MS_Description',N'姓名',N'user', N'dbo', N'table', N'employee', N'column', N'name'

exec sp_addextendedpropertyN'MS_Description',N'工作日历方式',N'user', N'dbo', N'table', N'employee', N'column', N'calendarFlag'

exec sp_addextendedpropertyN'MS_Description',N'班制',N'user', N'dbo', N'table', N'employee', N'column', N'worktimeid'

/*

calendarFlag

worktimeid

*/1,2,3分别表示工作日历中的标志1,标志2,标志3对应排班表中的班制

--4:异常类别表abnormity

create table abnormity(

abnormityno int primary key clustered,

[description]varchar(10)

)

go

exec sp_addextendedpropertyN'MS_Description',N' 异常类别', N'user', N'dbo', N'table', N'abnormity', N'column', N'abnormityno'

exec sp_addextendedpropertyN'MS_Description',N' 异常说明', N'user', N'dbo', N'table', N'abnormity', N'column', N'description'

/**************

异常包括:迟到(还可细分成迟到的时间段),早退,无刷卡...

当然可能还有扣薪方式之类的,此处不予考虑。

*****************/

5:考勤记录表timecard

create table timecard(

workno char(6),

[date]datetime,

constraint [pk_timecard]primary key clustered

(

workno,

[date]

) ON [PRIMARY]

)

go

exec sp_addextendedpropertyN'MS_Description',N'工号',N'user', N'dbo', N'table', N'timecard', N'column', N'workno'

exec sp_addextendedpropertyN'MS_Description',N' 打卡时间', N'user', N'dbo', N'table', N'timecard', N'column', N'date'

/*******

其实我实际中是按卡号(对应工号),日期,时间,卡钟号

*******/四个字段来存的。

/****************如下处理得到考勤明细表1:**********/--1.创建一个合并的函数

create function f_kqlist(@worknochar(6),@datechar(8))

returns varchar(400)

as

begin

declare @strvarchar(1000)

set @str=''

select @str=@str+'/'+convert(char(8),[date],108)from timecard

where workno =@worknoand datediff(day,[date],@date)=0

set @str=right(@str,len(@str)-1)

return(@str)

End

/*Usage:

select distinct workno,date,dbo.f_kqlist(workno,[date])

from timecard

where workno ='102337' and convert(char(8),[date],112)='20030814'

*/

剩下的留给大家吧。其实也不难,就看谁的效率比较高一些罢了。:D

(我的做法:异常处理:用存储过程,用游标做的,懒得去优化了

考勤明细表2:用函数,原来用游标,不好,后来才改用函数的)

考勤排班算法和计算方式sql 2008-06-0611:28:54阅读231评论0字号:大中小订阅

我知道这个规律,这样的计算怎么写

进出表字段

人员id 号人员卡号人员进出时间进出通道

employid employcard employtime jvc td

[***********]7-9-239:02:19进1

排班设置表这个得到一天或者一个月排班表算法怎么写

人员id 号人员姓名时间范围周期天数休息日

employid employname sjfw zqts xxr

1.“班次范围”是指根据【班次定义】,该部门的所有上班班次,以班次代码输入。如:一班制的AA 班,从8:00至17:00.上班,则输入“AA”;三班制的“AA,BB,CC”,第一天上“AA”班,第二天上“BB”班,第三天上“CC”班,第四天休息。则输入“AA,BB,CC”,班次之间以“逗号”分隔。

2.“周期天数”是指该部门所上班次的“上班”和“休息”的规律,例如:某个班次是上5天,休息2天,其“周期天数”为7天。另一个三班制的班,上3天,休息1天,其“周期天数”为4天。

3.“休息日”是指按规律,第几天是休息日。仍如上例:上5天,休2天,周期为7天,“休息日”是第6天,第7天,在“休自日”里输入“6,7”,以“逗号”分隔;而三班制的,上3天,休1天,第4天休息,则在“休息日”里输入“4”。

还有个请假表

人员id 号请假开始时间请假结束时间原因

employid begintime endtime ofcase

怎么能根据这三个表得到一个考勤日报表和月报表

考勤日报表

日期编号姓名部门名称迟到次数迟到时间早退次数早退时间工作时间加班时间休息加班节日加班旷工时间请假时间工作天数说明

2007-9-1360341沙沈熠00:0000:0000:0000:0000:0000:0000:0000:00未刷卡月报表

编号姓名部门名称迟到次数早退次数早退时间旷工次数旷工时间请假次数请假时间工作时间累计缺勤时间累计休息日统计节日加班休息加班平时加班工作天数事假次数事假时间

60381王高登00000:000000:000000:00000:00000:000000:00000:00000:0000000:00

可以没有那些时间要次数也可以,这个算法怎么写查询语句怎么写,我是这里不知道,请知道的帮个忙,谢谢了|||哪个哥们知道帮下忙|||太乱了重新整理个再发吧|||排班设置表这个表结构太差了|||toziping

子平

你说哪个排班表该怎么设计。班次格式很多,有正常的班次8:00-17:00这样的还有三班和4班倒的

1.“班次范围”是指根据【班次定义】,该部门的所有上班班次,以班次代码输入。如:一班制的AA 班,从8:00至17:00.上班,则输入“AA”;三班制的“AA,BB,CC”,第一天上“AA”班,第二天上“BB”班,第三天上“CC”班,第四天休息。则输入“AA,BB,CC”,班次之间以“逗号”分隔。

2.“周期天数”是指该部门所上班次的“上班”和“休息”的规律,例如:某个班次是上5天,休息2天,其“周期天数”为7天。另一个三班制的班,上3天,休息1天,其“周期天数”为4天。

3.“休息日”是指按规律,第几天是休息日。仍如上例:上5天,休2天,周期为7天,“休息日”是第6天,第7天,在“休自日”里输入“6,7”,以“逗号”分隔;而三班制的,上3天,休1天,第4天休息,则在“休息日”里输入“4”。

这里是我排班的规律,我想根据这个得到当天员工的班次,或者一个月的班次情况。下面的这两个比较乱。我的意思就是的到

日报的话

迟到次数迟到时间早退次数早退时间。。。。。

月报的话

迟到次数早退次数。。。。。。

。。。。。。。。。。。。。。。。。。。

勤日报表

日期编号姓名部门名称迟到次数迟到时间早退次数早退时间工作时间加班时间休息加班节日加班旷工时间请假时间工作天数说明

2007-9-1360341沙沈熠00:0000:0000:0000:0000:0000:0000:0000:00未刷卡月报表

编号姓名部门名称迟到次数早退次数早退时间旷工次数旷工时间请假次数请假时间工作时间累计缺勤时间累计休息日统计节日加班休息加班平时加班工作天数事假次数事假时间

60381王高登00000:000000:000000:00000:00000:000000:00000:00000:0000000:00|||看得头都大了看来你的表要优化一下了你不妨开个优化的帖子吧

※考勤方面

来划分),且可设置不同节假日的加班比率;

☆提供对各种考勤机的联接接口,可接各类考勤设备,接口分采集接口(直接驱动考勤机,属二次开发)和万能数据导入接口(文本格式导入);

☆系统排班全面支持考勤日历功能、默认班(不排班)、固定班、倒班、轮班、规律班(几班几倒)、自动套班、自动抓班、各种杂项排班、手工排班以及套班功能,独创考勤日历、默认班、固定班、倒班、手工排班以及自动套班综合考勤算法。大大降低排班工作量,甚至不用排班!

☆新版系统支持浮动上班、自由上班、自由加班、直落班、提前加班等各种考勤难点,操作简单方便、快捷;

☆新版系统支持停工待料事务的处理、考勤补助的处理、考勤累加的处理(如年假情况、加班情况、应出工时情况等);

☆考勤汇总分析报表,让你详细掌握考勤的各种汇总情况(如:加班汇总分析、签卡汇总分析、考勤综合汇总分析);

☆考勤决策分析图形,让你简洁明了掌握考勤总体情况(如:考勤综合分析图、各种加班分析图、签卡分析图);

众软人力资源管理系统,简称ZRHRM,于1997年开始自主研发,是一种按照“通用性、继承性、扩展性、及时性和先进性”原则设计的人力管理平台。众软人力资源管理系统畅销国内近十年,以实用、性价比高、技术领先在人力资源行业内名称前矛。本系统集人事系统、行政系统、考勤系统、门禁系统、工资系统、计件系统、消费系统等功能模块于一体;广州众软电脑科技有限公司广州总公司我知道这个规律,这样的计算怎么写进出表字段人员id 号人员卡号人员进出时间进出通道employid employcard employtime jvctd[**************]进1排班设置表这个得到一天或者一个月排班表算法怎么写人员id 号人员姓名时间范围周期天数休息日employid employname sjfw zqts xxr 1.班次范围是指根据班次定义,该部门的所有上班班次,以班次代码输入,如一班制的AA 班,从800至1700.上班,则输入AA 三班制的AABBCC 第一天上AA 班。

第二天上BB 班,第三天上CC 班,第四天休息,则输入AABBCC 班次之间以逗号分隔,2. 周期天数是指该部门所上班次的上班和休息的规律,例如某个班次是上5天,休息2天其周期天数为7天。

另一个三班制的班,上3天休息1天其周期天数为4天,3.休息日是指按规律,第几天是休息日,仍如上例上5天,休2天周期为7天休息日是第6天。

第7天在休自日里输入6,7以逗号分隔,而三班制的,上3天休1天第4天休息。则在休息日里输入4,还有个请假表人员id 号请假开始时间请假结束时间原因employid begintime endtime ofcase 怎么能根据这三个表得到一个考勤日报表和月报表

考勤日报表日期编号姓名部门名称迟到次数迟到时间早退次数早退时间工作时间加班时间休息加班节日加班旷工时间请假时间工作天数说明60341沙沈熠[***********][1**********]000未刷卡月报表编号姓名部门名称迟到次数早退次数早退时间旷工次数旷工时间请假次数请假时间工作时间累计缺勤时间累计休息日统计节日加班休息加班平时加班工作天数事假次数事假时间60381王高登[***********][***********][**************]0可以没有那些时间

要次数也可以。

这个算法怎么写查询语句怎么写,我是这里不知道。

考勤算法,我想做一个考勤系统,

一部门人是两班倒,另一部门是只是白班,不过他们的打卡时间不一样,下面我具体贴几条记录,大家看下,认为我该怎样弄这个算法。

1-24539刘腊生制造课/成型系0:041:004:044:258:0119:44

1-25539刘腊生制造课/成型系0:040:424:024:238:0119:51

1-26539刘腊生制造课/成型系0:010:295:00

1-27539刘腊生制造课/成型系

1-28539刘腊生制造课/成型系19:42

1-29539刘腊生制造课/成型系0:020:404:014:238:4419:49

1-30539刘腊生制造课/成型系0:010:374:014:228:0118:4919:49

上面是一个人几天的上夜班打卡记录,白班记录我可以处理,就是这上夜班的不好处理,该怎样判断某人某天是否迟到,早退,和矿工。

推荐答案2、建立一张表记录工人请假、放假时间表,此表需手工录入。

2、迟到与早退可以以排班表中的时间进行判断,加上一定的的宽限时间。

3、将未打咭时间段与记录表进行对比,若无此记录则为矌工。

这些步骤必须与实际相结合,例如需要手写的请假条等等!

车间员工每周日(星期天)休息,六月份一共四周就休息4天,外加端午节1天,共5天。那么端午那天他们上班是给两倍工资的,照这样算六月份他们应该出勤26天还是25天叫满勤了?(个人观点:应该是出勤26天为满勤,因为端午那天他们上班给的两倍工资了就不能算休息,总不能说端午那天又给双倍工资,又可以算休息日吧)

最佳答案1、法定月工作日为21.75天;

2、遇到法定节假日等,要相应扣减考勤天数。

3、端午节不算作出勤日,属法定节假日

关于872考勤排班计算餐次的想法

一韩资企业(生产企业),再用872产品:考勤管理、薪资管理、人事管理、总帐等模块,依时利一卡通系统;

(班次固定,并可知每班次的早餐、午餐、晚餐、夜宵的次数,需要考虑加班、请假等情况)

1、根据工人不同班次,计算该工人本月可免费享用的早餐、午餐、晚餐、夜宵的次数,

(难点,我的思路是通过汇总表hr_tm_DayResult上的班次数据,并将其结果插入到人员档案中的新建表a 中)

2、根据一卡通系统计算出该工人实际用餐次数,

3、然后通过薪资管理计算出该工人多享用的餐次,并进行扣除相应餐次费用。(通过工资项目人事取数公式到表a 中取数据)

那位能人可提供汇总部分的sql 语句,或有更好的解决方法,不胜感激!!!!

请各位大侠不吝赐教!!!!!

我在想能不能通过自定义考勤算法来处理

1.根据日结果的信息,判断员工的餐次

2.一卡通的数据直接取到

3.薪资中设置公式,从考勤中取数,计算餐费。谢谢,已通过班次参数和考勤算法等解决,只是无法计算加班段餐次、请假段餐次,即使计算也很麻烦!!

谢谢!!

支持三班倒跨24小时的考勤管理软件

四川亿源智能科技有限公司结合多年来对北京中控科技的全系列指纹考勤机的综合全面了解,组织较强的技术研发队伍,于2006年03月推出了完全基于win2000、win2003、winNT和winXP 等多个操作系统下的指纹考勤管理软件(eyFingerAtt版本号:v1.0.2006.518)。该系统目前已经在包括:中国铁通四川分公司、中国铁通成都市公司、中国铁通成都网管中心等多个机关单位、企业使用,性能稳定,用户反应良好。

四川亿源智能科技有限公司推出的基本北京中控全系列指纹考勤机的考勤管理系统同时还具备以下功能特性:

1. 时段与班次定义

系统参照国内众多考勤机生产厂家的考勤算法,设计了时段和班次的双重定义。

要求(无需刷卡、上班刷卡、下班刷卡和上/下班都需要刷卡)和计算工作日等;

围内选择每一天上下班的时段,可以选择多个时段。

2. 人员排班

系统提供任何个人或部门全部人员进行任意日期范围的排班;还可以直接对某一天修改上班时段。如果某人某天的上班时段与按班次定义计算出的上班时段不相符,操作员还可以直接删除、修改和添加上班时段。

3. 三班倒

基于时段、班次和人员强大的排班功能,实现一些生产型企业或服务行业的三班倒甚至是更为复杂的规律排班都可以实现。

4. 跨24小时(72小时座标)

事实上要实现三班倒或两班倒,就必须解决上下班时段跨24小时的技术难题。事实上72小时座标是解决跨24小时的最有力措施,也是最为科学现实的。所谓72小时座标是指将传统的24小时制进行延长。如时间超过当天24小时,则在该时段上加24小时,如果是超过2天的,则加48小时。

5. 上下班刷卡自定义

目前一般的考勤算法采取定义一天刷两次卡或一天刷四次卡的简易算法来实现。其功能只能解决少数单位办公人员的考勤管理,而实现实现包括:市场人员、采购人员、工程人员、生产流水线人员及清洁、保安等人员的出勤有效管理。

CAS 考勤管理子系统支持定义上、下班刷卡方式,可选择:上班刷卡、下班刷卡、上下班都需刷卡和上下班都需要刷卡。配合班次定义可以有效地描述出几乎所有的人员出勤规律,最终保障针对不同的用户、不同的人员出勤规律进行科学排班、有效考勤管理。

总之,笔者认为,北京中控科技的全系列指纹考勤机(A系列和X 系列)其硬件性能稳定,性价比好,产品使合寿命长,如果结合亿源智能科技推出的指纹考勤管理软件,可以适应更多用户的需求,也可以更好地为用户服务,满足用户的实际应用需求。欢迎广大经销商、代理商、用户与四川亿源智能科技有限公司市场部联系。

关于考勤系统mssql2008

悬赏分:120|解决时间:2010-6-2909:06|上班刷卡记录

上午找出最后一次上班卡最后一次下班卡

下午找出最后一次上班卡最后一次下班卡

加班找出最后一次上班卡最后一次下班卡

注:上班卡下班卡也行同时刷多次

问题补充:

主要想根据刷卡记录算出每个人每天的工作几个小时

gzbhid 员工id 对应员工信息表的id

dates 刷卡的时间

arrid 27357上班卡27361下班卡

白班

上午上班8:00-12:00

下午上班13:00-17:00

加班

18:00-不定12:00-13:00吃饭17:00-18:00吃饭

这个问题比较复杂,设计到时间点的界定

--建立辅助表

IF EXISTS(SELECTname FROM sysobjects WHERE

DROP TABLE worktime

GO

create table worktime(idint,workfrom smalldatetime, workend smalldatetime, flag int)

go

declare @asmalldatetime

set @a=0

insert into worktime select 1,dateadd(mi,08*60,@a),dateadd(mi,12*60,@a),1insert into worktime select 2,dateadd(mi,12*60,@a),dateadd(mi,13*60,@a),0insert into worktime select 2,dateadd(mi,13*60,@a),dateadd(mi,17*60,@a),1insert into worktime select 3,dateadd(mi,17*60,@a),dateadd(mi,18*60,@a),0insert into worktime select 3,dateadd(mi,18*60,@a),dateadd(mi,20*60,@a),2insert into worktime select 4,dateadd(mi,20*60,@a),dateadd(mi,22.5*60,@a),1insert into worktime select 5,dateadd(mi,22.5*60,@a),dateadd(mi,23.5*60,@a),0insert into worktime select 5,dateadd(mi,23.5*60,@a),dateadd(mi,3.5*60,@a+1),1insert into worktime select 6,dateadd(mi,3.5*60,@a+1),dateadd(mi,4.5*60,@a+1),0insert into worktime select 6,dateadd(mi,4.5*60,@a+1),dateadd(mi,5*60,@a+1),1insert into worktime select 7,dateadd(mi,5*60,@a+1),dateadd(mi,8*60,@a+1),2----查询

select gzbhid,日

期,convert(decimal(3,1),(isnull(sum(datediff(mi,wf1,we)),0)-sum(d1))/60.0)上班时间,name ='worktime' AND type ='U')

convert(decimal(3,1),(isnull(sum(datediff(mi,wf2,we)),0)-sum(d2))/60.0)加班时间

from

(selectgzbhid,wf1,(casewhen wf1>wf2then null else wf2end) wf2,

(casewhen datepart(hh,we)

,(selectisnull(sum(datediff(mi,workfrom,workend)),0)from worktime

where flag=0

and dateadd(day,datediff(day,workfrom,wf1),workfrom)>wf1

and dateadd(day,datediff(day,workend,we),workend)

,(selectisnull(sum(datediff(mi,workfrom,workend)),0)from worktime

where flag=0

and dateadd(day,datediff(day,workfrom,wf2),workfrom)>wf2

and dateadd(day,datediff(day,workend,we),workend)

,convert(varchar(10),(casewhen datepart(hh,we)

end),20) 日期

from (select*,

(selecttop 1(casewhen

dateadd(day,datediff(day,workend,x.dates),workfrom)

(casewhen datepart(hh,x.dates)

else dateadd(day,datediff(day,workfrom,x.dates),workfrom)end)

from worktime where flag=1

and

dateadd(day,datediff(day,workend,x.dates2),workfrom)

and dateadd(day,datediff(day,workend,x.dates),workend)>x.dates

order by workfrom) wf1

,(selecttop 1(casewhen

dateadd(day,datediff(day,workend,x.dates),workfrom)

(casewhen datepart(hh,x.dates)

else dateadd(day,datediff(day,workfrom,x.dates),workfrom)end)

from worktime where flag=2

and

dateadd(day,datediff(day,workend,x.dates2),workfrom)

and dateadd(day,datediff(day,workend,x.dates),workend)>x.dates

order by workfrom) wf2

,(selecttop 1(casewhen flag=0then

dateadd(day,datediff(day,workend,x.dates2),workfrom)

else x.dates2end) from worktime where

dateadd(day,datediff(day,workend,x.dates2),workend)>x.dates2

order by workend) we

from (select*,(selecttop 1dates from #kqb where gzbhid=a.gzbhidand

arrid=27361and dates>a.dates

and not exists (select1from #kqwhere arrid=27357and

gzbhid=a.gzbhidand dates>a.dates

and dates

from #kqa ) x

where arrid=27357

) x2

) x3

group by 日期,gzbhidorder by 日期,gzbhid

在考勤班次设定里设定好每个班次的最后打卡时间,超过时间系统会自动判断为迟到或早退,在设定里设置现实减半时间,记录迟到早退等,那样在每天生成的考勤纪录里你就可以看到上下班时间,加班时间,以及考勤异常纪录等.希望可以帮到你.

签到是点上的检查

考勤是阶段的总结

考勤表有:到岗,早退,迟到,矿工,请假,放假等项目。签到就比较单一。

问题:

刚接手行政,店家要求做考勤,成果我递上了份考勤表,说不能用,必须要考勤签到表,这两者不同样么,有啥区分?

请申明,另外可以给我些相关文档我做一下比力和学习。

多谢了!

最佳答案:

1、考勤表——是你举行了人工汇总的数据。

二、考勤签到表——是经员工本人签到并确认的熬头手数据。

区分:考勤签到表严酷意义上来说是考勤表的支持文件。

小我私人提议:行政事情比力噜苏繁多,想要把办理事情做患上井井有条,在举行不论什么一项事情的时候都要做到在理有据,可查可依,透明清晰。不要蔑视这份过细,你做行政事情的目的,就是利便其他各部门开展事情、利便你店家查看相关数据和文件。事情是客不雅性的,不是小我私人性的,所以咱们要让文件和证听说话,而不是咱们自己的感性认识和理解。

**以考勤为例:部分公司的考勤是统一的、部分公司不同员工的考勤措施是不同的,递交的资料也不尽相同。

**譬如,有些员工病假的情况,你应该附上病假条。部分新入职的员工的工时统计,有可能要另开一份表格统计。对于考勤的异常情况,要及时同员工沟通并处理(譬如--忘记签到、代签到等等),在处理每一条数据时,都必须是颠末相关职员确认的精确数据,必须提交划

定提交的相关支持质料。

**这两种范式你在文库或是网站上均可以search 到范本。

想用Excel 做签到表,即:如果在表中的A1单元输入姓名如“张三”,则在B1单元自动显示出输入的时间"XX 时XX 分”。请大侠帮忙。

迭代打开,开1次就够了

B1=IF(A1=" ", " ",IF(B1" ",B1,NOW()))我司验厂软件的特点:

l、A 帐为真实数据,B 帐是验厂数据,两种方式产生,一种是从A 帐过滤到B 帐;第二种是设定规则生成B 帐,根据不同客户的需求可设置不同帐套;

2、验厂软件完全按照新劳动合同法规定设定转换规则;

3、B 版系统有正推与倒推两种运算方式,生成符合劳动法的考勤及工资数据;

4、一般情况下,1000人左右的企业的B 帐只需要10分钟,而且数据绝对符合验厂规则,省事省力;

5、可设定条件自动排除或有选择的排除不合验厂规定人员(如未满16周岁、对工厂意见很大的员工等等)

6、正常班次之外的加班时间可由客户自己调整;

7、与A 版实现快速灵活切换;

8、考勤系统数据中的迟到、早退、请假、签卡等可以自定义设置,系统自动产生,数据更真实;

9、考勤系统依排班数据,自动生成为每一个人的符合规定的正确打卡记录;

10、打卡范围可设置:提前打卡时间、延后打卡时间等,打卡时间随机生成,没有规律,(有的软件的帐单出现同一分钟打200人卡的情况一看就假);

11、几秒内实现A 帐B 帐系统自由切换,并通过相关的密码切换功能,严格控制系统使用和登陆权限;

12、安全性好、隐蔽性强;

13、依需定制方案:我司可依客户实际需求进行定制方案;

14、各种报表齐全、对应,如原始打卡数据、考勤日报表、考勤月报表、各种请假单等(齐全的报表往往让验厂人员感觉如此多的各种报表,造假的可以性很低,大大提高验厂的通过率)

可以技术支持转换及同步原有考勤系统数据

如需要看我用户名,深圳市拓新科技有限公司

大帮手验厂软件:

1、支持多帐套,如A 帐为真实数据,B帐是验厂数据,不同客户可设置不同帐套;

2、排班、加班时间完全用户自定义控制,系统自动根据排班情况生产模拟产生迟到、早退等数据;

3、可自动控制验厂人员的合法性(如未满16周岁或18周岁的人员,系统自动排除);

4、独有的数据处理算法,快速生成符合验厂要求的考勤及工资数据;一般情况下,3000人左右的企业只需要30分钟,而且绝对符合验厂规则,省事省力;

5、支持与考勤机的实时通讯,及时刷卡的数据可以出现在系统中;

6、考勤数据中的迟到、早退、请假等可以自定义设置,系统自动产生;

7、安全性高,隐蔽性强,所有界面都不会出现与假帐有关的任何东西;

8、A帐B 帐系统自由切换,并通过相关的密码切换功能,严格控制系统使用和登陆权限;安全性好、隐蔽性强,基础数据也可以同步、共享。

9、系统依排班数据,自动随机生成为每一个人的打卡记录,员工每天的打卡时间随机生成,不会千篇一律。

10、各种报表齐全、对应,如原始打卡数据、考勤日报表、考勤月报表、各种请假单、各种签卡单等(齐全的报表往往让验厂人员感觉如此多的各种报表,造假的可以性很低,大大提高验厂的通过率)

11、假帐的刷卡数据,也可以取自真帐的有效数据;

12、可以控制A 帐和B 帐工资的实发金额一致。

13、操作简单、参数设置灵活、应用面广,可扩充功能强大。

广州市信和永嘉公司为客户提供的考勤软件:

提供对不同考勤机的数据导入、读取接口。

灵活定义上下班时间与考勤方案。

灵活设置倒班类型与加班类型。

对每个部门或每位员工设置不同的考勤方案,提供批处理功能。

记录每位员工的出勤状况,根据方案设定自动判断迟到、早退或旷工。

制定加班计划,记录员工的加班情况。

记录员工的请假、休假情况,并做销假预警提示与销假处理。

统计每位员工的月出勤结果与薪资系统链接进行计算。

提供特定时间内个人/部门/公司的出勤数据统计图表,并进行分析比较。

可灵活设定、调整节假日、公休日、休息日。

自动计算和累计员工的假期,汇总休假明细及结存报表。

提供流程化休假申请审批管理。

员工的考勤纪录可以手工处理或通过装载由外部转入(例如:考勤数据可以来自考勤机);根据不同的员工类别、职务、岗位,设定不同的员工工作定额管理(工作日历);可以灵活定义公司的考勤项目,并且可以定义其相应的统计单位与计算单位,如早班、中班、夜班等;考勤纪录的统计单位与计算单位可以自动转换,如考勤单位为小时,计算单位可自动折算为天,以便计算加班工资;

根据员工的考勤纪录和单位工资的计算方式自动计算缺勤或出勤工资,并可以自动根据考勤纪录判断全勤奖的发放与否。可按客户要求任意设置班次项目,并设置各班次的计算规则,如设正常上班为夜班\中班的一律按次计算并按月计算补贴,休息日夜班中班不再按次计算,只计算加班小时数。上夜班、中班的员工,如果当日夜班、中班中还加班了,计算加班小时数据,并在月底统计累计加班小时数据

考勤数据采集可自由灵活定义,如第一次打卡比上班时间提前20分钟以及第二次打卡比下班晚6个小时系统采集的数据是无效的。第一次打卡时间超过上班时间5分钟系统判断为迟到等。

可根据员工的打卡数据导入或手工维护在信和永嘉的HR系统中进行数据加工处理,可根据事先的排班规则来判断出来各员工的三种类型加班明细累计小时数据,迟到累计小时数,所有夜班次数。

员工假期管理与考勤记录集成,如员工在假期管理请事假或病假,在考勤记录中有该数据。员工在假期管理模块请假后,该数据可与时间管理模块集成,月底在缺勤处理中可将本月所有请假单以及未请假旷工的数据列出,由管理人员判断或系统自动判断是否所缺勤还是请假处理

第3节考勤管理

●可以连接各种电子考勤系统,通过人事模块中的员工编号和考勤系统中的卡号建立对应的持卡用户信息,并通过数据导入接口功能获取电子考勤系统中的原始考勤数据。

●灵活设立排班表,如设立班制A~E,其中A~E每个班制可以设定不同的上班时间、下班时间、迟到开始时间、早退开始时间、加班开始时间,可以实现24小时排班。

●在具体排班时,可以按照每个员工单独排班,也可以按照行政班组集体排班。灵活定义上下班时间、加班时间和考勤规则,灵活排班

●根据员工的班值和休假记录自动判断是否迟到、早退或旷工以及加班的情况

●系统自动将考勤分析结果带入薪资模块,并进行工资计算

●各种考勤报表,如员工考勤记录报表、员工迟到记录报表、员工早退记录报表、员工缺席记录报表、员工加班记录报表、员工节日加班记录报表、员工周末加班记录报表、员工上班未打卡记录报表、员工下班未打卡记录报表一班制是指工作人员每天同时上下班的形式,又称“单班制”。主要适用于生产、经营组织和管理工作相对比较简单、能间断生产经营的、不宜组织多班制的企业。其优点是:有利于职工按统一的时间上下班、责任明确、管理方便,便于安排职工的学习和文娱活动,有益于职工的身心健康。缺点是:现有生产条件、经营设施不能充分利用,职工易出现忙闲不均的现象。

顾名思义,两班制就是在一天的时间内(即24小时)执行两轮的上班制度(即十二小时换一批员工上下班),机器不间断的工作。

两班制,是由于企业的需求所以需要机器不间断的运转,以完成企业的生产目标,即24小时内不停的生产,又因为人员不足等原因,需要每个工人工作12个小时左右。

两班制又叫两班倒,一般分成白班和夜班。这就说明有人必须要上夜班,企业考虑到员工生理周期问题,所以两班制一般情况都是每隔一个星期或两个星期进行一次员工上班时间的倒换,即上批上白班的这回轮到上夜班。同理,上批上夜班的这回上白班。所以就是说这些人必须一个月会有一两回上班时间是二十四小时的。不过有些企业就会很科学的处理交接班的事情。

两班制是相对于三班制而言的,但其工作时间大于三班倒,会累很多。这是社会发展的必经阶段,而且我国是劳动密集型产业大国有由于人口密集,所以我国拥有丰富的廉价劳动力,由此很多国外手工业产业就设在我国以获取廉价劳动力,节约成本提高利润。

根据国家现行的劳动法,实行劳动者每日工作时间不超过8小时、平均每周工作时间不超过40小时的工作制度。劳动者按照劳动合同约定的时间提供劳动,即可以获得相应的工资福利待遇。加班加点的,可获得加班加点工资。

两班制,即一天运转16小时。

一班制one-shift workday ststem

两班制two-shift workday system

三班倒three-shift workday system “一班制”是指公司的所有职员都是同样的工作时间,一般的国家机关和事业单位都是这样的;

“两班制”是指全体员工有两套不同的作息时间,一般商场,超市会是这样;“三班倒”是说员工有三个不同的作息时间,一般都是24小时有人的工作,比如保安。

东莞很多两班倒的工厂,每班12小时

考勤软件算法实现方法

一.问题的引出

众所周知,考勤是企业的薪酬计算、业绩考核的一个依据,也是对员工工作的积极性的一个重要的评价基础,企业的考勤是人力资源管理的最重要的一环。企业特别是制造业的考勤管理制度的优越性和公平性体现了企业的活力和人性。特别是对于我国的广大制造业,他们的考勤特点有:排班随机多变、班次多、待料停工等突发事件多。

我们认为一套好的考勤管理软件应该能有比较好的灵活性和易操作性,能为企业提供一定的考核评价参考依据。

在我们收集了目前市场上的多套考勤软件进行分析和操作后认为总体上的设计目标是为了实现企业的高效管理,但在实现上却缺少灵活性和通用性,在一般的商业企业有比较好的解决办法,但在制造业却有一定的缺陷性。其中一部分只能在一些商业企业使用无法满足制造业多变和灵活的需求。

我们希望在此提出一种实用可行的解决办法的探讨:如何设计一套有效的灵活的考勤结果判断思路,并通过软件的自动计算完成考勤结果计算和统计。该方法我们已经应用在《博特考勤、工资、人力资源管理软件》的考勤模块的设计上,获得较大的成功。

二.提出处理的基本功能要求

什么叫迟到,什么叫严重迟到,什么叫旷工,这些我们都可以让用户自由定义。比如上班后5分钟内叫迟到等,5~10分叫严重迟到等。

班次的数量和参数提供用户自定义。除了各种正班外,必须能支持3大类加班(平时加班、法定假加班、公休假加班)和弹性上下班(允许任意时间的上下班,只计算实际的出勤时间)。

在班次的属性中可以设置该休息时间、是否可以默认上班不打卡或下班不打卡、允许提前上班打卡和延迟下班的打卡范围。

还必须考虑提前加班(上班前就来加班)、直落加班(下班后不打卡继续加班直到加班结束离开才打卡)、正班长度(超过部分自动算入加班)等各种所需的参数。

个人排班管理

作为排班操作的方便性及个性化,我们建议给该功能增加一个批处理功能,只要排好其中的一个人,其他人可以采用“跟”的方式进行部分或整体的拷贝。这样能有效地提高操作人员的工作效率。

作为整个部门的排班操作,该功能能为企业操作提供最大限度的方便性。是对部门或班组进行整批排班的最大优化。

轮班和倒班在生产性企业中是很普遍的,该功能的目标是给操作人员有效降低手工重复操作,提高工作效率。

假期管理

企业员工的请假单的录入界面。

三.班次结果计算的处理方法

在我们进行了正确的排班、打卡,有了假单等一些数据后,我们便应该考虑考勤结果的计算产生流程。

打卡点的判断跨天的处理,在搜寻打卡点的过程中我们必须考虑跨天的问题,因为在企业中跨天(凌晨0点)的夜班是很正常的。如果不能实现跨天的计算问题,那么设计出来的软件也不能满足我们设计的目标即灵活性和适应性的要求。

同时我们还必须考虑打卡的时间落在休息段之间的处理。

上班点的获取

我们原则上是取第一次有效的打卡点,即从应上班点开始向前搜索至该班次的有效打卡参数控制范围内出现的第一次打卡点。如果在该时间范围内无打卡点,应自动向后回溯到从应上班后至应下班为止的的第一次出现打卡点。如果无打卡点则可以判断为旷工。

下班点的获取

我们原则上是取下班后的第一次有效的打卡点,即从应下班点开始向后搜索至该班次的有效打卡参数控制范围内出现的第一次打卡点。

如果在该时间范围内无打卡点,应自动向前回溯到从应下班至应上班为止的的第一次出现打卡点。如果无打卡点则可以判断为旷工。

假期的处理

在假期的处理中我们仍然必须考虑跨天的问题,同时必须考虑各种可能,比如,请假时间落在休息段内的处理,请假始结时间与打卡时间之间的关系处理等。

班前请假:请假时间从应上班开始,以请假结束时间为准,在请假结束时刻或前如果无打卡时间则应把缺勤的时间标记出来。

班后请假:请假时间从应下班前开始,以请假开始时间为准,在请假开始时刻或后如果无打卡时间则应把缺勤的时间标记出来。

班次中间请假

该类请假,直接从出勤时间中扣除请假时间长度,并标识出来。

长期请假

以整个假单为准覆盖整个班次,比较多见的多天的请假,比如婚假、生育假等。

考勤结果的判断

从以上整理资料看我们基本上可以在此根据考勤规律的定义生成考勤结果,通过时间长度来判断上下班是正常还是异常(迟到、早退、旷工等各种定义的项目)。

班次出勤时间的计算

长度计算

原则上以班次长度除去缺勤(包含各种假期)的部分时间后我们就能得到实际的上班长度,但实际上我们还必须根据班次代码的定义扣除各种休息时间以及其他各种定义比如正班长度的设置等,其中最重要的是必须考虑提前加班和直落加班的计算等。

取整的计算

作为企业不一定就将实际的出勤时间作为员工在岗时间,一般会以30分钟活60分钟作为计算单位,我们还必须考考勤结果数据的取舍问题。

根据经验,一般是正班计算单位长度和加班的计算单位长度是不一样的(比如以30分钟或15分钟),我们应允许用户自定义。

取得的效果

高效率

我们将《博特考勤》在一些企业中运用的表现来看,初期系统导入阶段操作人员工作量比较大,因为他们必须熟悉各种班次并结合生产的需要设置定义参数,当然该工作必须有生产部门的配合和支持。

在系统正常运行后,基本上按照3000人的企业生成一个星期大约为36000条考勤记录、60000条考勤数据的计算来看大约在3~20分钟,这主要决定于后台服务器的性能、本机的性能以及网络的速度等,CPU花费的时间主要集中在打卡点的判断上。

目前全国有数百家企业在使用该系统软件,从普遍的反映来看结果是另人满意的,代替了原来手工统计的工作。

数据准确

从生成的结果来看都符合我们的设计目标。能有效分辨出迟到、早退、旷工、以及各种假期,准确计算各人各个班次的出勤情况。

但由于在操作过程中难免有操作人员的操作失误(比如排错班、输错了请假单)引起的考勤异常。我们建议设计一些异常分析表,针对异常结果数据进行处理,这样就能帮助操作人员在较快的时间内人工检查到问题的原因。

广州市南日电脑电子技术有限公司020-33504169

班次可以任意设置,班次包含2个休息点,1个停工段,班次可以设置限定时间长度日班次排班不限制班数

完全区分3类加班班

弹性上下班的设置,不限制上下班的时间

考勤项目自由定义,迟到、早退、严重迟到......

班次时间允许跨越夜间24:00

班次时间可以根据生产需要个别调整

班次允许直落加班和班前加班

支持进出考勤数据分开或不分开计算各种详细的考勤报表及统计报表

考勤系统由班次管理,排班作业,休假管理,请假出差,停工待料,日出勤记录,月出勤汇总以及部门考勤分析等功能组成.

1.班次管理:

每天最多可以设置四段考勤,同时可以使用浮动刷卡时间

满足当下班时间不固定的出勤班次.班次系统采用48小时制

,可以跨天处理员工的出勤.

2.排班作业:

排班操作可以通过部门设置班次,按员工的分组设置班次以及连续排班,按日期排班.同时使用智能班次方式,由系统根据员工的刷卡时间自动识别该员工的班次.

3.休假管理:

可以连续设置员工的休假日期,以及设置不同类别的休假类型和时数.可以按天或按时进行休假.

4.请假出差:

记录员工的请假出差时数,自动计算员工请假的天数和时数,以及加班请假的时数.可以汇总各部门的每天每月以及不同时间段的请假时数分析报表.

5.停工待料:

可批量记录员工的停工待料时数.同时汇总每月各部门的停工待料时数.

6.日出勤记录:

可以查看员工每日的出勤时数,加班时数,迟到早退,休假时数,停工待料时数,请假出差时数,旷职时数以及各类异常提示信息.根据部门可以汇总每天各个考勤项目的数据.

7.月出勤汇总:

查看员工每月的出勤上班时数,天数,不同类型的加班时数,请假时数天数,请假出差时数以及迟到早退,旷职汇总数据.以及根据各部门汇总相关考勤项目.

8.部门考勤分析:

通过报和图形分析各部门按日按月在不同时间段内的考勤项目汇总.

考勤管理

灵活定义上下班时间与考勤排班方案,工设置不同的考勤方案,提供批处理功能记录每位员工的出勤状况,根据排班方案设定自动判断加班、迟到、早退或旷工提供多种类型考勤报表:包括日报表、月报表、加班情况表、请假情况表,异常报表等;报表项目可以自定义;提供流程化网上审批管理

系统以现有的计算机网络为基础,实现资源共享,全面提升人力资源管理的效率,将人员从枯燥的手工作业中解脱出来。将考勤实行IC 卡或指纹考勤,实现考勤管理的电脑化,可以提高员工上下班打卡的速度,以及处理考勤数据的速度和准确性。

上网搜索了一下,大家基本上都不愿意公布自己的核心算法。这里整理下自己的思路,顺便把历史遗留问题解决以下(之前写的那套系统有些小小问题,需要专业人事才能维护),受不了整日的电话骚扰。

步骤:一,设定班次(以字母代号表示,包括正班打卡时间,正班打卡次数,上下班时间,有效打卡时间等)

二,排班(依据日期范围进行排班,这里感觉我的设置有些傻,我的做法是在DB 中先建立一张排班表,根据日期范围以及排班规则生成每天对应的班次,然后将周休日期删除)

三,数据分析(感觉也很傻。这里我的做法是选择需要生成数据的日期范围,根据该日期范围结合排班表生成考勤报表,将每个员工每天应打卡时间填充到对应栏位。上班有效时间范围内取最小值,下班取最大值。遍历排班表,将加班人员对应打卡时间填入对应栏位。若员工正班时间内上班时间大于8小时则以8小时记录,不足8小时则遍历请假表,若有请假则将请假时数记录到对应栏位,否则记缺勤。)

四,统计分析(生成月报)

表达能力很差,很多都讲不出来。有需要源码的请留下mail。(ps,asp.net(c#)开发,两层结构,代码很乱,高手就不要了)

/*工作日历表:

如下假设只有三种工作日历,默认情况如下

1:星期六和星期天不上班

2:星期天不上班

4:每天都上班

*/

create table calendar(

date smalldatetime primary key clustered,

flag1bit,

flag2bit,

flag3bit

)

exec sp_addextendedpropertyN'MS_Description',N'日期',N'user', N'dbo', N'table', N'calendar', N'column', N'date'

exec sp_addextendedpropertyN'MS_Description',N'是否上班1', N'user', N'dbo', N'table', N'calendar', N'column', N'flag1'

exec sp_addextendedpropertyN'MS_Description',N'是否上班2', N'user', N'dbo', N'table', N'calendar', N'column', N'flag2'

exec sp_addextendedpropertyN'MS_Description',N'是否上班3', N'user', N'dbo', N'table', N'calendar', N'column', N'flag3'

/*个别录入资料

insert calendar select '20031101',0,1,1

union all select '20031102',0,0,1

union all select '20031103',1,1,1

union all select '20031104',1,1,1

*/

/*********如下存储过程用于批量录入资料**************/

create Procedure AddWorkCalendar @BDateSmallDateTime,@EDateSmallDateTime As

Declare @CDateSmallDateTime

Declare @Flag1Bit

Declare @Flag2Bit

Declare @Flag3Bit

Set @CDate=@BDate

If Exists (Select*from calendar Where cld_rqBetween @BDateAnd @EDate)Begin

Raiserror('已有该范围的资料,请核对开始日期和结束日期!!!',16,-1)

Return

End

While @CDate

Begin

Set @Flag1=(CaseWhen DatePart(WeekDay,@CDate)in (1,7)then 0Else 1End) Set @Flag2=(CaseWhen DatePart(WeekDay,@CDate)=1then 0Else 1End)

Set @Flag3=1

Insert calendar Values(@CDate,@Flag,@Flag1,@Flag2)

Set @CDate=DateAdd(Day,1,@CDate)

End

/********Usage:

Exec AddWorkCalendar '20031101','20031130'

*********/

/*************

当然,更灵活的方法是如下方式建表:

日期方式标志

2001110110

2001110121

2001110131

...

********************/

/*

2:排班表(为简单起见,不考虑加班的排班,且只考虑一天最多需四次刷卡的情况)*/

create table worktime(

worktimeid int primary key clustered,

minb char(5),

mins char(5),

mine char(5),

moutb char(5),

mouts char(5),

moute char(5),

ainb char(5),

ains char(5),

aine char(5),

aoutb char(5),

aouts char(5),

aoute char(5)

)

go

exec sp_addextendedpropertyN'MS_Description',N' 班制编号', N'user', N'dbo', N'table', N'worktime', N'column', N'worktimeid'

exec sp_addextendedpropertyN'MS_Description',N'上午上班始',N'user', N'dbo', N'table', N'worktime', N'column', N'minb'

exec sp_addextendedpropertyN'MS_Description',N'上午上班标准',N'user', N'dbo',

N'table', N'worktime', N'column', N'mins'

exec sp_addextendedpropertyN'MS_Description',N'上午上班止',N'user', N'table', N'worktime', N'column', N'mine'

exec sp_addextendedpropertyN'MS_Description',N'上午下班始',N'user', N'table', N'worktime', N'column', N'moutb'

exec sp_addextendedpropertyN'MS_Description',N'上午下班标准',N'user', N'table', N'worktime', N'column', N'mouts'

exec sp_addextendedpropertyN'MS_Description',N'上午下班止',N'user', N'table', N'worktime', N'column', N'moute' N'dbo', N'dbo', N'dbo', N'dbo',

exec sp_addextendedpropertyN'MS_Description',N'下午上班始',N'user', N'dbo', N'table', N'worktime', N'column', N'ainb'

exec sp_addextendedpropertyN'MS_Description',N'下午上班标准',N'user', N'dbo', N'table', N'worktime', N'column', N'ains'

exec sp_addextendedpropertyN'MS_Description',N'下午上班止',N'user', N'dbo', N'table', N'worktime', N'column', N'aine'

exec sp_addextendedpropertyN'MS_Description',N'下午下班始',N'user', N'dbo', N'table', N'worktime', N'column', N'aoutb'

exec sp_addextendedpropertyN'MS_Description',N'下午下班标准',N'user', N'dbo', N'table', N'worktime', N'column', N'aouts'

exec sp_addextendedpropertyN'MS_Description',N'下午下班止',N'user', N'dbo', N'table', N'worktime', N'column', N'aoute'

/*

注:在上班始-上班标准间打卡属于正常打卡,在上班标准-上班止间打卡属于迟到

在下班始-下班标准间打卡属于早退,在下班标准-下班止间打卡属于正常打卡其余时间打卡属于无效打卡。

*/

--3:人事资料表(只列出与考勤有关的字段)

create table employee(

workno char(6)primary key,

[name]varchar(10),

calendarFlag int check(calendarFlagin (1,2,3)), --1,2,3分别表示工作日历中的标志1,标志2,标志3

worktimeid int --排班表中的班制

)

go

exec sp_addextendedpropertyN'MS_Description',N'工号',N'user', N'dbo', N'table', N'employee', N'column', N'workno'

exec sp_addextendedpropertyN'MS_Description',N'姓名',N'user', N'dbo', N'table', N'employee', N'column', N'name'

exec sp_addextendedpropertyN'MS_Description',N'工作日历方式',N'user', N'dbo', N'table', N'employee', N'column', N'calendarFlag'

exec sp_addextendedpropertyN'MS_Description',N'班制',N'user', N'dbo', N'table', N'employee', N'column', N'worktimeid'

/*

calendarFlag

worktimeid

*/1,2,3分别表示工作日历中的标志1,标志2,标志3对应排班表中的班制

--4:异常类别表abnormity

create table abnormity(

abnormityno int primary key clustered,

[description]varchar(10)

)

go

exec sp_addextendedpropertyN'MS_Description',N' 异常类别', N'user', N'dbo', N'table', N'abnormity', N'column', N'abnormityno'

exec sp_addextendedpropertyN'MS_Description',N' 异常说明', N'user', N'dbo', N'table', N'abnormity', N'column', N'description'

/**************

异常包括:迟到(还可细分成迟到的时间段),早退,无刷卡...

当然可能还有扣薪方式之类的,此处不予考虑。

*****************/

5:考勤记录表timecard

create table timecard(

workno char(6),

[date]datetime,

constraint [pk_timecard]primary key clustered

(

workno,

[date]

) ON [PRIMARY]

)

go

exec sp_addextendedpropertyN'MS_Description',N'工号',N'user', N'dbo', N'table', N'timecard', N'column', N'workno'

exec sp_addextendedpropertyN'MS_Description',N' 打卡时间', N'user', N'dbo', N'table', N'timecard', N'column', N'date'

/*******

其实我实际中是按卡号(对应工号),日期,时间,卡钟号

*******/四个字段来存的。

/****************如下处理得到考勤明细表1:**********/--1.创建一个合并的函数

create function f_kqlist(@worknochar(6),@datechar(8))

returns varchar(400)

as

begin

declare @strvarchar(1000)

set @str=''

select @str=@str+'/'+convert(char(8),[date],108)from timecard

where workno =@worknoand datediff(day,[date],@date)=0

set @str=right(@str,len(@str)-1)

return(@str)

End

/*Usage:

select distinct workno,date,dbo.f_kqlist(workno,[date])

from timecard

where workno ='102337' and convert(char(8),[date],112)='20030814'

*/

剩下的留给大家吧。其实也不难,就看谁的效率比较高一些罢了。:D

(我的做法:异常处理:用存储过程,用游标做的,懒得去优化了

考勤明细表2:用函数,原来用游标,不好,后来才改用函数的)

考勤排班算法和计算方式sql 2008-06-0611:28:54阅读231评论0字号:大中小订阅

我知道这个规律,这样的计算怎么写

进出表字段

人员id 号人员卡号人员进出时间进出通道

employid employcard employtime jvc td

[***********]7-9-239:02:19进1

排班设置表这个得到一天或者一个月排班表算法怎么写

人员id 号人员姓名时间范围周期天数休息日

employid employname sjfw zqts xxr

1.“班次范围”是指根据【班次定义】,该部门的所有上班班次,以班次代码输入。如:一班制的AA 班,从8:00至17:00.上班,则输入“AA”;三班制的“AA,BB,CC”,第一天上“AA”班,第二天上“BB”班,第三天上“CC”班,第四天休息。则输入“AA,BB,CC”,班次之间以“逗号”分隔。

2.“周期天数”是指该部门所上班次的“上班”和“休息”的规律,例如:某个班次是上5天,休息2天,其“周期天数”为7天。另一个三班制的班,上3天,休息1天,其“周期天数”为4天。

3.“休息日”是指按规律,第几天是休息日。仍如上例:上5天,休2天,周期为7天,“休息日”是第6天,第7天,在“休自日”里输入“6,7”,以“逗号”分隔;而三班制的,上3天,休1天,第4天休息,则在“休息日”里输入“4”。

还有个请假表

人员id 号请假开始时间请假结束时间原因

employid begintime endtime ofcase

怎么能根据这三个表得到一个考勤日报表和月报表

考勤日报表

日期编号姓名部门名称迟到次数迟到时间早退次数早退时间工作时间加班时间休息加班节日加班旷工时间请假时间工作天数说明

2007-9-1360341沙沈熠00:0000:0000:0000:0000:0000:0000:0000:00未刷卡月报表

编号姓名部门名称迟到次数早退次数早退时间旷工次数旷工时间请假次数请假时间工作时间累计缺勤时间累计休息日统计节日加班休息加班平时加班工作天数事假次数事假时间

60381王高登00000:000000:000000:00000:00000:000000:00000:00000:0000000:00

可以没有那些时间要次数也可以,这个算法怎么写查询语句怎么写,我是这里不知道,请知道的帮个忙,谢谢了|||哪个哥们知道帮下忙|||太乱了重新整理个再发吧|||排班设置表这个表结构太差了|||toziping

子平

你说哪个排班表该怎么设计。班次格式很多,有正常的班次8:00-17:00这样的还有三班和4班倒的

1.“班次范围”是指根据【班次定义】,该部门的所有上班班次,以班次代码输入。如:一班制的AA 班,从8:00至17:00.上班,则输入“AA”;三班制的“AA,BB,CC”,第一天上“AA”班,第二天上“BB”班,第三天上“CC”班,第四天休息。则输入“AA,BB,CC”,班次之间以“逗号”分隔。

2.“周期天数”是指该部门所上班次的“上班”和“休息”的规律,例如:某个班次是上5天,休息2天,其“周期天数”为7天。另一个三班制的班,上3天,休息1天,其“周期天数”为4天。

3.“休息日”是指按规律,第几天是休息日。仍如上例:上5天,休2天,周期为7天,“休息日”是第6天,第7天,在“休自日”里输入“6,7”,以“逗号”分隔;而三班制的,上3天,休1天,第4天休息,则在“休息日”里输入“4”。

这里是我排班的规律,我想根据这个得到当天员工的班次,或者一个月的班次情况。下面的这两个比较乱。我的意思就是的到

日报的话

迟到次数迟到时间早退次数早退时间。。。。。

月报的话

迟到次数早退次数。。。。。。

。。。。。。。。。。。。。。。。。。。

勤日报表

日期编号姓名部门名称迟到次数迟到时间早退次数早退时间工作时间加班时间休息加班节日加班旷工时间请假时间工作天数说明

2007-9-1360341沙沈熠00:0000:0000:0000:0000:0000:0000:0000:00未刷卡月报表

编号姓名部门名称迟到次数早退次数早退时间旷工次数旷工时间请假次数请假时间工作时间累计缺勤时间累计休息日统计节日加班休息加班平时加班工作天数事假次数事假时间

60381王高登00000:000000:000000:00000:00000:000000:00000:00000:0000000:00|||看得头都大了看来你的表要优化一下了你不妨开个优化的帖子吧

※考勤方面

来划分),且可设置不同节假日的加班比率;

☆提供对各种考勤机的联接接口,可接各类考勤设备,接口分采集接口(直接驱动考勤机,属二次开发)和万能数据导入接口(文本格式导入);

☆系统排班全面支持考勤日历功能、默认班(不排班)、固定班、倒班、轮班、规律班(几班几倒)、自动套班、自动抓班、各种杂项排班、手工排班以及套班功能,独创考勤日历、默认班、固定班、倒班、手工排班以及自动套班综合考勤算法。大大降低排班工作量,甚至不用排班!

☆新版系统支持浮动上班、自由上班、自由加班、直落班、提前加班等各种考勤难点,操作简单方便、快捷;

☆新版系统支持停工待料事务的处理、考勤补助的处理、考勤累加的处理(如年假情况、加班情况、应出工时情况等);

☆考勤汇总分析报表,让你详细掌握考勤的各种汇总情况(如:加班汇总分析、签卡汇总分析、考勤综合汇总分析);

☆考勤决策分析图形,让你简洁明了掌握考勤总体情况(如:考勤综合分析图、各种加班分析图、签卡分析图);

众软人力资源管理系统,简称ZRHRM,于1997年开始自主研发,是一种按照“通用性、继承性、扩展性、及时性和先进性”原则设计的人力管理平台。众软人力资源管理系统畅销国内近十年,以实用、性价比高、技术领先在人力资源行业内名称前矛。本系统集人事系统、行政系统、考勤系统、门禁系统、工资系统、计件系统、消费系统等功能模块于一体;广州众软电脑科技有限公司广州总公司我知道这个规律,这样的计算怎么写进出表字段人员id 号人员卡号人员进出时间进出通道employid employcard employtime jvctd[**************]进1排班设置表这个得到一天或者一个月排班表算法怎么写人员id 号人员姓名时间范围周期天数休息日employid employname sjfw zqts xxr 1.班次范围是指根据班次定义,该部门的所有上班班次,以班次代码输入,如一班制的AA 班,从800至1700.上班,则输入AA 三班制的AABBCC 第一天上AA 班。

第二天上BB 班,第三天上CC 班,第四天休息,则输入AABBCC 班次之间以逗号分隔,2. 周期天数是指该部门所上班次的上班和休息的规律,例如某个班次是上5天,休息2天其周期天数为7天。

另一个三班制的班,上3天休息1天其周期天数为4天,3.休息日是指按规律,第几天是休息日,仍如上例上5天,休2天周期为7天休息日是第6天。

第7天在休自日里输入6,7以逗号分隔,而三班制的,上3天休1天第4天休息。则在休息日里输入4,还有个请假表人员id 号请假开始时间请假结束时间原因employid begintime endtime ofcase 怎么能根据这三个表得到一个考勤日报表和月报表

考勤日报表日期编号姓名部门名称迟到次数迟到时间早退次数早退时间工作时间加班时间休息加班节日加班旷工时间请假时间工作天数说明60341沙沈熠[***********][1**********]000未刷卡月报表编号姓名部门名称迟到次数早退次数早退时间旷工次数旷工时间请假次数请假时间工作时间累计缺勤时间累计休息日统计节日加班休息加班平时加班工作天数事假次数事假时间60381王高登[***********][***********][**************]0可以没有那些时间

要次数也可以。

这个算法怎么写查询语句怎么写,我是这里不知道。

考勤算法,我想做一个考勤系统,

一部门人是两班倒,另一部门是只是白班,不过他们的打卡时间不一样,下面我具体贴几条记录,大家看下,认为我该怎样弄这个算法。

1-24539刘腊生制造课/成型系0:041:004:044:258:0119:44

1-25539刘腊生制造课/成型系0:040:424:024:238:0119:51

1-26539刘腊生制造课/成型系0:010:295:00

1-27539刘腊生制造课/成型系

1-28539刘腊生制造课/成型系19:42

1-29539刘腊生制造课/成型系0:020:404:014:238:4419:49

1-30539刘腊生制造课/成型系0:010:374:014:228:0118:4919:49

上面是一个人几天的上夜班打卡记录,白班记录我可以处理,就是这上夜班的不好处理,该怎样判断某人某天是否迟到,早退,和矿工。

推荐答案2、建立一张表记录工人请假、放假时间表,此表需手工录入。

2、迟到与早退可以以排班表中的时间进行判断,加上一定的的宽限时间。

3、将未打咭时间段与记录表进行对比,若无此记录则为矌工。

这些步骤必须与实际相结合,例如需要手写的请假条等等!

车间员工每周日(星期天)休息,六月份一共四周就休息4天,外加端午节1天,共5天。那么端午那天他们上班是给两倍工资的,照这样算六月份他们应该出勤26天还是25天叫满勤了?(个人观点:应该是出勤26天为满勤,因为端午那天他们上班给的两倍工资了就不能算休息,总不能说端午那天又给双倍工资,又可以算休息日吧)

最佳答案1、法定月工作日为21.75天;

2、遇到法定节假日等,要相应扣减考勤天数。

3、端午节不算作出勤日,属法定节假日

关于872考勤排班计算餐次的想法

一韩资企业(生产企业),再用872产品:考勤管理、薪资管理、人事管理、总帐等模块,依时利一卡通系统;

(班次固定,并可知每班次的早餐、午餐、晚餐、夜宵的次数,需要考虑加班、请假等情况)

1、根据工人不同班次,计算该工人本月可免费享用的早餐、午餐、晚餐、夜宵的次数,

(难点,我的思路是通过汇总表hr_tm_DayResult上的班次数据,并将其结果插入到人员档案中的新建表a 中)

2、根据一卡通系统计算出该工人实际用餐次数,

3、然后通过薪资管理计算出该工人多享用的餐次,并进行扣除相应餐次费用。(通过工资项目人事取数公式到表a 中取数据)

那位能人可提供汇总部分的sql 语句,或有更好的解决方法,不胜感激!!!!

请各位大侠不吝赐教!!!!!

我在想能不能通过自定义考勤算法来处理

1.根据日结果的信息,判断员工的餐次

2.一卡通的数据直接取到

3.薪资中设置公式,从考勤中取数,计算餐费。谢谢,已通过班次参数和考勤算法等解决,只是无法计算加班段餐次、请假段餐次,即使计算也很麻烦!!

谢谢!!

支持三班倒跨24小时的考勤管理软件

四川亿源智能科技有限公司结合多年来对北京中控科技的全系列指纹考勤机的综合全面了解,组织较强的技术研发队伍,于2006年03月推出了完全基于win2000、win2003、winNT和winXP 等多个操作系统下的指纹考勤管理软件(eyFingerAtt版本号:v1.0.2006.518)。该系统目前已经在包括:中国铁通四川分公司、中国铁通成都市公司、中国铁通成都网管中心等多个机关单位、企业使用,性能稳定,用户反应良好。

四川亿源智能科技有限公司推出的基本北京中控全系列指纹考勤机的考勤管理系统同时还具备以下功能特性:

1. 时段与班次定义

系统参照国内众多考勤机生产厂家的考勤算法,设计了时段和班次的双重定义。

要求(无需刷卡、上班刷卡、下班刷卡和上/下班都需要刷卡)和计算工作日等;

围内选择每一天上下班的时段,可以选择多个时段。

2. 人员排班

系统提供任何个人或部门全部人员进行任意日期范围的排班;还可以直接对某一天修改上班时段。如果某人某天的上班时段与按班次定义计算出的上班时段不相符,操作员还可以直接删除、修改和添加上班时段。

3. 三班倒

基于时段、班次和人员强大的排班功能,实现一些生产型企业或服务行业的三班倒甚至是更为复杂的规律排班都可以实现。

4. 跨24小时(72小时座标)

事实上要实现三班倒或两班倒,就必须解决上下班时段跨24小时的技术难题。事实上72小时座标是解决跨24小时的最有力措施,也是最为科学现实的。所谓72小时座标是指将传统的24小时制进行延长。如时间超过当天24小时,则在该时段上加24小时,如果是超过2天的,则加48小时。

5. 上下班刷卡自定义

目前一般的考勤算法采取定义一天刷两次卡或一天刷四次卡的简易算法来实现。其功能只能解决少数单位办公人员的考勤管理,而实现实现包括:市场人员、采购人员、工程人员、生产流水线人员及清洁、保安等人员的出勤有效管理。

CAS 考勤管理子系统支持定义上、下班刷卡方式,可选择:上班刷卡、下班刷卡、上下班都需刷卡和上下班都需要刷卡。配合班次定义可以有效地描述出几乎所有的人员出勤规律,最终保障针对不同的用户、不同的人员出勤规律进行科学排班、有效考勤管理。

总之,笔者认为,北京中控科技的全系列指纹考勤机(A系列和X 系列)其硬件性能稳定,性价比好,产品使合寿命长,如果结合亿源智能科技推出的指纹考勤管理软件,可以适应更多用户的需求,也可以更好地为用户服务,满足用户的实际应用需求。欢迎广大经销商、代理商、用户与四川亿源智能科技有限公司市场部联系。

关于考勤系统mssql2008

悬赏分:120|解决时间:2010-6-2909:06|上班刷卡记录

上午找出最后一次上班卡最后一次下班卡

下午找出最后一次上班卡最后一次下班卡

加班找出最后一次上班卡最后一次下班卡

注:上班卡下班卡也行同时刷多次

问题补充:

主要想根据刷卡记录算出每个人每天的工作几个小时

gzbhid 员工id 对应员工信息表的id

dates 刷卡的时间

arrid 27357上班卡27361下班卡

白班

上午上班8:00-12:00

下午上班13:00-17:00

加班

18:00-不定12:00-13:00吃饭17:00-18:00吃饭

这个问题比较复杂,设计到时间点的界定

--建立辅助表

IF EXISTS(SELECTname FROM sysobjects WHERE

DROP TABLE worktime

GO

create table worktime(idint,workfrom smalldatetime, workend smalldatetime, flag int)

go

declare @asmalldatetime

set @a=0

insert into worktime select 1,dateadd(mi,08*60,@a),dateadd(mi,12*60,@a),1insert into worktime select 2,dateadd(mi,12*60,@a),dateadd(mi,13*60,@a),0insert into worktime select 2,dateadd(mi,13*60,@a),dateadd(mi,17*60,@a),1insert into worktime select 3,dateadd(mi,17*60,@a),dateadd(mi,18*60,@a),0insert into worktime select 3,dateadd(mi,18*60,@a),dateadd(mi,20*60,@a),2insert into worktime select 4,dateadd(mi,20*60,@a),dateadd(mi,22.5*60,@a),1insert into worktime select 5,dateadd(mi,22.5*60,@a),dateadd(mi,23.5*60,@a),0insert into worktime select 5,dateadd(mi,23.5*60,@a),dateadd(mi,3.5*60,@a+1),1insert into worktime select 6,dateadd(mi,3.5*60,@a+1),dateadd(mi,4.5*60,@a+1),0insert into worktime select 6,dateadd(mi,4.5*60,@a+1),dateadd(mi,5*60,@a+1),1insert into worktime select 7,dateadd(mi,5*60,@a+1),dateadd(mi,8*60,@a+1),2----查询

select gzbhid,日

期,convert(decimal(3,1),(isnull(sum(datediff(mi,wf1,we)),0)-sum(d1))/60.0)上班时间,name ='worktime' AND type ='U')

convert(decimal(3,1),(isnull(sum(datediff(mi,wf2,we)),0)-sum(d2))/60.0)加班时间

from

(selectgzbhid,wf1,(casewhen wf1>wf2then null else wf2end) wf2,

(casewhen datepart(hh,we)

,(selectisnull(sum(datediff(mi,workfrom,workend)),0)from worktime

where flag=0

and dateadd(day,datediff(day,workfrom,wf1),workfrom)>wf1

and dateadd(day,datediff(day,workend,we),workend)

,(selectisnull(sum(datediff(mi,workfrom,workend)),0)from worktime

where flag=0

and dateadd(day,datediff(day,workfrom,wf2),workfrom)>wf2

and dateadd(day,datediff(day,workend,we),workend)

,convert(varchar(10),(casewhen datepart(hh,we)

end),20) 日期

from (select*,

(selecttop 1(casewhen

dateadd(day,datediff(day,workend,x.dates),workfrom)

(casewhen datepart(hh,x.dates)

else dateadd(day,datediff(day,workfrom,x.dates),workfrom)end)

from worktime where flag=1

and

dateadd(day,datediff(day,workend,x.dates2),workfrom)

and dateadd(day,datediff(day,workend,x.dates),workend)>x.dates

order by workfrom) wf1

,(selecttop 1(casewhen

dateadd(day,datediff(day,workend,x.dates),workfrom)

(casewhen datepart(hh,x.dates)

else dateadd(day,datediff(day,workfrom,x.dates),workfrom)end)

from worktime where flag=2

and

dateadd(day,datediff(day,workend,x.dates2),workfrom)

and dateadd(day,datediff(day,workend,x.dates),workend)>x.dates

order by workfrom) wf2

,(selecttop 1(casewhen flag=0then

dateadd(day,datediff(day,workend,x.dates2),workfrom)

else x.dates2end) from worktime where

dateadd(day,datediff(day,workend,x.dates2),workend)>x.dates2

order by workend) we

from (select*,(selecttop 1dates from #kqb where gzbhid=a.gzbhidand

arrid=27361and dates>a.dates

and not exists (select1from #kqwhere arrid=27357and

gzbhid=a.gzbhidand dates>a.dates

and dates

from #kqa ) x

where arrid=27357

) x2

) x3

group by 日期,gzbhidorder by 日期,gzbhid

在考勤班次设定里设定好每个班次的最后打卡时间,超过时间系统会自动判断为迟到或早退,在设定里设置现实减半时间,记录迟到早退等,那样在每天生成的考勤纪录里你就可以看到上下班时间,加班时间,以及考勤异常纪录等.希望可以帮到你.

签到是点上的检查

考勤是阶段的总结

考勤表有:到岗,早退,迟到,矿工,请假,放假等项目。签到就比较单一。

问题:

刚接手行政,店家要求做考勤,成果我递上了份考勤表,说不能用,必须要考勤签到表,这两者不同样么,有啥区分?

请申明,另外可以给我些相关文档我做一下比力和学习。

多谢了!

最佳答案:

1、考勤表——是你举行了人工汇总的数据。

二、考勤签到表——是经员工本人签到并确认的熬头手数据。

区分:考勤签到表严酷意义上来说是考勤表的支持文件。

小我私人提议:行政事情比力噜苏繁多,想要把办理事情做患上井井有条,在举行不论什么一项事情的时候都要做到在理有据,可查可依,透明清晰。不要蔑视这份过细,你做行政事情的目的,就是利便其他各部门开展事情、利便你店家查看相关数据和文件。事情是客不雅性的,不是小我私人性的,所以咱们要让文件和证听说话,而不是咱们自己的感性认识和理解。

**以考勤为例:部分公司的考勤是统一的、部分公司不同员工的考勤措施是不同的,递交的资料也不尽相同。

**譬如,有些员工病假的情况,你应该附上病假条。部分新入职的员工的工时统计,有可能要另开一份表格统计。对于考勤的异常情况,要及时同员工沟通并处理(譬如--忘记签到、代签到等等),在处理每一条数据时,都必须是颠末相关职员确认的精确数据,必须提交划

定提交的相关支持质料。

**这两种范式你在文库或是网站上均可以search 到范本。

想用Excel 做签到表,即:如果在表中的A1单元输入姓名如“张三”,则在B1单元自动显示出输入的时间"XX 时XX 分”。请大侠帮忙。

迭代打开,开1次就够了

B1=IF(A1=" ", " ",IF(B1" ",B1,NOW()))我司验厂软件的特点:

l、A 帐为真实数据,B 帐是验厂数据,两种方式产生,一种是从A 帐过滤到B 帐;第二种是设定规则生成B 帐,根据不同客户的需求可设置不同帐套;

2、验厂软件完全按照新劳动合同法规定设定转换规则;

3、B 版系统有正推与倒推两种运算方式,生成符合劳动法的考勤及工资数据;

4、一般情况下,1000人左右的企业的B 帐只需要10分钟,而且数据绝对符合验厂规则,省事省力;

5、可设定条件自动排除或有选择的排除不合验厂规定人员(如未满16周岁、对工厂意见很大的员工等等)

6、正常班次之外的加班时间可由客户自己调整;

7、与A 版实现快速灵活切换;

8、考勤系统数据中的迟到、早退、请假、签卡等可以自定义设置,系统自动产生,数据更真实;

9、考勤系统依排班数据,自动生成为每一个人的符合规定的正确打卡记录;

10、打卡范围可设置:提前打卡时间、延后打卡时间等,打卡时间随机生成,没有规律,(有的软件的帐单出现同一分钟打200人卡的情况一看就假);

11、几秒内实现A 帐B 帐系统自由切换,并通过相关的密码切换功能,严格控制系统使用和登陆权限;

12、安全性好、隐蔽性强;

13、依需定制方案:我司可依客户实际需求进行定制方案;

14、各种报表齐全、对应,如原始打卡数据、考勤日报表、考勤月报表、各种请假单等(齐全的报表往往让验厂人员感觉如此多的各种报表,造假的可以性很低,大大提高验厂的通过率)

可以技术支持转换及同步原有考勤系统数据

如需要看我用户名,深圳市拓新科技有限公司

大帮手验厂软件:

1、支持多帐套,如A 帐为真实数据,B帐是验厂数据,不同客户可设置不同帐套;

2、排班、加班时间完全用户自定义控制,系统自动根据排班情况生产模拟产生迟到、早退等数据;

3、可自动控制验厂人员的合法性(如未满16周岁或18周岁的人员,系统自动排除);

4、独有的数据处理算法,快速生成符合验厂要求的考勤及工资数据;一般情况下,3000人左右的企业只需要30分钟,而且绝对符合验厂规则,省事省力;

5、支持与考勤机的实时通讯,及时刷卡的数据可以出现在系统中;

6、考勤数据中的迟到、早退、请假等可以自定义设置,系统自动产生;

7、安全性高,隐蔽性强,所有界面都不会出现与假帐有关的任何东西;

8、A帐B 帐系统自由切换,并通过相关的密码切换功能,严格控制系统使用和登陆权限;安全性好、隐蔽性强,基础数据也可以同步、共享。

9、系统依排班数据,自动随机生成为每一个人的打卡记录,员工每天的打卡时间随机生成,不会千篇一律。

10、各种报表齐全、对应,如原始打卡数据、考勤日报表、考勤月报表、各种请假单、各种签卡单等(齐全的报表往往让验厂人员感觉如此多的各种报表,造假的可以性很低,大大提高验厂的通过率)

11、假帐的刷卡数据,也可以取自真帐的有效数据;

12、可以控制A 帐和B 帐工资的实发金额一致。

13、操作简单、参数设置灵活、应用面广,可扩充功能强大。

广州市信和永嘉公司为客户提供的考勤软件:

提供对不同考勤机的数据导入、读取接口。

灵活定义上下班时间与考勤方案。

灵活设置倒班类型与加班类型。

对每个部门或每位员工设置不同的考勤方案,提供批处理功能。

记录每位员工的出勤状况,根据方案设定自动判断迟到、早退或旷工。

制定加班计划,记录员工的加班情况。

记录员工的请假、休假情况,并做销假预警提示与销假处理。

统计每位员工的月出勤结果与薪资系统链接进行计算。

提供特定时间内个人/部门/公司的出勤数据统计图表,并进行分析比较。

可灵活设定、调整节假日、公休日、休息日。

自动计算和累计员工的假期,汇总休假明细及结存报表。

提供流程化休假申请审批管理。

员工的考勤纪录可以手工处理或通过装载由外部转入(例如:考勤数据可以来自考勤机);根据不同的员工类别、职务、岗位,设定不同的员工工作定额管理(工作日历);可以灵活定义公司的考勤项目,并且可以定义其相应的统计单位与计算单位,如早班、中班、夜班等;考勤纪录的统计单位与计算单位可以自动转换,如考勤单位为小时,计算单位可自动折算为天,以便计算加班工资;

根据员工的考勤纪录和单位工资的计算方式自动计算缺勤或出勤工资,并可以自动根据考勤纪录判断全勤奖的发放与否。可按客户要求任意设置班次项目,并设置各班次的计算规则,如设正常上班为夜班\中班的一律按次计算并按月计算补贴,休息日夜班中班不再按次计算,只计算加班小时数。上夜班、中班的员工,如果当日夜班、中班中还加班了,计算加班小时数据,并在月底统计累计加班小时数据

考勤数据采集可自由灵活定义,如第一次打卡比上班时间提前20分钟以及第二次打卡比下班晚6个小时系统采集的数据是无效的。第一次打卡时间超过上班时间5分钟系统判断为迟到等。

可根据员工的打卡数据导入或手工维护在信和永嘉的HR系统中进行数据加工处理,可根据事先的排班规则来判断出来各员工的三种类型加班明细累计小时数据,迟到累计小时数,所有夜班次数。

员工假期管理与考勤记录集成,如员工在假期管理请事假或病假,在考勤记录中有该数据。员工在假期管理模块请假后,该数据可与时间管理模块集成,月底在缺勤处理中可将本月所有请假单以及未请假旷工的数据列出,由管理人员判断或系统自动判断是否所缺勤还是请假处理

第3节考勤管理

●可以连接各种电子考勤系统,通过人事模块中的员工编号和考勤系统中的卡号建立对应的持卡用户信息,并通过数据导入接口功能获取电子考勤系统中的原始考勤数据。

●灵活设立排班表,如设立班制A~E,其中A~E每个班制可以设定不同的上班时间、下班时间、迟到开始时间、早退开始时间、加班开始时间,可以实现24小时排班。

●在具体排班时,可以按照每个员工单独排班,也可以按照行政班组集体排班。灵活定义上下班时间、加班时间和考勤规则,灵活排班

●根据员工的班值和休假记录自动判断是否迟到、早退或旷工以及加班的情况

●系统自动将考勤分析结果带入薪资模块,并进行工资计算

●各种考勤报表,如员工考勤记录报表、员工迟到记录报表、员工早退记录报表、员工缺席记录报表、员工加班记录报表、员工节日加班记录报表、员工周末加班记录报表、员工上班未打卡记录报表、员工下班未打卡记录报表一班制是指工作人员每天同时上下班的形式,又称“单班制”。主要适用于生产、经营组织和管理工作相对比较简单、能间断生产经营的、不宜组织多班制的企业。其优点是:有利于职工按统一的时间上下班、责任明确、管理方便,便于安排职工的学习和文娱活动,有益于职工的身心健康。缺点是:现有生产条件、经营设施不能充分利用,职工易出现忙闲不均的现象。

顾名思义,两班制就是在一天的时间内(即24小时)执行两轮的上班制度(即十二小时换一批员工上下班),机器不间断的工作。

两班制,是由于企业的需求所以需要机器不间断的运转,以完成企业的生产目标,即24小时内不停的生产,又因为人员不足等原因,需要每个工人工作12个小时左右。

两班制又叫两班倒,一般分成白班和夜班。这就说明有人必须要上夜班,企业考虑到员工生理周期问题,所以两班制一般情况都是每隔一个星期或两个星期进行一次员工上班时间的倒换,即上批上白班的这回轮到上夜班。同理,上批上夜班的这回上白班。所以就是说这些人必须一个月会有一两回上班时间是二十四小时的。不过有些企业就会很科学的处理交接班的事情。

两班制是相对于三班制而言的,但其工作时间大于三班倒,会累很多。这是社会发展的必经阶段,而且我国是劳动密集型产业大国有由于人口密集,所以我国拥有丰富的廉价劳动力,由此很多国外手工业产业就设在我国以获取廉价劳动力,节约成本提高利润。

根据国家现行的劳动法,实行劳动者每日工作时间不超过8小时、平均每周工作时间不超过40小时的工作制度。劳动者按照劳动合同约定的时间提供劳动,即可以获得相应的工资福利待遇。加班加点的,可获得加班加点工资。

两班制,即一天运转16小时。

一班制one-shift workday ststem

两班制two-shift workday system

三班倒three-shift workday system “一班制”是指公司的所有职员都是同样的工作时间,一般的国家机关和事业单位都是这样的;

“两班制”是指全体员工有两套不同的作息时间,一般商场,超市会是这样;“三班倒”是说员工有三个不同的作息时间,一般都是24小时有人的工作,比如保安。

东莞很多两班倒的工厂,每班12小时


相关内容

  • 指纹识别系统的设计
  • 郑州轻院轻工职业学院 专科毕业设计(论文) 题 目:____________________ 学生姓名:____________________ 专业班级:____________________ 学 号:____________________ 院 (系):____________________ ...

  • 指纹考勤管理系统方案
  • 员工指纹身份识别系统 技术解决方案 目 录 一.开发背景 ............................................................... 1 二.系统实现的解决方案 ........................................... ...

  • 远程考勤系统解决方案
  • 远程考勤系统解决方案 汉王科技股份有限公司 目 录 第1章 汉王科技简介 . ............................................................................................................... ...

  • 人脸识别考勤系统解决方案
  • 人脸识别考勤系统解决方案 一. 人脸识别行业背景 严格规范的员工考勤管理是现代企事业单位提高管理效益的重要保证, 而传统的以打卡.刷卡为代表的考勤产品,存在着替代打卡,效率低下,不易统计,管理和使用维护成本高等弊端. 指纹识别产品在考勤中的大规模应用,部分解决了代打卡的问题,但是超过5%左右的人群天 ...

  • 工资管理系统--详细设计
  • 目录 1引言 .................................................................................................................... 5 1.编写目的 ................. ...

  • 主办方北京林业大学信息学院
  • 主办方:北京林业大学信息学院 承办方(排名按笔画顺序先后): 北京林业大学生物科学与技术学院 北京林业大学园林学院 北京林业大学经济管理学院 北京林业大学理学院 2011年3月 北京林业大学第八届"创e杯"文件汇编 北京林业大学网络文明规范 要善于网上学习 不浏览不良信息 要诚实 ...

  • N多毕业设计题目
  • 基于Ajax技术的WEB应用的设计 又快到毕业的时候了,大家该准备做毕业设计了.大学问问特意收集了一些毕业设计(论文)的题目,供大家选择. VB售楼管理系统 VB无纸化考试系统 VB小区物业管理系统 VB航空公司管理信息系统 VB计算机机房管理系统 VB房地产评估系统VB+SQL2000 VB光盘信 ...

  • 数据结构课程实习大纲-2015
  • <数据结构与算法>课程设计大纲 (一)课程设计教学目的及基本要求 1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力: 2.初步掌握软件开发过程的问题分析.系统设计.程序编码.测试等基本方法和技能: 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力: 4.训 ...

  • 电气专业的一些毕业设计题目
  • 电气专业的一些毕业设计题目 电子类: 1.红外遥控照明灯(电路+程序+论文) 2.基于单片机的多功能智能小车设计论文(电路+程序+论文) 3.基于数字信号处理器(DSP)的异步电机直接转矩控制研究(硕士)(论文+上位机下位机软件+程序) 4.简单温度控制系统(仅论文) 5.漏电保护器(电路+程序+论 ...