This commit is contained in:
zlwu committed 2026-08-17 20:32:18 +08:00
1 parent 9345cf4ad8
commit c3bd2c00ae
51 files changed
+14486 -15765

No files matched your search

+18 -11
View File
@@ -66,10 +66,14 @@ def list_plans(
created_from: Optional[str] = Query(default=None, alias="createdFrom", description="创建开始日期"),
created_to: Optional[str] = Query(default=None, alias="createdTo", description="创建结束日期"),
start_date_from: Optional[str] = Query(
default=None, alias="startDateFrom", description="计划起始日期开始"
default=None,
alias="startDateFrom",
description="筛选区间开始:与计划有效期(起始~截止)有交集",
),
start_date_to: Optional[str] = Query(
default=None, alias="startDateTo", description="计划起始日期结束"
default=None,
alias="startDateTo",
description="筛选区间结束:与计划有效期(起始~截止)有交集",
),
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
@@ -110,15 +114,18 @@ def list_plans(
if created_to:
query = query.filter(DbPurchasePlan.create_time <= f"{created_to} 23:59:59")
if start_date_from:
start_from = parse_date_str(start_date_from)
if start_from:
query = query.filter(DbPurchasePlan.start_date >= start_from)
if start_date_to:
start_to = parse_date_str(start_date_to)
if start_to:
query = query.filter(DbPurchasePlan.start_date <= start_to)
# 按计划有效期与筛选区间重叠:start_date <= range_to 且 end_date >= range_from
# (空起始/截止视为该侧无界,与三方填写页「当天是否在有效期内」语义一致)
range_from = parse_date_str(start_date_from) if start_date_from else None
range_to = parse_date_str(start_date_to) if start_date_to else None
if range_to:
query = query.filter(
or_(DbPurchasePlan.start_date.is_(None), DbPurchasePlan.start_date <= range_to)
)
if range_from:
query = query.filter(
or_(DbPurchasePlan.end_date.is_(None), DbPurchasePlan.end_date >= range_from)
)
query = apply_db_scope(query, DbPurchasePlan, user, db, tenant_no)
plans = query.all()