根据标段获取断面+观测点+水准数据

This commit is contained in:
lhx
2025-11-07 15:36:34 +08:00
parent 772b5924ef
commit 357ecfb1fd
5 changed files with 169 additions and 15 deletions

40
app/api/section_data.py Normal file
View File

@@ -0,0 +1,40 @@
from fastapi import APIRouter, Depends
from pydantic import BaseModel
from sqlalchemy.orm import Session
from typing import Optional
from ..core.database import get_db
from ..services.comprehensive import ComprehensiveDataService
from ..schemas.comprehensive_data import DataResponse
router = APIRouter(prefix="/section-data", tags=["section-data"])
class ProjectDataRequest(BaseModel):
project_name: str
skip: int = 0
limit: Optional[int] = None
@router.post("/project-data", response_model=DataResponse)
async def get_project_data(
request: ProjectDataRequest,
db: Session = Depends(get_db)
):
"""
根据项目名称获取完整的项目数据(包含账号、断面、观测点、沉降数据、水准数据)
- **project_name**: 项目名称(标段)
- **skip**: 跳过数量默认0
- **limit**: 限制数量None表示查询全部
"""
comprehensive_service = ComprehensiveDataService()
result = comprehensive_service.get_project_data(
db,
request.project_name,
request.skip,
request.limit
)
return DataResponse(
code=0,
message="查询成功",
data=[result],
total=result.get("total", 0)
)