文件
hyb-oa/docs/需求-请假考勤修正规约.md
T

13 KiB
原始文件 Blame 文件历史

需求 - 请假考勤修正规约

版本:1.0 日期:2026-05-09 状态:模块级开发规约 上级事实源:海音达OA-MVP需求规格说明书 相关事实源:需求 - 统一审批中心规约、需求 - 企业微信基础设施规约 体验总依据:产品设计规则基线

本规约细化请假、补卡、外出、加班与考勤修正的产品要求。正式审批记录以 OA 为准;企业微信打卡只作为原始采集来源,不直接决定最终考勤结论。PC 和移动页面体验以产品设计规则基线为依据,不重复定义通用审批链和移动导航规则。


1. 模块目标与边界

1.1 目标

  • 员工能在 OA PC 或移动端提交请假、补卡、外出、加班申请。
  • 主管、HR/管理员在 OA 内审批并留痕。
  • 已通过的考勤修正影响团队状态、日历展示和后续正式考勤口径。
  • 企业微信打卡原始记录由 OA 按摘要同步,必须结合 OA 审批结果解释。

1.2 适用对象

  • 请假:年假、事假、病假、调休、其他假别。
  • 补卡:漏打卡、忘打卡、设备异常、外勤导致未打卡等修正。
  • 外出:工作时间内外勤、客户拜访、项目现场、临时外出。
  • 加班:工作日加班、周末加班、节假日加班。
  • 出差:首批只保留后续扩展边界,不在本规约内做完整差旅单。

1.3 不做范围

  • 不使用企业微信原生审批处理请假、补卡、外出、加班。
  • 首批不重造企业微信打卡的定位、人脸识别、Wi-Fi、排班和防作弊规则。
  • 不在 OA 内重造企业微信打卡采集和风控;OA 只同步摘要并做审批解释。
  • 首批不做复杂假期余额、调休余额、薪资计算、排班引擎和法定节假日自动规则。
  • 不把企业微信打卡异常直接作为 OA 最终考勤结论。

1.4 当前实现状态

REQAUD 复核后,ATTV1 已完成统一入口实现,当前运行时完成度如下:

能力 状态 当前口径
请假申请、审批、撤回、编辑、移动查看 DONE 已接入统一审批中心和 PC/移动页面。
请假对团队状态/日历的影响 DONE 已批准请假可作为团队状态和日历依据。
企业微信打卡作为原始采集 DONE 由企业微信侧承载定位、人脸、Wi-Fi、设备和防作弊能力;OA 不重造。
企业微信打卡 API 同步 PARTIAL 已新增同步批次和企微打卡摘要表;有已授权调用打卡 API 的自建应用 Secret 和企微权限时同步,缺配置时记录 SKIP。WECOM_CHECKIN_SECRET 可作为单独考勤同步应用的显式覆盖;未配置时复用已授权工作台应用的 WECOM_AGENT_SECRET。
员工补卡申请审批 DONE 员工可在 OA 提交补卡修正,进入统一审批;通过后用于月度考勤解释,不写回企业微信。
外出申请审批 DONE 员工可在 OA 提交外出修正,记录地点摘要和事由,审批后用于月度解释。
加班申请审批 DONE 员工可在 OA 提交加班修正,记录时间、原因和补偿口径,审批后用于月度解释。
历史 OA 极简打卡 attendance_v1 FROZEN_CLOSED 自建上下班打卡、管理员补卡和自建月度统计已关闭正式入口;旧表保留,旧写接口返回可解释 409。

2. 角色与权限

角色 可做动作 权限边界
申请人 新建草稿、提交、撤回、查看自己的申请、按退回意见修改重提 只能编辑本人草稿、已退回或允许重提的申请
主管/审批人 查看分配给自己的待办,通过、驳回、退回、转审 只能处理当前分配给自己的 OA 审批任务
HR/管理员 复核请假、补卡、外出、加班,维护基础假别和考勤口径 不能绕过流程直接改审批结果;必要修正必须审计
老板/总经理 处理长假、高风险或特殊事项 操作仍需写入审批历史和审计日志
系统管理员 维护权限、通知、入口、基础配置 默认不具备业务审批权

