返回 Bug 清单
BUG-1393project-02中已修复backend-logic
accounts/tree 缺 book_id 过滤导致 680 条跨 book 科目混合显示
发现:2026-10-17验证:2026-10-17置信度:90%
症状
科目管理页面显示"非常多重复科目"。DB 同 book 内实际无重复 (UNIQUE(book_id, account_code) 已保护),是跨 book 混在一起。
根因
bk_accounts_tree 路由直接 SELECT * FROM fms_accounts WHERE status='active' ORDER BY account_code — 没有加 book_id 过滤。fms_accounts 存了 5 个 book 各 136 条科目,前端不指定 book_id 时返回全量 680 条,用户看到相同 code (1002/6001 等) 重复 5 次。
修复方案
1) 新增 book_id = request.args.get('book_id', type=int); 2) WHERE 加 AND book_id = %s; 3) 未传时查第一个 active book 兜底; 4) 部署 docker cp + docker restart。SQL 验证: 680 → 单 book 136。
错误签名
GET /api/bk/accounts/tree 返回 680 条 (5 book x 136) 而非单 book 136 条技术信息
来源项目
project-02
涉及文件
bk_backend/bk_accounts_api.py
标签
project-02, mcp-reported, source-agent