feat: add conditional multi-level leave approval

This commit is contained in:
selfrelease
2026-07-18 08:49:02 +08:00
parent e46aa00e80
commit 4741fb26c8
12 changed files with 103 additions and 9 deletions
+1
View File
@@ -28,6 +28,7 @@
- [x] Flowable 部门主管审批流程发布与执行
- [x] 发起、主管待办、批准、驳回、撤回和时间线
- [x] 多任务流程的中间审批事件与最终流程结束判定
- [x] 按请假时长路由的主管与 OA 条件串行审批
- 附件、通知、弱网恢复和幂等处理
## M3AI 最小闭环
+15 -1
View File
@@ -35,4 +35,18 @@ Flowable 负责任务和流程路径,`business.leave_request` 仍是请假业
- 驳回路径必须明确是结束流程、退回上一步还是返回申请人修改。
- 流程发布前必须覆盖通过、驳回、超时、撤回和无审批人等路径测试。
当前仓库部署的是单主管审批定义,但后端状态同步已经按多任务流程设计,不会在第一个串行或并行任务完成时提前结束申请。
## 当前已部署流程
```text
员工提交
→ 部门主管审批
├─ 驳回 → REJECTED
└─ 同意
├─ 时长 ≤ 24 小时 → APPROVED
└─ 时长 > 24 小时
→ OA 管理员复核
├─ 同意 → APPROVED
└─ 驳回 → REJECTED
```
该流程已经验证条件网关和多级串行任务。后端状态同步按通用多任务语义设计,不会在第一个串行或并行任务完成时提前结束申请。
+3
View File
@@ -28,6 +28,9 @@
- 申请人不能审批自己的申请。
- 只有当前任务处理人可以批准或驳回。
- 已结束流程不能撤回;审批前允许申请人撤回。
- 请假时长不超过 24 小时,由部门主管审批后结束。
- 请假时长超过 24 小时,部门主管同意后必须由 OA 管理员串行复核。
- 长期请假的申请人、部门主管和 OA 复核人必须满足职责分离。
- 所有写请求必须携带 `Idempotency-Key`
- 状态更新必须使用版本号防止并发覆盖。
- 流程启动后固定引用已发布的流程版本。