提交
This commit is contained in:
1 parent
9345cf4ad8
commit
c3bd2c00ae
51 files changed
+14486
-15765
No files matched your search
+18
-11
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user