Files
railway_cloud/app/schemas/comprehensive_data.py
2025-10-16 10:08:54 +08:00

185 lines
5.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
NYID: str
sort: Optional[int] = None
# 水准数据导入请求
class LevelDataImportRequest(BaseModel):
linecode: str
NYID: str
benchmarkids: Optional[str] = None
wsphigh: Optional[str] = None
mtype: 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
design_fill_height: Optional[str] = None
compression_layer_thickness: Optional[str] = None
treatment_depth: Optional[str] = None
foundation_treatment_method: Optional[str] = None
rock_mass_classification: Optional[str] = None
# 原始数据查询请求
class OriginalDataQueryRequest(BaseModel):
linecode: Optional[str] = None
id: Optional[int] = None
bfpcode: Optional[str] = None
mtime: Optional[str] = None
bffb: Optional[str] = None
bfpl: Optional[str] = None
bfpvalue: 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
limit: Optional[int] = None # 限制返回数量None表示返回全部
# 断面数据导入请求
class SectionDataQueryRequest(BaseModel):
id: Optional[int] = None
section_id: Optional[int] = None
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
design_fill_height: Optional[str] = None
compression_layer_thickness: Optional[str] = None
treatment_depth: Optional[str] = None
foundation_treatment_method: Optional[str] = None
rock_mass_classification: Optional[str] = None
# 水准数据查询请求
class LevelDataQueryRequest(BaseModel):
linecode: Optional[str] = None
NYID: Optional[str] = None
benchmarkids: Optional[str] = None
wsphigh: Optional[str] = None
mtype: Optional[str] = None
createDate: Optional[str] = None
# 批量导入请求 - 灵活字段版本,允许传入任意字段
class BatchSectionDataImportRequest(BaseModel):
data: List[Dict[str, Any]]
class Config:
extra = "allow" # 允许额外字段
class BatchCheckpointDataImportRequest(BaseModel):
data: List[Dict[str, Any]]
class Config:
extra = "allow" # 允许额外字段
class BatchSettlementDataImportRequest(BaseModel):
data: List[Dict[str, Any]]
class Config:
extra = "allow" # 允许额外字段
class BatchLevelDataImportRequest(BaseModel):
data: List[Dict[str, Any]]
class Config:
extra = "allow" # 允许额外字段
class BatchOriginalDataImportRequest(BaseModel):
data: List[Dict[str, Any]]
class Config:
extra = "allow" # 允许额外字段
# 新增响应模型
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