原查询数据条件分页优化

This commit is contained in:
lhx
2025-11-06 11:00:16 +08:00
parent 0980d48fda
commit 1cbea1bb2a
5 changed files with 100 additions and 25 deletions

View File

@@ -197,10 +197,10 @@ 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)):
"""获取断面数据 + 观测点"""
"""获取断面数据 + 观测点(支持分页)"""
try:
logger.info(f"Querying section data with params: {request.dict()}")
result_data = section_service.search_sections_with_checkpoints(
result = section_service.search_sections_with_checkpoints(
db,
id=request.id,
section_id=request.section_id,
@@ -208,15 +208,17 @@ def get_section(request: SectionDataQueryRequest, db: Session = Depends(get_db))
work_site=request.work_site,
number=request.number,
status=request.status,
account_id=request.account_id
account_id=request.account_id,
skip=request.skip,
limit=request.limit
)
logger.info(f"Found {len(result_data)} sections with checkpoints")
logger.info(f"Found {result['total']} sections with checkpoints, returning {len(result['data'])} records")
return DataResponse(
code=ResponseCode.SUCCESS,
message="查询成功",
total=len(result_data),
data=result_data
total=result['total'],
data=result['data']
)
except Exception as e:
logger.error(f"Query section data failed: {str(e)}")
@@ -230,25 +232,26 @@ def get_section(request: SectionDataQueryRequest, db: Session = Depends(get_db))
# 根据观测点id查询沉降数据
@router.post("/get_settlement", response_model=DataResponse)
def get_settlement(request: SettlementDataQueryRequest, db: Session = Depends(get_db)):
"""获取沉降数据,按上传时间倒序排序,支持limit参数限制返回数量"""
"""获取沉降数据,按上传时间倒序排序,支持分页参数skip、limit"""
try:
logger.info(f"Querying settlement data with params: {request.dict()}")
result_data = settlement_service.search_settlement_data_formatted(
result = settlement_service.search_settlement_data_formatted(
db,
id=request.id,
point_id=request.point_id,
nyid=request.NYID,
sjName=request.sjName,
workinfoname=request.workinfoname,
skip=request.skip,
limit=request.limit
)
logger.info(f"Found {len(result_data)} settlement records")
logger.info(f"Found {result['total']} settlement records, returning {len(result['data'])} records")
return DataResponse(
code=ResponseCode.SUCCESS,
message="查询成功",
total=len(result_data),
data=result_data
total=result['total'],
data=result['data']
)
except Exception as e:
logger.error(f"Query settlement data failed: {str(e)}")