diff --git a/app/api/comprehensive_data.py b/app/api/comprehensive_data.py index 8a81962..5710c0f 100644 --- a/app/api/comprehensive_data.py +++ b/app/api/comprehensive_data.py @@ -141,7 +141,7 @@ def batch_import_original_data(request: BatchOriginalDataImportRequest, db: Sess @router.post("/get_section", response_model = DataResponse) def get_section(request: SectionDataQueryRequest, db: Session = Depends(get_db)): """获取断面数据 + 观测点""" - section_service.search_section_data(db, + data = section_service.search_section_data(db, id=request.id, section_id=request.section_id, mileage=request.mileage, @@ -154,13 +154,29 @@ def get_section(request: SectionDataQueryRequest, db: Session = Depends(get_db)) @router.post("/get_section", response_model = DataResponse) def get_settlenment(request: SettlementDataQueryRequest, db: Session = Depends(get_db)): """获取沉降数据""" - + data = settlement_service.search_settlement_data(db, + id=request.id, + point_id=request.point_id, + nyid=request.NYID, + sjName=request.sjName, + workinfoname=request.workinfoname + ) # 查询水准数据 -@router.post("/get_level", response_model = DataResponse) -def get_level(request: LevelDataQueryRequest, db: Session = Depends(get_db)): - """查询水准数据""" +# @router.post("/get_level", response_model = DataResponse) +# def get_level(request: LevelDataQueryRequest, db: Session = Depends(get_db)): +# """查询水准数据""" +# data = level_service.search_level_data(db, +# id=request.id, +# linecode=request.linecode, +# nyid=request.NYID +# ) # 根据期数id获取原始数据 def get_original(request: OriginalDataQueryRequest, db: Session = Depends(get_db)): - """获取原始数据 + 水准数据""" + """获取水准数据+原始数据""" + data = level_service.search_level_data(db, + id=request.id, + nyid=request.NYID, + linecode=request.linecode + ) diff --git a/app/models/level_data.py b/app/models/level_data.py index 64c0c01..95a0a64 100644 --- a/app/models/level_data.py +++ b/app/models/level_data.py @@ -1,5 +1,6 @@ -from sqlalchemy import Column, Integer, String +from sqlalchemy import Column, Integer, String, List from ..core.database import Base +from .original_data import OriginalData class LevelData(Base): __tablename__ = "level_data" @@ -9,4 +10,6 @@ class LevelData(Base): benchmarkids = Column(String(100), comment="工作基点名称序列") wsphigh = Column(String(100), comment="工作基点高程序列(m)") NYID = Column(String(100), nullable=False, comment="期数id", index=True) - createDate = Column(String(100), comment="上传时间") \ No newline at end of file + createDate = Column(String(100), comment="上传时间") + + originalDatas = List[OriginalData] = [] \ No newline at end of file diff --git a/app/schemas/comprehensive_data.py b/app/schemas/comprehensive_data.py index 052cefd..e7db995 100644 --- a/app/schemas/comprehensive_data.py +++ b/app/schemas/comprehensive_data.py @@ -70,14 +70,14 @@ class OriginalDataQueryRequest(BaseModel): bfpl: Optional[str] = None bfpvalue: Optional[str] = None times: Optional[str] = None - NYID: str + NYID: Optional[str] = None sort: Optional[int] = None # 沉降数据查询请求 class SettlementDataQueryRequest(BaseModel): id: Optional[int] = None point_id: Optional[int] = None - NYID: str + NYID: Optional[int] = None CVALUE: Optional[str] = None MAVALUE: Optional[str] = None MTIME_W: Optional[str] = None diff --git a/app/services/level_data.py b/app/services/level_data.py index e6238ba..25eb247 100644 --- a/app/services/level_data.py +++ b/app/services/level_data.py @@ -17,6 +17,7 @@ class LevelDataService(BaseService[LevelData]): return self.get_by_field(db, "linecode", linecode) def search_level_data(self, db: Session, + id: Optional[str] = None, linecode: Optional[str] = None, nyid: Optional[str] = None, benchmarkids: Optional[str] = None) -> List[LevelData]: @@ -28,8 +29,12 @@ class LevelDataService(BaseService[LevelData]): conditions["NYID"] = nyid if benchmarkids is not None: conditions["benchmarkids"] = benchmarkids + if id is not None: + conditions["id"] = id - return self.search_by_conditions(db, conditions) + level_data = self.search_by_conditions(db, conditions) + # 查询原始数据 + def get_by_nyid_and_linecode(self, db: Session, nyid: str, linecode: str = None) -> Optional[LevelData]: """根据期数ID和线路编码获取水准数据""" diff --git a/app/services/original_data.py b/app/services/original_data.py index 2a3e009..2c93084 100644 --- a/app/services/original_data.py +++ b/app/services/original_data.py @@ -17,12 +17,15 @@ class OriginalDataService(BaseService[OriginalData]): return self.get_by_field(db, "bfpcode", bfpcode) def search_original_data(self, db: Session, + id: Optional[int] = None, bfpcode: Optional[str] = None, bffb: Optional[str] = None, nyid: Optional[str] = None, bfpl: Optional[str] = None) -> List[OriginalData]: """根据多个条件搜索原始数据""" conditions = {} + if id is not None: + conditions["id"] = id if bfpcode is not None: conditions["bfpcode"] = bfpcode if bffb is not None: diff --git a/app/services/settlement_data.py b/app/services/settlement_data.py index 1c0f90a..d2bdbd1 100644 --- a/app/services/settlement_data.py +++ b/app/services/settlement_data.py @@ -24,6 +24,7 @@ class SettlementDataService(BaseService[SettlementData]): ).first() def search_settlement_data(self, db: Session, + id: Optional[str] = None, point_id: Optional[str] = None, nyid: Optional[str] = None, sjName: Optional[str] = None,