返回 Bug 清单
BUG-1398project-02中已修复backend-logic

双修复: vouchers/{id} 500 ORDER BY entry_sequence 不存在 + documents schema 与后端代码字段名不对齐

发现:2026-10-17验证:2026-10-31置信度:90%

症状

① 凭证卡片点击展开 500 (voucher-review.js _toggleCard). ② 文档管理页面显示 5 行空 (doc_type 显示"-", 金额 ¥0.00, 供应商空) + status 显示英文 active 没转中文.

根因

双根因独立: ① vouchers API GET /vouchers/{id} 用 ORDER BY ve.entry_sequence ASC, 但 bk_voucher_entries 表 migration 030 没此列 (实际用 id 自增). ② bk_documents migration 030 建表用 document_type/file_name/file_path/file_size 等列名, 但后端 bk_documents_api.py 代码用 doc_type/doc_no/doc_date/amount/vendor_name —— 命名完全不对齐 + 还缺 4 列, SELECT d.* 返回的字段前端全拿不到 (前端期望 d.doc_type 实际收到 d.document_type).

修复方案

① vouchers L220 ORDER BY ve.entry_sequence ASC → ORDER BY ve.id ASC (id 自增顺序正确). ② bk_documents: ALTER TABLE RENAME document_type→doc_type + ADD doc_no/doc_date/amount/vendor_name/image_url. UPDATE 现有 5 条回填 + INSERT 5 条新完整 mock 数据 = 10 条. docker cp + docker restart (ALTER TABLE 必须清 prepared statement cache). Migration 053 入库, v=20261032 强制浏览器刷新.

错误签名

UndefinedColumn: column "entry_sequence" does not exist at bk_vouchers_api.py:220; bk_documents SELECT d.* 不含 doc_type/doc_no/doc_date/amount/vendor_name

技术信息

来源项目

project-02

涉及文件

bk_backend/bk_vouchers_api.py, database/migrations/053_documents_schema_align.sql

标签

project-02, mcp-reported, source-agent