From a2d3a2c43a2f32cca67dbc78f017a93263ff8d52 Mon Sep 17 00:00:00 2001 From: yueli Date: Tue, 1 Sep 2026 16:08:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8D=8A=E6=88=90=E5=93=81=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E6=9D=83=E9=99=90=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=90=8E=E8=A1=A5=E5=9B=9E=20base=5Fid,=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=89=B9=E5=8F=B7=E8=87=AA=E5=A2=9E=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - get_list 的 apply_strict_rbac 剥离 base_id,导致前端 checkHistoryAndSetMode 无法按物料匹配历史 - 过滤后补回 base_id,扫码/选物料联动时批号能按历史正确自增(如 000002 → 000003) --- inventory-backend/app/api/v1/inbound/semi.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/inventory-backend/app/api/v1/inbound/semi.py b/inventory-backend/app/api/v1/inbound/semi.py index faa7e58..dcf1cac 100644 --- a/inventory-backend/app/api/v1/inbound/semi.py +++ b/inventory-backend/app/api/v1/inbound/semi.py @@ -95,7 +95,16 @@ def get_list(): ) user_permissions = get_current_user_permissions() if result.get('items'): - result['items'] = [filter_item_by_permissions(item, user_permissions) for item in result['items']] + # ★ 字段权限过滤会剥离 base_id,但前端扫码/选物料联动需要它匹配历史批号 + # 在过滤前保留 base_id,过滤后补回(非敏感字段,仅物料关联 ID) + preserved_items = [] + for item in result['items']: + base_id = item.get('base_id') + filtered = filter_item_by_permissions(item, user_permissions) + if base_id is not None: + filtered['base_id'] = base_id + preserved_items.append(filtered) + result['items'] = preserved_items return jsonify({"code": 200, "msg": "success", "data": result}) except Exception as e: traceback.print_exc()