后端拆分风险规则生成为解释器、语义分析、本体对齐等子模块, 优化模板执行和流程图生成,完善员工种子数据和导入逻辑,增强 报销单权限策略和草稿持久化,前端新增预算中心视图和趋势图 组件,重构审计页面和风险规则测试对话框交互,完善文档中心 和报销创建页面细节,补充单元测试覆盖。
2.1 KiB
2.1 KiB
Day 1 - 预算模型与接口契约
目标
先把预算中心的数据边界和接口边界定稳,避免后续把预算逻辑散落在申请、报销、审批和付款模块里。
开发任务
- 新增预算模型设计。
- 新增预算交易台账设计。
- 新增预算服务边界设计。
- 新增预算接口契约。
- 新增预算状态与交易类型常量。
- 明确申请、报销、付款对预算服务的调用点。
建议模型
预算额度:
BudgetAllocation
- id
- budget_no
- fiscal_year
- period_type
- period_key
- department_id
- department_name
- cost_center
- project_code
- subject_code
- subject_name
- original_amount
- adjusted_amount
- status
- warning_threshold
- created_at
- updated_at
预算交易:
BudgetTransaction
- id
- transaction_no
- allocation_id
- source_type
- source_id
- source_no
- transaction_type
- amount
- before_available_amount
- after_available_amount
- operator
- reason
- created_at
交易类型:
init 初始化
adjust 调整
reserve 预占
release 释放
consume 核销
rollback 回滚
freeze 冻结
unfreeze 解冻
预算汇总字段由交易汇总得到:
total_amount = original_amount + adjusted_amount
reserved_amount = reserve - release
consumed_amount = consume - rollback
available_amount = total_amount - reserved_amount - consumed_amount
接口契约
GET /api/v1/budgets/allocations
POST /api/v1/budgets/allocations
GET /api/v1/budgets/allocations/{id}
GET /api/v1/budgets/allocations/{id}/transactions
POST /api/v1/budgets/allocations/{id}/adjust
POST /api/v1/budgets/check
POST /api/v1/budgets/reserve
POST /api/v1/budgets/release
POST /api/v1/budgets/consume
POST /api/v1/budgets/rollback
GET /api/v1/budgets/summary
验收
- 能创建一条部门月度预算。
- 能查询预算列表和详情。
- 能查询预算台账。
- 能根据部门、成本中心、项目、费用科目定位预算。
- 预算不足时
check接口能返回明确原因。