fix: 预算录入搜索不过滤 — plans API补keyword参数(KPI名称模糊搜索)

This commit is contained in:
Hermes CI Fix
2026-08-25 17:53:47 +08:00
parent 4d2fba67f7
commit dbfa6ba0a2
+3
View File
@@ -23,6 +23,7 @@ def list_budget_plans(
period: Optional[str] = Query(None), period: Optional[str] = Query(None),
year: Optional[int] = Query(None), year: Optional[int] = Query(None),
version: Optional[str] = Query(None), version: Optional[str] = Query(None),
keyword: Optional[str] = Query(None, description="搜索KPI名称"),
db: Session = Depends(get_db), db: Session = Depends(get_db),
entity_id: int = Depends(get_entity_id), entity_id: int = Depends(get_entity_id),
): ):
@@ -39,6 +40,8 @@ def list_budget_plans(
query = query.filter(BudgetPlan.budget_year == year) query = query.filter(BudgetPlan.budget_year == year)
if version: if version:
query = query.filter(BudgetPlan.version == version) query = query.filter(BudgetPlan.version == version)
if keyword:
query = query.filter(KPIDefinition.kpi_name.contains(keyword))
plans = query.order_by(BudgetPlan.budget_year.desc(), BudgetPlan.budget_month.asc()).all() plans = query.order_by(BudgetPlan.budget_year.desc(), BudgetPlan.budget_month.asc()).all()