From 1e374e76bfdc46498ecde7e7708626a493e3ae09 Mon Sep 17 00:00:00 2001 From: duxingchen Date: Fri, 14 Aug 2026 15:43:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(analytics):=20CapabilityDevice=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=20material=5Fname=EF=BC=88X=20=E8=BD=B4=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E7=89=A9=E6=96=99=E5=90=8D=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 后端 CapabilityDevice 新增 material_name,get_capability_profile 查询并填充 - 前端类型同步 material_name --- backend/app/services/analytics_service.py | 6 +++++- frontend/src/services/analyticsApi.ts | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/backend/app/services/analytics_service.py b/backend/app/services/analytics_service.py index 1f31262..961fbb8 100644 --- a/backend/app/services/analytics_service.py +++ b/backend/app/services/analytics_service.py @@ -32,6 +32,7 @@ class CapabilityDevice(BaseModel): product_sn: str # 身份证 external_serial: str | None # 产品序列号(业务序列号) spec_model: str # 规格型号 + material_name: str # 物料名称 class CapabilitySeries(BaseModel): @@ -150,6 +151,7 @@ async def get_capability_profile( Task.assignee_id, Task.status, Task.received_at, Task.created_at, Task.completed_at, Product.serial_number, Product.external_serial, Product.spec_model, + Product.material_name, ) .join(Product, Task.product_id == Product.id) .where( @@ -184,8 +186,9 @@ async def get_capability_profile( sn = row[5] ext = row[6] spec = row[7] or "未知型号" + mat = row[8] or "" - meta = device_meta.setdefault(sn, {"external_serial": ext, "spec_model": spec, "earliest": None}) + meta = device_meta.setdefault(sn, {"external_serial": ext, "spec_model": spec, "material_name": mat, "earliest": None}) if start and (meta["earliest"] is None or start < meta["earliest"]): meta["earliest"] = start @@ -212,6 +215,7 @@ async def get_capability_profile( product_sn=sn, external_serial=device_meta[sn]["external_serial"], spec_model=device_meta[sn]["spec_model"], + material_name=device_meta[sn]["material_name"], ) for sn in categories ] diff --git a/frontend/src/services/analyticsApi.ts b/frontend/src/services/analyticsApi.ts index 1a5b13e..3938eab 100644 --- a/frontend/src/services/analyticsApi.ts +++ b/frontend/src/services/analyticsApi.ts @@ -18,6 +18,7 @@ export interface CapabilityDevice { product_sn: string; // 身份证 external_serial: string | null; // 产品序列号(业务序列号) spec_model: string; + material_name: string; // 物料名称 } export interface CapabilitySeries {