提交
This commit is contained in:
1 parent
6dc8cfb2c1
commit
d26fb23fcf
181 files changed
+25727
-24557
No files matched your search
@@ -18,6 +18,7 @@ from app.core.storage import storage
|
||||
from app.crud import tenant as tenant_svc
|
||||
from app.crud import dict_type as dict_type_svc
|
||||
from app.crud import dict_data as dict_data_svc
|
||||
from app.services import dict_ensure as dict_ensure_svc
|
||||
from app.crud import dept as dept_svc
|
||||
from app.crud import site as site_svc
|
||||
from app.crud import post as post_svc
|
||||
@@ -148,7 +149,7 @@ class TenantUpdateBody(BaseModel):
|
||||
@router.get("/tenants")
|
||||
def list_tenants(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
_user: dict = Depends(require_admin_or_super_admin),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -279,7 +280,7 @@ class UserUpdateBody(BaseModel):
|
||||
@router.get("/users")
|
||||
def list_users(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
deptId: Optional[str] = Query(None, alias="deptId"),
|
||||
status: Optional[str] = None,
|
||||
@@ -469,7 +470,7 @@ class DictTypeUpdateBody(BaseModel):
|
||||
@router.get("/dict-types")
|
||||
def list_dict_types(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_menu_code("system:dict:list")),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -571,7 +572,7 @@ class DictDataUpdateBody(BaseModel):
|
||||
@router.get("/dict-data")
|
||||
def list_dict_data(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
dictType: Optional[str] = None,
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_menu_code("system:dict:list")),
|
||||
@@ -683,6 +684,66 @@ def dict_data_all(
|
||||
return success_response(grouped)
|
||||
|
||||
|
||||
class DictEnsureBody(BaseModel):
|
||||
model_config = ConfigDict(populate_by_name=True)
|
||||
|
||||
dict_type: str = Field(..., alias="dictType")
|
||||
label: str
|
||||
preferred_value: Optional[str] = Field(None, alias="preferredValue")
|
||||
|
||||
|
||||
class DictEnsureRemoveBody(BaseModel):
|
||||
model_config = ConfigDict(populate_by_name=True)
|
||||
|
||||
dict_type: str = Field(..., alias="dictType")
|
||||
value: str
|
||||
|
||||
|
||||
@router.post("/dict-data/ensure")
|
||||
def ensure_dict_data_api(
|
||||
body: DictEnsureBody,
|
||||
user: dict = Depends(require_admin_or_super_admin),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
try:
|
||||
tenant_no = _get_tenant_no(db, user)
|
||||
data = dict_ensure_svc.ensure_dict_data(
|
||||
db,
|
||||
tenant_no=tenant_no,
|
||||
dict_type=body.dict_type,
|
||||
label=body.label,
|
||||
user_id=user.get("user_id") or user.get("id") or "",
|
||||
preferred_value=body.preferred_value,
|
||||
)
|
||||
db.commit()
|
||||
return success_response(data, message="已保存")
|
||||
except dict_ensure_svc.DictEnsureError as e:
|
||||
db.rollback()
|
||||
return error_response(400, str(e))
|
||||
|
||||
|
||||
@router.post("/dict-data/ensure-remove")
|
||||
def ensure_remove_dict_data_api(
|
||||
body: DictEnsureRemoveBody,
|
||||
user: dict = Depends(require_admin_or_super_admin),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
try:
|
||||
tenant_no = _get_tenant_no(db, user)
|
||||
dict_ensure_svc.ensure_remove_dict_data(
|
||||
db,
|
||||
tenant_no=tenant_no,
|
||||
dict_type=body.dict_type,
|
||||
value=body.value,
|
||||
user_id=user.get("user_id") or user.get("id") or "",
|
||||
)
|
||||
db.commit()
|
||||
return success_response(None, message="已删除")
|
||||
except dict_ensure_svc.DictEnsureError as e:
|
||||
db.rollback()
|
||||
return error_response(400, str(e))
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 组织管理
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -827,7 +888,7 @@ class SiteUpdateBody(BaseModel):
|
||||
@router.get("/sites")
|
||||
def list_sites(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_menu_code("system:site:list")),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -936,7 +997,7 @@ class PostUpdateBody(BaseModel):
|
||||
@router.get("/posts")
|
||||
def list_posts(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_menu_code("system:post:list")),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -1206,7 +1267,7 @@ class RoleDataScopeBody(BaseModel):
|
||||
@router.get("/role-management")
|
||||
def list_role_management(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_menu_code("system:role:list")),
|
||||
db: Session = Depends(get_db),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import List, Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from fastapi import APIRouter, Depends, HTTPException, status, Query
|
||||
from sqlalchemy import or_
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
@@ -41,7 +41,7 @@ def _fill_offset_amounts(db: Session, tenant_no: str, rows, out_rows: List[Advan
|
||||
@router.get("/", response_model=ApiResponse[PagedData[AdvanceApplyOut]])
|
||||
def list_advances(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
status: Optional[str] = None,
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
@@ -80,7 +80,7 @@ def list_advances(
|
||||
@router.get("/my", response_model=ApiResponse[PagedData[AdvanceApplyOut]])
|
||||
def my_advances(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
status: Optional[str] = None,
|
||||
keyword: str = "",
|
||||
applyDate: Optional[str] = None,
|
||||
@@ -140,7 +140,7 @@ def advance_status_counts(
|
||||
@router.get("/pending-approval", response_model=ApiResponse[PagedData[AdvanceApplyOut]])
|
||||
def pending_approval(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
applyDate: Optional[str] = None,
|
||||
@@ -180,7 +180,7 @@ def advance_pending_approval_stats(
|
||||
@router.get("/approved-by-me", response_model=ApiResponse[PagedData[AdvanceApplyOut]])
|
||||
def approved_by_me(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
applyDate: Optional[str] = None,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import mimetypes
|
||||
from typing import List, Optional, Set
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Request, status
|
||||
from fastapi import APIRouter, Depends, HTTPException, Request, status, Query
|
||||
from sqlalchemy.orm import Session
|
||||
from starlette.datastructures import UploadFile as StarletteUploadFile
|
||||
|
||||
@@ -27,7 +27,7 @@ def get_mine_wallet_summary(
|
||||
@router.get("/invoice-wallets", response_model=ApiResponse[PagedData[WalletSummaryOut]])
|
||||
def list_invoice_wallets(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
db: Session = Depends(get_db),
|
||||
user: BxUserContext = Depends(get_bx_current_user),
|
||||
@@ -42,7 +42,7 @@ def list_invoice_wallets(
|
||||
@router.get("/invoices", response_model=ApiResponse[PagedData[InvoiceOut]])
|
||||
def list_invoices(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
userId: Optional[str] = None,
|
||||
db: Session = Depends(get_db),
|
||||
user: BxUserContext = Depends(get_bx_current_user),
|
||||
|
||||
@@ -4,7 +4,7 @@ from datetime import datetime
|
||||
from typing import Any, List, Optional
|
||||
from urllib.parse import quote
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from fastapi import APIRouter, Depends, HTTPException, status, Query
|
||||
from fastapi.responses import StreamingResponse
|
||||
from sqlalchemy import or_
|
||||
from sqlalchemy.orm import Session
|
||||
@@ -47,7 +47,7 @@ def _wrap_reimburse_rows(outs: List[ReimburseApplyOut]) -> List[dict]:
|
||||
@router.get("/pending", response_model=ApiResponse[PagedData[Any]])
|
||||
def list_pending_payments(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
applyDate: Optional[str] = None,
|
||||
@@ -94,7 +94,7 @@ def payment_finance_stats(
|
||||
@router.get("/processed", response_model=ApiResponse[PagedData[Any]])
|
||||
def list_processed_payments(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
applyDate: Optional[str] = None,
|
||||
@@ -197,7 +197,7 @@ def batch_offset(
|
||||
@router.get("/advance-issues", response_model=ApiResponse[PagedData[AdvanceIssueOut]])
|
||||
def list_advance_issues(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
issue_status: Optional[str] = None,
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
|
||||
@@ -146,7 +146,7 @@ def import_reimburses(
|
||||
@router.get("/", response_model=ApiResponse[PagedData[ReimburseApplyOut]])
|
||||
def list_reimburses(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
status: Optional[str] = None,
|
||||
keyword: str = "",
|
||||
expense_id: Optional[str] = None,
|
||||
@@ -256,7 +256,7 @@ def reimburse_status_counts(
|
||||
@router.get("/pending-approval", response_model=ApiResponse[PagedData[ReimburseApplyOut]])
|
||||
def pending_approval(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
expenseName: Optional[str] = None,
|
||||
@@ -298,7 +298,7 @@ def pending_approval_stats(
|
||||
@router.get("/approved-by-me", response_model=ApiResponse[PagedData[ReimburseApplyOut]])
|
||||
def approved_by_me(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: str = "",
|
||||
applicantId: Optional[str] = None,
|
||||
expenseName: Optional[str] = None,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import List
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from fastapi import APIRouter, Depends, HTTPException, status, Query
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.core.bx_auth import BxUserContext, get_bx_current_user
|
||||
@@ -21,7 +21,7 @@ router = APIRouter(prefix="/workflows", tags=["工作流配置"])
|
||||
@router.get("/", response_model=ApiResponse[PagedData[WorkflowDefOut]])
|
||||
def list_workflows(
|
||||
page: int = 1,
|
||||
pageSize: int = 10,
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
db: Session = Depends(get_db),
|
||||
user: BxUserContext = Depends(get_bx_current_user),
|
||||
):
|
||||
|
||||
@@ -618,6 +618,8 @@ def product_list(
|
||||
status=body.status,
|
||||
supplier_id=body.supplier_id,
|
||||
user_info=user_info,
|
||||
match_product_no=True if body.match_product_no is None else bool(body.match_product_no),
|
||||
match_model=bool(body.match_model) if body.match_model is not None else False,
|
||||
)
|
||||
tp = total_pages(total, body.pageSize)
|
||||
return success_response(
|
||||
@@ -888,6 +890,8 @@ def product_export(
|
||||
category_id=body.category_id,
|
||||
status=body.status,
|
||||
supplier_id=body.supplier_id,
|
||||
match_product_no=True if body.match_product_no is None else bool(body.match_product_no),
|
||||
match_model=bool(body.match_model) if body.match_model is not None else False,
|
||||
)
|
||||
date_str = datetime.now().strftime("%Y%m%d")
|
||||
return export_rows_to_xlsx_response(
|
||||
|
||||
@@ -79,7 +79,7 @@ def register_contract_routes(router):
|
||||
@router.get("/contract/list")
|
||||
async def contract_list(
|
||||
pageNum: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100),
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: Optional[str] = Query(
|
||||
None, description="即时检索:合同编号/合同产品名称/产品拼音首字母"
|
||||
),
|
||||
|
||||
@@ -70,7 +70,7 @@ def register_contract_sub_routes(router):
|
||||
@router.get("/contract/change/list")
|
||||
async def contract_change_list(
|
||||
pageNum: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100),
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
contractId: Optional[str] = None,
|
||||
contractNo: Optional[str] = None,
|
||||
contractName: Optional[str] = None,
|
||||
@@ -293,7 +293,7 @@ def register_contract_sub_routes(router):
|
||||
@router.get("/contract/template/list")
|
||||
async def contract_template_list(
|
||||
pageNum: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100),
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
templateNo: Optional[str] = None,
|
||||
templateName: Optional[str] = None,
|
||||
templateType: Optional[str] = None,
|
||||
@@ -494,7 +494,7 @@ def register_contract_sub_routes(router):
|
||||
@router.get("/contract/approval/list")
|
||||
async def contract_approval_list(
|
||||
pageNum: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100),
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
contractId: Optional[str] = None,
|
||||
contractNo: Optional[str] = None,
|
||||
contractName: Optional[str] = None,
|
||||
|
||||
@@ -38,7 +38,7 @@ register_local_callback("/api/admin/leave/callback", _leave_local_callback)
|
||||
@router.get("")
|
||||
def list_leaves(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100),
|
||||
pageSize: int = Query(10, ge=1, le=500),
|
||||
keyword: Optional[str] = Query(None),
|
||||
status: Optional[str] = Query(None),
|
||||
_user: dict = Depends(require_admin_or_super_admin),
|
||||
|
||||
@@ -76,7 +76,7 @@ def list_carriers(
|
||||
status: Optional[str] = Query(default=None, description="状态"),
|
||||
audit_status: Optional[str] = Query(default=None, alias="auditStatus", description="审核状态"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> CarrierListResponse:
|
||||
@@ -283,7 +283,7 @@ def list_vehicles(
|
||||
description="排除资质不全或协议过期的承运商车辆",
|
||||
),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleListResponse:
|
||||
@@ -611,7 +611,7 @@ def list_personnel(
|
||||
default=None, alias="personnelType", description="人员类型 driver/escort"
|
||||
),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> PersonnelListResponse:
|
||||
@@ -837,7 +837,7 @@ def _personnel_to_driver_read(personnel: PlPersonnel) -> DriverRead:
|
||||
def list_drivers(
|
||||
q: Optional[str] = Query(default=None, description="模糊搜索姓名/手机号"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> DriverListResponse:
|
||||
|
||||
@@ -52,7 +52,7 @@ def list_unsettled_plans(
|
||||
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),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> UnsettledPlanListResponse:
|
||||
@@ -81,7 +81,7 @@ def list_settlements(
|
||||
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"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> FreightSettlementListResponse:
|
||||
|
||||
@@ -50,7 +50,7 @@ router = APIRouter(prefix="/inventory", tags=["运输计划-盘存统计"])
|
||||
def get_inventory_ledger(
|
||||
product_name: Optional[str] = Query(default=None, alias="productName", description="产品名称"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> InventoryLedgerResponse:
|
||||
@@ -198,7 +198,7 @@ def list_transactions(
|
||||
date_from: Optional[date] = Query(default=None, alias="dateFrom", description="开始日期"),
|
||||
date_to: Optional[date] = Query(default=None, alias="dateTo", description="结束日期"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> InventoryTransactionResponse:
|
||||
|
||||
@@ -227,7 +227,7 @@ def list_inbound(
|
||||
plan_date_from: Optional[str] = Query(default=None, alias="planDateFrom"),
|
||||
plan_date_to: Optional[str] = Query(default=None, alias="planDateTo"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> IoOrderListResponse:
|
||||
@@ -305,7 +305,7 @@ def list_outbound(
|
||||
plan_date_from: Optional[str] = Query(default=None, alias="planDateFrom"),
|
||||
plan_date_to: Optional[str] = Query(default=None, alias="planDateTo"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> IoOrderListResponse:
|
||||
|
||||
@@ -310,7 +310,7 @@ def list_plans(
|
||||
description="incomplete=至少一张必需危化证书未上传",
|
||||
),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> PlanListResponse:
|
||||
@@ -517,7 +517,7 @@ def count_plans_by_contract(
|
||||
@router.get("/contract-gaps", response_model=PlanContractGapListResponse)
|
||||
def list_contract_gaps(
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
plan_no: Optional[str] = Query(default=None, alias="planNo", description="计划编号"),
|
||||
gap_type: Optional[str] = Query(
|
||||
default=None,
|
||||
|
||||
@@ -175,7 +175,7 @@ def _build_history_page(
|
||||
merged.sort(key=lambda x: x[0] or datetime.min, reverse=True)
|
||||
total = len(merged)
|
||||
page = max(1, int(page or 1))
|
||||
page_size = min(max(1, int(page_size or 20)), 100)
|
||||
page_size = min(max(1, int(page_size or 20)), 500)
|
||||
start = (page - 1) * page_size
|
||||
page_rows = merged[start : start + page_size]
|
||||
return PublicIoOrderHistoryPageRead(
|
||||
@@ -218,7 +218,7 @@ def _make_handlers(kind: str):
|
||||
date: str = Query(..., description="筛选日 YYYY-MM-DD"),
|
||||
q: Optional[str] = Query(None, description="供方/需方名称模糊"),
|
||||
page: int = Query(1, ge=1, description="页码,从 1 开始"),
|
||||
page_size: int = Query(20, ge=1, le=100, alias="pageSize", description="每页条数"),
|
||||
page_size: int = Query(20, ge=1, le=500, alias="pageSize", description="每页条数"),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
try:
|
||||
|
||||
@@ -384,7 +384,7 @@ def list_transports(
|
||||
vehicle_id: Optional[str] = Query(default=None, alias="vehicleId", description="车辆ID"),
|
||||
driver_id: Optional[str] = Query(default=None, alias="driverId", description="司机ID"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> TransportListResponse:
|
||||
|
||||
@@ -57,7 +57,7 @@ def list_transport_addresses(
|
||||
q: Optional[str] = Query(default=None, description="搜索名称或地址"),
|
||||
status: Optional[str] = Query(default=None, description="状态 1-启用 0-停用"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> TransportAddressListResponse:
|
||||
|
||||
@@ -34,7 +34,7 @@ def list_applies(
|
||||
apply_date_to: Optional[date] = Query(default=None, alias="applyDateTo"),
|
||||
applicant_id: Optional[str] = Query(default=None, alias="applicantId"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleMaintenanceApplyListResponse:
|
||||
@@ -136,7 +136,7 @@ def list_process_board(
|
||||
process_date_from: Optional[date] = Query(default=None, alias="processDateFrom"),
|
||||
process_date_to: Optional[date] = Query(default=None, alias="processDateTo"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleMaintenanceProcessBoardListResponse:
|
||||
|
||||
@@ -35,7 +35,7 @@ def list_applies(
|
||||
apply_date_to: Optional[date] = Query(default=None, alias="applyDateTo"),
|
||||
applicant_id: Optional[str] = Query(default=None, alias="applicantId"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeApplyListResponse:
|
||||
@@ -129,7 +129,7 @@ def list_records(
|
||||
gas_station: Optional[str] = Query(default=None, alias="gasStation"),
|
||||
apply_no: Optional[str] = Query(default=None, alias="applyNo"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeRecordListResponse:
|
||||
@@ -162,7 +162,7 @@ def list_disburse_board(
|
||||
recharge_date_from: Optional[date] = Query(default=None, alias="rechargeDateFrom"),
|
||||
recharge_date_to: Optional[date] = Query(default=None, alias="rechargeDateTo"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleRechargeDisburseBoardListResponse:
|
||||
|
||||
@@ -32,7 +32,7 @@ def list_applies(
|
||||
apply_date_to: Optional[date] = Query(default=None, alias="applyDateTo"),
|
||||
applicant_id: Optional[str] = Query(default=None, alias="applicantId"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleUreaApplyListResponse:
|
||||
@@ -115,7 +115,7 @@ def list_disburse_board(
|
||||
disburse_date_from: Optional[date] = Query(default=None, alias="disburseDateFrom"),
|
||||
disburse_date_to: Optional[date] = Query(default=None, alias="disburseDateTo"),
|
||||
page: int = Query(default=1, ge=1),
|
||||
page_size: int = Query(default=20, ge=1, le=100, alias="pageSize"),
|
||||
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
|
||||
db: Session = Depends(get_db),
|
||||
user: DbUserContext = Depends(get_db_current_user),
|
||||
) -> VehicleUreaDisburseBoardListResponse:
|
||||
|
||||
@@ -175,7 +175,7 @@ class TaskActionBody(BaseModel):
|
||||
@router.get("/defs")
|
||||
def list_process_defs(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
status: Optional[str] = None,
|
||||
_user: dict = Depends(require_admin_or_super_admin),
|
||||
@@ -362,7 +362,7 @@ def start_instance(
|
||||
@router.get("/instances/my")
|
||||
def list_my_instances(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
status: Optional[str] = None,
|
||||
user: dict = Depends(require_admin_or_super_admin),
|
||||
@@ -446,7 +446,7 @@ def get_instance_detail(
|
||||
@router.get("/tasks/pending")
|
||||
def list_pending_tasks(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_admin_or_super_admin),
|
||||
db: Session = Depends(get_db),
|
||||
@@ -464,7 +464,7 @@ def list_pending_tasks(
|
||||
@router.get("/tasks/completed")
|
||||
def list_completed_tasks(
|
||||
page: int = Query(1, ge=1),
|
||||
pageSize: int = Query(10, ge=1, le=100, alias="pageSize"),
|
||||
pageSize: int = Query(10, ge=1, le=500, alias="pageSize"),
|
||||
keyword: Optional[str] = None,
|
||||
user: dict = Depends(require_admin_or_super_admin),
|
||||
db: Session = Depends(get_db),
|
||||
|
||||
Reference in new issue
Block a user