from pydantic import BaseModel from typing import Optional, List from decimal import Decimal class SectionDataCreate(BaseModel): """断面数据创建""" section_id: str department_id: Optional[str] = None project: Optional[str] = None mileage: str name: Optional[str] = None number: Optional[str] = None status: Optional[str] = None excavation_method: Optional[str] = None rock_mass_classification: Optional[str] = None width: Optional[str] = None U0: Optional[Decimal] = None remarks: Optional[str] = None class SectionDataResponse(BaseModel): """断面数据响应""" id: int section_id: str department_id: Optional[str] = None project: Optional[str] = None mileage: str name: Optional[str] = None number: Optional[str] = None status: Optional[str] = None excavation_method: Optional[str] = None rock_mass_classification: Optional[str] = None width: Optional[str] = None U0: Optional[Decimal] = None remarks: Optional[str] = None class SectionDataBatchImport(BaseModel): """断面数据批量导入""" account_id: int data: List[SectionDataCreate] class SectionDataQuery(BaseModel): """断面数据查询参数""" account_id: int department_id: Optional[str] = None section_id: Optional[str] = None name: Optional[str] = None number: Optional[str] = None page: int = 1 page_size: int = 20