From 04ba962b8e74a26721c15c1f6eeebe75269de0a2 Mon Sep 17 00:00:00 2001 From: Hermes CI Fix Date: Sun, 19 Jul 2026 17:53:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DKPITemplate=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E6=98=A0=E5=B0=84(=E7=8B=AC=E7=AB=8B=E8=A1=A8)+?= =?UTF-8?q?=E6=A8=A1=E6=9D=BFAPI=20500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/models/__init__.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py index 1953d779..4058f721 100644 --- a/backend/app/models/__init__.py +++ b/backend/app/models/__init__.py @@ -307,5 +307,21 @@ class KPIHierarchy(Base): # 兼容性: P2开发新增的模板API需要的模型 -# KPIDefinition 已存在,KPITemplate映射到同一定义 -KPITemplate = KPIDefinition +# KPI模板(独立表) +class KPITemplate(Base): + __tablename__ = "kpi_templates" + id = Column(Integer, primary_key=True, index=True) + kpi_code = Column(String(50), unique=True, nullable=False) + kpi_name = Column(String(200), nullable=False) + dimension = Column(String(50)) + category = Column(String(50)) + formula = Column(Text) + formula_desc = Column(String(500)) + unit = Column(String(50)) + target_value = Column(Float) + description = Column(Text) + is_system = Column(Integer, default=0) + usage_count = Column(Integer, default=0) + created_by = Column(Integer) + created_at = Column(DateTime, server_default=func.now()) + updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now())