请假管理是OA系统中流程最复杂的模块之一。不同类型的请假有不同的规则,审批流程也有不同的路径。
一、请假类型
系统支持多种请假类型,每种类型有不同的规则:
- 事假:无薪假,按实际天数扣除薪资
- 病假:需提供病假证明,有薪假
- 年假:根据工龄和职级分配天数,有薪假
- 婚假:法定天数,有薪假
- 产假:法定天数,有薪假
- 丧假:法定天数,有薪假
二、请假流程设计
请假流程分为以下几个步骤:
- 提交申请:员工选择请假类型、填写起止日期、请假原因
- 自动计算:系统自动计算请假天数(排除周末和节假日)
- 提交审批:申请提交后,自动发送给上级审批
- 审批处理:上级可以批准或驳回,驳回时需要填写原因
- 结果通知:审批结果通过系统消息通知申请人
三、天数计算逻辑
请假天数的计算是请假模块最核心的逻辑:
- 自然日计算:按起止日期的自然日计算
- 工作日计算:只计算工作日,排除周末和法定节假日
- 半天计算:支持半天请假(上午或下午)
不同类型的请假使用不同的计算方式:年假按工作日计算,事假按自然日计算。
四、审批链设计
审批链的设计考虑了不同情况:
- 普通员工:部门主管审批
- 部门主管:上级总监审批
- 连续请假超过3天:需要部门主管和上级总监两级审批
- 特殊假期(婚假、产假):需要HR审核
五、设计中的思考
- 假期余额管理:年假等有额度限制的假期,需要实时更新余额
- 冲突检测:同一时间段不能有两条重叠的请假记录
- 审批超时提醒:如果审批人长时间未处理,系统自动发送提醒
- 请假日历:以日历形式展示团队成员的请假情况,方便排班
请假管理模块的设计难点在于规则的灵活性和流程的严谨性之间的平衡。