OA考勤开发需求主要涉及前端考勤设备
|
OA考勤开发需求主要涉及前端考勤设备以及后台。其主要目的是为了即时显示员工日常考勤事宜,同时综合考虑出差、外出等考勤异常的自动处理。同时根据加班流程及考勤记录自动计算加班时间第二章需求描述一、考勤数据采集1、前端考勤设备支持 前端考勤设备需支持数据库形式(考勤数据库需为sqlserver),同时需向OA开放数据库并提供相应表结构说明(用于提取员工的打卡记录)【签到签退记录表】 CREATETABLECHECKINOUT( USERIDINTNOTNULL,--员工ID号 CHECKTIMEDATETIMENOTNULLDEFAULTGETDATE(),--签到签退时间 ……(其他字段略) );2、基础数据的同步 考勤设备中的员工信息需与OA系统中的员工信息保持一致,建议以工号作为唯一值,初始化时一次性导入,今后手工进行维护。其中身份证证件号需与OA系统中的员工工号保持一致。【员工信息表】 CREATETABLEUSERINFO( USERIDINTIDENTITY(1,1)NOTNULL,--员工ID号 BADGENUMBERVARCHAR(12)NOTNULL,--考勤号码 SSNVARCHAR(20)NULL,--身份证证件号 NAMEVARCHAR(20)NULL,--姓名 ……(其他字段略) CONSTRAINTUSERIDSPRIMARYKEY(USERID) );3、公司OA系统的考勤数据采集 将以如下格式提取考勤设备中的考勤数据,其中无首次打卡日期则代表当天未打卡(旷工),首次打卡时间大于上班时间(含60分钟以内)则代表当天迟到、(60分钟以外)则代表当天缺勤,最后一次打卡时间小于下班时间(含60分钟以为)则代表当天早退、(60分钟以外)则代表当天缺勤。 建议制作一张中间表,用于记录实际打卡及打卡异常的签到签退时间 当日未打卡的员工也需要记录到此表中(首次与最后一次打卡时间为空)。员工编号日期首次打卡时间最后一次打卡时间签到时间签退时间 默认取首次打开时间,如无打卡数据或打卡数据晚于实际应签到时间则判断是否有相应时间段的考勤异常流程,如有则算其正常签到时间 默认取最后一次打卡时间,如无打卡数据或打卡数据早于实际应签退时间则判断是否有相应时间段的考勤异常流程,如有则算其正常签退时间二、考勤异常处理1、打卡异常记录(名易OA中的打卡异常流程) 通过OA打卡异常流程抵消打卡异常情况,打卡异常类型分为:未带卡、卡片损坏、紧急事项三类(打卡异常抵消后就算其这天全天出勤)2、调休、出差、请假记录 通过OA调休、出差、请假流程抵消打卡异常情况(只抵消流程中注明的时间范围,例如,流程中注明的开始时间为8点15分,结束时间为10点15分,如果其10点15分00秒之后打卡则算为迟到,如10点15分00秒之前打卡则不算迟到),如调休、出差、请假时间范围包含了上下班时间,则抵消当天的任何考勤异常情况,(例如,流程中注明的开始时间为8点15分,结束时间未17点15分,则当天不管有任何考勤异常记录则都算其正常出勤,出勤类型会根据流程类型区分)名易的加班及调休信息处理1、加班流程记录 根据OA软件中的加班申请记录,计算员工的加班小时数,加班申请记录只允许按天提交申请,审批通过后,自动计入加班时间。 加班时间的计算逻辑如下: A、如加班日期当天没有打卡数据则根据流程中的加班小时数记为当天加班小时数(需根据加班开始时间及加班结束时间判断是否需扣除中午的非工作时间及下班后首半小时),根据所得小时数取整(例如:8.5小时则记为8小时)。 B、如加班日期当天有打卡数据则根据设备中的打卡小时数(最后打卡时间-首次打卡时间)与流程中的加班小时数取相对较小的值作为当天加班小时数(需根据加班开始时间及加班结束时间判断是否需扣除中午的非工作时间及下班后首半小时) (例如:上班时间是8点~12点,13点~17点,如加班的时间是7点~18点,根据计算获得的是11个小时,但在实际计算时,需要扣除当中1个小时的中午时段的非工作时间以及下班后的半小时,最终为9.5小时,取整后为9小时) 加班小时数需在每个流程中根据上述逻辑进行计算。(加班流程中不存在跨天的情况)2、调休流程记录 根据企业办公系统中的调休申请记录,计算员工的调休小时数。 如调休的时间范围包含了中午休息的时间,则自动扣除,同时调休开始时间与结束时间如超出工作时间则以工作时间为准。(例如:调休开始时间为7点~18点,则计算时根据工作时间8点开始至17点,并扣除中午的非工作时间1小时,记录为9小时) 调休小时数需在每个流程中根据上述逻辑进行计算。(调休流程中存在跨天的情况,请注意)
信息发布:广州名易软件有限公司 http://www.myidp.net
|
|
|