From 98e657e2898441c7246e94172a208dc451e273e1 Mon Sep 17 00:00:00 2001 From: yueli Date: Thu, 10 Sep 2026 10:14:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(scrap):=20TransScrap=20=E8=A1=A5=20scrap=5F?= =?UTF-8?q?request=5Fno=20=E5=88=97=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 报废执行写台账时以关键字传入 scrap_request_no,但该列只存在于 DB (db_migrations/add_scrap_approval.sql)而未在 ORM 声明,执行报废必然抛 TypeError: 'scrap_request_no' is an invalid keyword argument for TransScrap, 被 500 捕获后连同库存扣减一起回滚,整条按单报废链路不可用。 --- inventory-backend/app/models/transaction.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inventory-backend/app/models/transaction.py b/inventory-backend/app/models/transaction.py index ab0c614..0adab1f 100644 --- a/inventory-backend/app/models/transaction.py +++ b/inventory-backend/app/models/transaction.py @@ -199,6 +199,8 @@ class TransScrap(db.Model): approval_status = db.Column(db.String(20), default='pending') cost_at_scrap = db.Column(db.Numeric(19, 4)) total_loss = db.Column(db.Numeric(19, 4)) + # ★ 关联报废申请单号(审批流写台账用;DDL 见 db_migrations/add_scrap_approval.sql) + scrap_request_no = db.Column(db.String(100), index=True) def to_dict(self): return {