62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
|
|
class MeasurementDataCreate(BaseModel):
|
|
"""量测数据创建"""
|
|
point_id: str
|
|
monitoring_time: Optional[datetime] = None
|
|
upload_time: Optional[datetime] = None
|
|
monitoring_value: Optional[str] = None
|
|
deformation_value: Optional[str] = None
|
|
time_interval: Optional[str] = None
|
|
cumulative_deformation: Optional[str] = None
|
|
deformation_rate: Optional[str] = None
|
|
distance_working_face: Optional[str] = None
|
|
|
|
class MeasurementDataResponse(BaseModel):
|
|
"""量测数据响应"""
|
|
id: int
|
|
point_id: Optional[str] = None
|
|
monitoring_time: Optional[datetime] = None
|
|
upload_time: Optional[datetime] = None
|
|
monitoring_value: Optional[str] = None
|
|
deformation_value: Optional[str] = None
|
|
time_interval: Optional[str] = None
|
|
cumulative_deformation: Optional[str] = None
|
|
deformation_rate: Optional[str] = None
|
|
distance_working_face: Optional[str] = None
|
|
|
|
class MeasurementDataWithDetail(BaseModel):
|
|
"""量测数据响应(包含断面和观测点信息)"""
|
|
id: int
|
|
point_id: Optional[str] = None
|
|
monitoring_time: Optional[datetime] = None
|
|
upload_time: Optional[datetime] = None
|
|
monitoring_value: Optional[str] = None
|
|
deformation_value: Optional[str] = None
|
|
time_interval: Optional[str] = None
|
|
cumulative_deformation: Optional[str] = None
|
|
deformation_rate: Optional[str] = None
|
|
distance_working_face: Optional[str] = None
|
|
# 观测点信息
|
|
point_name: Optional[str] = None
|
|
# 断面信息
|
|
section_mileage: Optional[str] = None
|
|
rock_mass_classification: Optional[str] = None
|
|
|
|
class MeasurementDataBatchImport(BaseModel):
|
|
"""量测数据批量导入"""
|
|
account_id: int
|
|
data: List[MeasurementDataCreate]
|
|
|
|
class MeasurementDataQuery(BaseModel):
|
|
"""量测数据查询参数"""
|
|
account_id: int
|
|
department_id: Optional[str] = None
|
|
point_id: Optional[str] = None
|
|
monitoring_time_start: Optional[datetime] = None
|
|
monitoring_time_end: Optional[datetime] = None
|
|
page: int = 1
|
|
page_size: int = 20
|