Files
shanxia2.0/openspec/changes/dibang-migration/tasks.md
T
2026-06-10 22:59:34 +08:00

50 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. SQL 与数据模型
- [x] 1.1 编写 `docs/sql/db_tables.sql`:四张 `db_*` 表 DDL(含公共字段、索引、注释)
- [x] 1.2 合并 DDL 至 `docs/sql/shanxia2.0.sql` 全量快照
- [x] 1.3 创建 `backend/app/models/db_models.py`:DbPurchasePlan、DbWeighingSlip、DbInboundOutbound、DbVehicle
- [x] 1.4 在 `backend/app/main.py` 导入 db_models(# noqa: F401)
## 2. 后端基础层
- [x] 2.1 创建 `backend/app/services/db/base.py`(DbCrudService,参照 BxCrudService)
- [x] 2.2 创建 `backend/app/schemas/db/`:各实体 CreateBody/UpdateBody/Response
- [x] 2.3 创建 `backend/app/api/db/__init__.py` 聚合 db_router
- [x] 2.4 在 `backend/app/api/__init__.py` 与 `backend/app/main.py` 注册 db_router
## 3. 后端业务 API(按依赖顺序)
- [x] 3.1 实现 `api/db/vehicles.py` + 主数据 CRUD(车牌;原 task 写 vehicle.py)
- [x] 3.2 实现 `api/db/plans.py` + `services/db/plan_helpers.py` 等(计划 CRUD + plan_no 生成)
- [x] 3.3 实现 `api/db/inventory.py` + 出入库 CRUD
- [x] 3.4 实现 `api/db/weighing.py` + `services/db/weighing_logic.py`(地磅单 CRUD + 联动事务 + 作废)
- [x] 3.5 实现 `api/db/dashboard.py`(统计聚合)
- [x] 3.6 创建 `backend/app/tasks/db_auto_plan.py` 并在 `app/tasks/__init__.py` 注册定时任务
## 4. 前端 API 与类型
- [x] 4.1 创建 `web-admin/src/api/db/vehicles.ts`、`plans.ts`、`inventory.ts`、`weighing.ts`、`dashboard.ts`
- [x] 4.2 TypeScript 类型定义于各 `web-admin/src/api/db/*.ts` 模块(未单独写入 api.d.ts)
## 5. 前端页面(Fresh Mint)
- [x] 5.1 创建 `web-admin/src/views/db/vehicles/index.vue`(P01,参照 unit 模板)
- [x] 5.2 创建 `web-admin/src/views/db/plans/index.vue` + 表单弹窗(P02,参照 order 模板)
- [x] 5.3 创建 `web-admin/src/views/db/inventory/index.vue` + 表单弹窗(P02)
- [x] 5.4 创建 `web-admin/src/views/db/weighing/index.vue` + 表单弹窗(P02;含 CRM 产品/客户下拉、车牌下拉、作废 Tag)
- [x] 5.5 创建 `web-admin/src/views/db/dashboard/index.vue`(统计卡片/图表,参照 console)
- [x] 5.6 注册路由与侧栏菜单(`router/modules/sqxp.ts` + `docs/sql/20260607_db_menu.sql`)
## 6. 数据迁移与权限
- [x] 6.1 编写 `backend/scripts/migrate_dibang_data.py`:int id → UUID,重写关联
- [x] 6.2 编写地磅菜单与按钮权限初始化 SQL(`docs/sql/20260607_db_menu.sql`)
- [ ] 6.3 运行 `python scripts/check_field_consistency.py`(若适用)验证字段一致性
## 7. 验证
- [ ] 7.1 Swagger 验证各 db API CRUD 与 tenant 隔离
- [ ] 7.2 全链路验收:创建计划 → 保存地磅单 → 生成出入库 → 仪表盘统计
- [ ] 7.3 验证计划 auto_generate 定时任务(可手动触发测试)
- [x] 7.4 执行 `./scripts/update-graph.sh backend frontend` 更新知识图谱