后端拆分风险规则生成为解释器、语义分析、本体对齐等子模块, 优化模板执行和流程图生成,完善员工种子数据和导入逻辑,增强 报销单权限策略和草稿持久化,前端新增预算中心视图和趋势图 组件,重构审计页面和风险规则测试对话框交互,完善文档中心 和报销创建页面细节,补充单元测试覆盖。
1.4 KiB
1.4 KiB
Day 3 - 预算占用、释放、核销服务
目标
把预算变化统一收敛到预算服务,申请、报销、付款都只能通过预算服务改变预算状态。
服务能力
预算检查:
- 校验预算归属是否存在。
- 校验预算是否被冻结。
- 校验可用余额是否充足。
- 返回超预算金额和处理建议。
预算预占:
- 用于费用申请提交。
- 写入
reserve交易。 - 记录来源单据。
预算释放:
- 用于申请撤回、退回、驳回、取消。
- 写入
release交易。 - 必须找到原始预占来源。
预算核销:
- 用于报销审批通过。
- 写入
consume交易。 - 如果来源申请已有预占,应先释放预占或转换为核销,不能重复占用。
预算回滚:
- 用于报销退回或撤销审批。
- 写入
rollback交易。
关键防错
- 同一来源单据不能重复预占。
- 同一报销单不能重复核销。
- 释放金额不能超过原预占金额。
- 核销金额不能超过可用余额加当前来源预占余额。
- 所有预算交易必须有来源单据和操作人。
验收
- 预算预占后可用余额减少。
- 预算释放后可用余额恢复。
- 预算核销后已核销金额增加。
- 重复预占会被阻断。
- 重复核销会被阻断。
- 台账能解释每一次余额变化。