Files
railway_cloud/app/schemas/comprehensive_data.py
2025-09-29 13:54:52 +08:00

158 lines
4.5 KiB
Python

from pydantic import BaseModel
from typing import Any, Dict, List, Optional
# 原始数据导入请求
class OriginalDataImportRequest(BaseModel):
bfpcode: Optional[str] = None
mtime: Optional[str] = None
bffb: Optional[str] = None
bfpl: Optional[str] = None
bfpvalue: Optional[str] = None
times: Optional[str] = None
NYID: str
sort: Optional[int] = None
# 水准数据导入请求
class LevelDataImportRequest(BaseModel):
linecode: str
NYID: str
benchmarkids: Optional[str] = None
wsphigh: Optional[str] = None
createDate: Optional[str] = None
# 沉降数据导入请求
class SettlementDataImportRequest(BaseModel):
point_id: str
NYID: str
CVALUE: Optional[str] = None
MAVALUE: Optional[str] = None
MTIME_W: Optional[str] = None
PRELOADH: Optional[str] = None
PSTATE: Optional[str] = None
createdate: Optional[str] = None
day: Optional[str] = None
day_jg: Optional[str] = None
REMARK: Optional[str] = None
WORKINFO: Optional[str] = None
useflag: Optional[str] = None
mavalue_lj: Optional[str] = None
mavalue_bc: Optional[str] = None
sjName: Optional[str] = None
workinfoname: Optional[str] = None
isgzjdxz: Optional[str] = None
upd_remark: Optional[str] = None
# 观测点数据导入请求
class CheckpointDataImportRequest(BaseModel):
point_id: str
aname: Optional[str] = None
section_id: str
burial_date: Optional[str] = None
# 断面数据导入请求
class SectionDataImportRequest(BaseModel):
section_id: str
mileage: Optional[str] = None
work_site: Optional[str] = None
status: Optional[str] = None
number: Optional[str] = None
basic_types: Optional[str] = None
height: Optional[str] = None
transition_paragraph: Optional[str] = None
# 原始数据查询请求
class OriginalDataQueryRequest(BaseModel):
id: Optional[int] = None
bfpcode: Optional[str] = None
mtime: Optional[str] = None
bffb: Optional[str] = None
bfpl: Optional[str] = None
bfpvalue: Optional[str] = None
times: Optional[str] = None
NYID: Optional[str] = None
sort: Optional[int] = None
# 沉降数据查询请求
class SettlementDataQueryRequest(BaseModel):
id: Optional[int] = None
point_id: Optional[int] = None
NYID: Optional[int] = None
CVALUE: Optional[str] = None
MAVALUE: Optional[str] = None
MTIME_W: Optional[str] = None
PRELOADH: Optional[str] = None
PSTATE: Optional[str] = None
createdate: Optional[str] = None
day: Optional[str] = None
day_jg: Optional[str] = None
REMARK: Optional[str] = None
WORKINFO: Optional[str] = None
useflag: Optional[str] = None
mavalue_lj: Optional[str] = None
mavalue_bc: Optional[str] = None
sjName: Optional[str] = None
workinfoname: Optional[str] = None
isgzjdxz: Optional[str] = None
upd_remark: Optional[str] = None
# 断面数据导入请求
class SectionDataQueryRequest(BaseModel):
id: Optional[int] = None
section_id: str
mileage: Optional[str] = None
work_site: Optional[str] = None
status: Optional[str] = None
number: Optional[str] = None
basic_types: Optional[str] = None
height: Optional[str] = None
transition_paragraph: Optional[str] = None
# 水准数据查询请求
class LevelDataQueryRequest(BaseModel):
linecode: Optional[str] = None
NYID: Optional[str] = None
benchmarkids: Optional[str] = None
wsphigh: Optional[str] = None
createDate: Optional[str] = None
# 批量导入请求
class BatchSectionDataImportRequest(BaseModel):
data: List[SectionDataImportRequest]
class BatchCheckpointDataImportRequest(BaseModel):
data: List[CheckpointDataImportRequest]
class BatchSettlementDataImportRequest(BaseModel):
data: List[SettlementDataImportRequest]
class BatchLevelDataImportRequest(BaseModel):
data: List[LevelDataImportRequest]
class BatchOriginalDataImportRequest(BaseModel):
data: List[OriginalDataImportRequest]
# 新增响应模型
class DataImportResponse(BaseModel):
success: bool
message: str
total_count: int
success_count: int
failed_count: int
failed_items: List[Dict[str, Any]] = []
# 查询响应模型
class DataResponse(BaseModel):
success: bool
message: str
count: int
data: List[Dict[str, Any]] = []
# 兼容旧接口的模型
class ComprehensiveDataImportRequest(BaseModel):
data: Dict[str, Any]
class ComprehensiveDataImportResponse(BaseModel):
success: bool
message: str