根据标段获取断面+观测点+水准数据
This commit is contained in:
40
app/api/section_data.py
Normal file
40
app/api/section_data.py
Normal 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)
|
||||
)
|
||||
Reference in New Issue
Block a user