214 lines
6.4 KiB
Python
214 lines
6.4 KiB
Python
from pydantic import BaseModel
|
||
from typing import Any, Dict, List, Optional
|
||
|
||
|
||
# 原始数据导入请求
|
||
class OriginalDataImportRequest(BaseModel):
|
||
account_id: int # 账号ID,必填
|
||
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
|
||
account_id: Optional[str] = None
|
||
|
||
# 原始数据查询请求
|
||
class OriginalDataQueryRequest(BaseModel):
|
||
account_id: int # 账号ID,必填
|
||
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 SettlementDataCheckpointQueryRequest(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
|
||
linecode: 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
|
||
account_id: 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
|