Files
railway_cloud/app/api/level_data.py

34 lines
1.2 KiB
Python

from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from typing import List
from ..core.database import get_db
from ..core.response_code import ResponseCode, ResponseMessage
from ..schemas.level_data import (
LevelDataRequest,
LevelDataListResponse,
LevelDataResponse
)
from ..services.level_data import LevelDataService
router = APIRouter(prefix="/level_data", tags=["水准数据"])
@router.post("/get_level_data_by_project", response_model=LevelDataListResponse)
def get_level_data_by_project(request: LevelDataRequest, db: Session = Depends(get_db)):
"""
通过标段名称获取全部水准线路
"""
try:
level_service = LevelDataService()
level_data_list = level_service.get_level_data_by_project_name(db, project_name=request.project_name, nyid_max=request.nyid_max)
return LevelDataListResponse(
code=ResponseCode.SUCCESS,
message="查询成功",
total=len(level_data_list),
data=level_data_list
)
except Exception as e:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail=f"查询失败: {str(e)}"
)