feat(pl): 运输计划模块接入数据权限过滤
新增 pl_data_scope 辅助,PL 列表/统计 apply_pl_scope,详情与改删 assert_pl_row_in_scope;运费结算待办审批 skip_scope。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
bf73b6b2d8
commit
eff99edeea
8 files changed
+526
-53
No files matched your search
@@ -47,6 +47,7 @@ def _generate_settlement_no(db: Session) -> str:
|
||||
@router.get("/unsettled-plans", response_model=UnsettledPlanListResponse)
|
||||
def list_unsettled_plans(
|
||||
q: Optional[str] = Query(default=None),
|
||||
carrier_id: Optional[str] = Query(default=None, alias="carrierId"),
|
||||
plan_type: Optional[str] = Query(default=None, alias="planType"),
|
||||
license_plate: Optional[str] = Query(default=None, alias="licensePlate"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
@@ -58,7 +59,9 @@ def list_unsettled_plans(
|
||||
total, items = freight_svc.list_unsettled_plans(
|
||||
db,
|
||||
tenant_no=tenant_no,
|
||||
user=user,
|
||||
q=q,
|
||||
carrier_id=carrier_id,
|
||||
plan_type=plan_type,
|
||||
license_plate=license_plate,
|
||||
page=page,
|
||||
@@ -70,8 +73,12 @@ def list_unsettled_plans(
|
||||
@router.get("/", response_model=FreightSettlementListResponse)
|
||||
def list_settlements(
|
||||
q: Optional[str] = Query(default=None),
|
||||
carrier_id: Optional[str] = Query(default=None, alias="carrierId"),
|
||||
settlement_status: Optional[str] = Query(default=None, alias="settlementStatus"),
|
||||
tab: Optional[str] = Query(default=None, description="bills|disburse|settled"),
|
||||
tab: Optional[str] = Query(
|
||||
default=None,
|
||||
description="bills|approval_pending|approval_done|disburse|settled",
|
||||
),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -82,7 +89,9 @@ def list_settlements(
|
||||
db,
|
||||
tenant_no=tenant_no,
|
||||
user_id=user.id,
|
||||
user=user,
|
||||
q=q,
|
||||
carrier_id=carrier_id,
|
||||
settlement_status=settlement_status,
|
||||
tab=tab,
|
||||
page=page,
|
||||
@@ -118,7 +127,7 @@ def get_settlement(
|
||||
) -> FreightSettlementWithTransports:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
detail = freight_svc.get_settlement_detail(
|
||||
db, tenant_no=tenant_no, settlement_id=id, user_id=user.id
|
||||
db, tenant_no=tenant_no, settlement_id=id, user_id=user.id, user=user
|
||||
)
|
||||
return FreightSettlementWithTransports.model_validate(detail)
|
||||
|
||||
@@ -132,7 +141,12 @@ def update_settlement(
|
||||
) -> FreightSettlementRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return freight_svc.update_settlement_draft(
|
||||
db, tenant_no=tenant_no, settlement_id=id, payload=payload, user_id=user.id
|
||||
db,
|
||||
tenant_no=tenant_no,
|
||||
settlement_id=id,
|
||||
payload=payload,
|
||||
user_id=user.id,
|
||||
user=user,
|
||||
)
|
||||
|
||||
|
||||
@@ -144,7 +158,7 @@ def delete_settlement(
|
||||
) -> None:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
freight_svc.delete_draft_settlement(
|
||||
db, tenant_no=tenant_no, settlement_id=id, user_id=user.id
|
||||
db, tenant_no=tenant_no, settlement_id=id, user_id=user.id, user=user
|
||||
)
|
||||
|
||||
|
||||
@@ -163,6 +177,7 @@ def submit_settlement_approval(
|
||||
body=payload,
|
||||
user_id=user.id,
|
||||
dept_id=user.dept_id,
|
||||
user=user,
|
||||
)
|
||||
|
||||
|
||||
@@ -194,7 +209,7 @@ def withdraw_settlement_approval(
|
||||
) -> FreightSettlementRead:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
return freight_svc.withdraw_settlement_approval(
|
||||
db, tenant_no=tenant_no, settlement_id=id, user_id=user.id
|
||||
db, tenant_no=tenant_no, settlement_id=id, user_id=user.id, user=user
|
||||
)
|
||||
|
||||
|
||||
@@ -205,7 +220,7 @@ def get_settlement_approval_flow(
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
):
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
freight_svc.get_settlement_row(db, tenant_no, id)
|
||||
freight_svc.get_settlement_row(db, tenant_no, id, user=user)
|
||||
return freight_svc.get_approval_flow(db, id)
|
||||
|
||||
|
||||
@@ -224,6 +239,7 @@ def disburse_settlement(
|
||||
body=payload,
|
||||
user_id=user.id,
|
||||
dept_id=user.dept_id,
|
||||
user=user,
|
||||
)
|
||||
|
||||
|
||||
@@ -253,8 +269,8 @@ def list_vouchers(
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> list[RemittanceVoucherRead]:
|
||||
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
|
||||
freight_svc.get_settlement_row(db, tenant_no, settlement_id)
|
||||
freight_svc.get_settlement_row(db, tenant_no, settlement_id, user=user)
|
||||
detail = freight_svc.get_settlement_detail(
|
||||
db, tenant_no=tenant_no, settlement_id=settlement_id, user_id=user.id
|
||||
db, tenant_no=tenant_no, settlement_id=settlement_id, user_id=user.id, user=user
|
||||
)
|
||||
return detail.get("vouchers") or []
|
||||
Reference in new issue
Block a user