Files
2026-07-18 08:57:45 +08:00

2.3 KiB

MVP 产品范围

1. 目标

用一个可运行的请假审批闭环验证移动端、身份、组织、权限、Flowable、审计和 AI 工具调用边界。

2. 用户角色

角色 核心能力
员工 创建和查看本人申请;撤回满足条件的申请
部门主管 查看并处理分配给自己的审批任务
OA 管理员 管理组织基础数据、查看流程定义和审计记录

3. 主流程

  1. 员工登录并创建请假草稿。
  2. 员工填写类型、起止时间、原因和附件。
  3. 服务端校验数据、权限和幂等键后发起流程。
  4. 部门主管收到待办并批准或驳回。
  5. 员工查看状态、审批意见和时间线。
  6. 每个关键动作写入不可由普通管理员修改的审计记录。

4. 业务规则

  • 结束时间必须晚于开始时间。
  • 首期请假类型为事假、病假和年假。
  • 申请人不能审批自己的申请。
  • 只有当前任务处理人可以批准或驳回。
  • 已结束流程不能撤回;审批前允许申请人撤回。
  • 请假时长不超过 24 小时,由部门主管审批后结束。
  • 请假时长超过 24 小时,部门主管同意后必须由 OA 管理员串行复核。
  • 超过 24 小时的年假由 OA 管理员与 HR 并行复核,全部同意才批准,任一驳回即终止流程。
  • 长期请假的申请人、部门主管和 OA 复核人必须满足职责分离。
  • 所有写请求必须携带 Idempotency-Key
  • 状态更新必须使用版本号防止并发覆盖。
  • 流程启动后固定引用已发布的流程版本。

5. AI 能力

首期只提供:

  • 将自然语言解析为请假单草稿。
  • 查询当前用户请假申请的流程进度。

AI 不直接写数据库或调用 Flowable。任何发起申请的动作都必须由 Kotlin 后端重新鉴权、校验,并由用户确认。

6. 验收标准

  • 员工能够在移动端完成申请发起并看到状态变化。
  • 主管能够收到并处理待办。
  • 越权读取和越权审批返回明确的 403 错误。
  • 同一幂等键重复提交不会产生两条申请或两个流程实例。
  • 断网草稿能够恢复,失败提交可安全重试。
  • 每次写操作都能通过 Trace ID 查询对应审计记录。
  • AI 生成的草稿在用户确认前不会触发业务写操作。