审批动作、转审、撤回、退回、驳回和历史留痕以 需求 - 统一审批中心规约 为总依据。


3. 入口与对象

入口 场景 要求
PC 请假/考勤修正页 批量查看、较复杂申请、管理员复核 可查看完整字段、审批历史和团队影响
移动工作台 员工日常提交请假、补卡、外出、加班 操作路径短,适合手机填写
移动审批 主管或 HR 处理待办 进入 OA 审批页处理,不进入企业微信原生审批
团队状态页 查看今天谁在岗、请假、外出、出差 使用已批准申请影响展示
日历视图 查看请假和外出安排 首批可轻量展示,不做复杂排班
企业微信 deeplink 通知提醒和跳转 点击后回 OA 页面

4. 申请字段

4.1 通用字段

字段 含义 要求
申请编号 OA 生成的唯一编号 提交前或首次保存时生成,必须唯一
申请类型 请假、补卡、外出、加班 必填
申请人 发起人 必填
部门 申请人所属部门 系统带出
开始时间 申请开始时间 请假、外出、加班必填
结束时间 申请结束时间 请假、外出、加班必填
时长 小时或天 系统计算,允许按业务规则人工修正并留痕
原因 申请说明 必填
附件 病假证明、外出证明、加班依据等 按类型和规则决定
关联项目/客户 项目现场、客户拜访、项目加班等 外出、加班、项目相关请假建议填写
审批状态 草稿、审批中、已通过等 系统维护
生效状态 是否已影响团队状态或考勤口径 系统维护

4.2 类型专属字段

类型 专属字段 要求
请假 假别、请假时段、是否半天、是否需证明 病假或特殊假别可要求附件
补卡 补卡日期、补卡时间点、上班/下班卡、异常原因 必须指向具体缺失或异常打卡时间点
外出 外出地点、外出事由、客户/项目、预计返回时间 应说明是否影响当天在岗状态
加班 加班日期、加班开始/结束、加班原因、补偿口径 补偿口径首批仅记录:无补偿、调休、加班费待定
出差预留 出差地点、开始/结束、交通住宿 首批只保留后续扩展,不作为完整差旅验收

5. 审批规则与状态

5.1 审批规则

以下是 10 人以下公司试运行建议值,不等于最终公司制度。正式制度可由管理员配置调整。

类型 阈值 默认审批链 HR/管理员复核 兜底审批人
请假 <=1 天 直属主管 无 HR/管理员
请假 >1 天 直属主管 HR/管理员复核 老板/总经理
补卡 所有 直属主管 HR/管理员复核 HR/管理员
外出 所有 直属主管 HR/管理员按需复核 HR/管理员
加班 所有 直属主管 HR/管理员复核 HR/管理员

若找不到审批人,提交必须阻断,不生成半截流程。审批规则与通用状态转换以统一审批中心规约为准。

5.2 状态模型

状态 含义 允许动作
草稿 申请人编辑中 编辑、提交、删除
审批中 已提交,等待审批 审批人通过、驳回、退回、转审;申请人按规则撤回
已通过 审批完成 生效到团队状态、日历或考勤解释
已驳回 审批否决 查看原因、复制重提或新建
已退回 需要申请人修改 修改后重提、撤回
已撤回 申请人撤回 查看历史、复制重提
已生效 已影响团队状态或考勤口径 查看、审计
已取消 已批准后由授权人员取消影响 必须填写原因并审计

已通过不等于一定已生效;若团队状态或日历更新失败,审批记录仍保持已通过,生效失败应进入可重试或管理员处理状态。


6. 考勤口径

6.1 基本原则

  • 企业微信打卡记录是原始采集事实。
  • OA 请假、补卡、外出、加班审批是考勤解释事实。
  • 最终正式考勤口径应由企业微信打卡原始记录加 OA 审批结果共同形成。
  • 企业微信打卡异常不直接等于最终考勤异常。
  • OA 首批不重造定位、人脸识别、Wi-Fi、排班和防作弊规则。

6.2 口径示例

场景 原始打卡 OA 审批 正式解释
已批准请假 无打卡或不完整 请假已通过 按请假处理,不直接记异常
忘打卡 缺少上班或下班卡 补卡已通过 按补卡修正解释
客户现场 打卡地点异常或无办公室打卡 外出已通过 按外出处理
晚间工作 正常下班后继续工作 加班已通过 记录加班事实,补偿另按制度处理
无审批异常 缺卡或迟到 无有效 OA 审批 保持异常待处理或人工复核

7. 团队状态与日历

  • 已批准请假应影响对应日期的团队状态,展示为 请假。
  • 已批准外出应在对应时段展示为 外出,必要时显示项目或客户摘要。
  • 已批准加班可进入团队日历或个人记录,首批不强制进入工资计算。
  • 补卡审批通过后影响考勤解释,不一定展示在团队状态中。
  • 团队状态和日历更新失败不得回滚审批结果,应记录失败原因并允许重试。
  • 普通员工只能查看自己和授权范围内的团队状态;HR/管理员和老板按权限查看更大范围。

8. 异常规则

异常 处理规则 用户提示
时间不合法 结束时间早于开始时间、跨区间异常时阻断 “请检查开始和结束时间”
时长为 0 阻断提交 “申请时长必须大于 0”
重复申请 同一时间段已有有效申请时提示或阻断 “该时间段已有申请,请确认”
无审批人 阻断提交,不生成半截流程 “当前审批规则未找到审批人,请联系管理员”
权限不足 服务端拒绝 “无权处理该申请”
团队状态更新失败 审批保持成功,生效状态进入失败可重试 “申请已审批通过,状态同步稍后重试”
已生效后取消 仅授权 HR/管理员处理,必须填写原因 “已生效申请取消需管理员处理”
企业微信打卡未同步 不影响 OA 申请审批 “打卡原始记录暂未同步,审批结果已在 OA 留痕”

9. 验收场景

场景 步骤 预期结果
请假主管审批 员工提交 0.5 天请假;主管通过 申请已通过,并影响团队状态
长假 HR 复核 员工提交 2 天请假;主管通过;HR 复核 审批链完整,HR 复核后生效
补卡审批 员工提交缺失下班卡补卡;主管和 HR 通过 补卡记录影响考勤解释
外出审批 员工提交客户现场外出;主管通过 团队状态显示外出或相关摘要
加班审批 员工提交晚间加班;主管和 HR 通过 加班记录留痕,补偿口径被记录
退回修改 审批人退回申请;员工修改后重提 保留退回历史,重新进入审批
撤回 员工在审批完成前撤回 审批待办失效,历史保留
无审批人阻断 删除或缺失主管后提交 提交失败,不生成半截流程
企业微信提醒回 OA 待办产生后发送企业微信提醒 点击 deeplink 回 OA 审批页处理
团队状态失败不破坏审批 模拟团队状态更新失败 审批保持已通过,生效状态可重试

10. 后续开发拆分建议

  • 已完成:补卡/外出/加班申请对象、统一审批接入、月度考勤解释页、移动入口和企业微信 deeplink 回 OA。
  • 后续 A1:企微打卡 live 同步配置稳定化,覆盖 Secret/API 权限、短窗口同步、错误码和脱敏证据。
  • 后续 A2:团队状态和日历生效逻辑增强,按真实使用反馈决定是否把外出/加班进一步展示到团队状态或日历。
  • 后续 A3:移动端提交与审批体验优化,覆盖普通手机和企业微信 WebView 的真实反馈。
  • 后续 A4:请假考勤主链路回归脚本和人工验收数据集。
  • 后续 A5:出差完整流程专项,不进入当前正式首批能力。

涉及审批状态、团队状态、生效记录或后续打卡同步的 Issue,必须写明失败重试、回滚策略和人工修正路径。