获取原始数据、沉降强制参数account_id

This commit is contained in:
lhx
2025-11-28 18:14:02 +08:00
parent 354beb769e
commit a82523c487
4 changed files with 29 additions and 18 deletions

View File

@@ -353,19 +353,26 @@ def get_settlement(request: SettlementDataQueryRequest, db: Session = Depends(ge
logger.info(f"Found {result['total']} settlement records using optimized batch query, returning {len(result['data'])} records") logger.info(f"Found {result['total']} settlement records using optimized batch query, returning {len(result['data'])} records")
else: else:
# 原逻辑不提供account_id按原有方式查询 return DataResponse(
logger.info("Using original query logic without account_id") code=ResponseCode.SUCCESS,
result = settlement_service.search_settlement_data_formatted( message="未提供account_id请提供account_id",
db, total=0,
id=request.id, data=[]
point_id=request.point_id,
nyid=request.NYID,
sjName=request.sjName,
workinfoname=request.workinfoname,
skip=request.skip,
limit=request.limit
) )
logger.info(f"Found {result['total']} settlement records using original logic, returning {len(result['data'])} records") # 强制 account_id 查询
# 原逻辑不提供account_id按原有方式查询
# logger.info("Using original query logic without account_id")
# 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 {result['total']} settlement records using original logic, returning {len(result['data'])} records")
return DataResponse( return DataResponse(
code=ResponseCode.SUCCESS, code=ResponseCode.SUCCESS,
@@ -423,7 +430,7 @@ def get_original(request: OriginalDataQueryRequest, db: Session = Depends(get_db
logger.info(f"Querying original data with params: {request.dict()}") logger.info(f"Querying original data with params: {request.dict()}")
result = comprehensive_service.get_level_and_original_data( result = comprehensive_service.get_level_and_original_data(
db, db,
account_id=request.account_id, # account_id=request.account_id, #
id=request.id, id=request.id,
bfpcode=request.bfpcode, bfpcode=request.bfpcode,
bffb=request.bffb, bffb=request.bffb,
@@ -505,7 +512,7 @@ def get_settlement_by_nyid(
total=0, total=0,
data=[] data=[]
) )
@router.post("/get_settlement_by_point", response_model=DataResponse) @router.post("/get_settlement_by_point", response_model=DataResponse)
def get_settlement_by_point( def get_settlement_by_point(
request: NYIDRequest, # 假设定义了接收nyid的请求模型 request: NYIDRequest, # 假设定义了接收nyid的请求模型

View File

@@ -85,7 +85,8 @@ class SectionDataImportRequest(BaseModel):
# 原始数据查询请求 # 原始数据查询请求
class OriginalDataQueryRequest(BaseModel): class OriginalDataQueryRequest(BaseModel):
account_id: Optional[int] = None # 账号ID可选。不填则查询所有分表 # 账号ID必须要求兼容int和str
account_id: Union[int, str]
linecode: Optional[str] = None linecode: Optional[str] = None
id: Optional[int] = None id: Optional[int] = None
bfpcode: Optional[str] = None bfpcode: Optional[str] = None
@@ -102,7 +103,7 @@ class SettlementDataQueryRequest(BaseModel):
id: Optional[int] = None id: Optional[int] = None
point_id: Optional[int] = None point_id: Optional[int] = None
NYID: Optional[int] = None NYID: Optional[int] = None
account_id: Optional[str] = None # 账号ID可选不填则按原来逻辑查询 account_id: str # 账号ID强制要求
CVALUE: Optional[str] = None CVALUE: Optional[str] = None
MAVALUE: Optional[str] = None MAVALUE: Optional[str] = None
MTIME_W: Optional[str] = None MTIME_W: Optional[str] = None

View File

@@ -246,10 +246,12 @@ class CheckpointService(BaseService[Checkpoint]):
if not nyid_list: if not nyid_list:
return [] return []
print(nyid_list)
max_nyid_str = max(nyid_list, key=int) max_nyid_str = max(nyid_list, key=int)
nyid_list = [] nyid_list = []
nyid_list.append(max_nyid_str) nyid_list.append(max_nyid_str)
print(nyid_list)
# 2. 根据NYID列表查询沉降数据表获取所有point_id去重 # 2. 根据NYID列表查询沉降数据表获取所有point_id去重
point_id_query = db.query(SettlementData.point_id).filter( point_id_query = db.query(SettlementData.point_id).filter(

View File

@@ -1,5 +1,5 @@
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from typing import List, Optional, Dict, Any from typing import List, Optional, Dict, Any, Union
from .section_data import SectionDataService from .section_data import SectionDataService
from .checkpoint import CheckpointService from .checkpoint import CheckpointService
from .settlement_data import SettlementDataService from .settlement_data import SettlementDataService
@@ -168,7 +168,7 @@ class ComprehensiveDataService:
} }
def get_level_and_original_data(self, db: Session, def get_level_and_original_data(self, db: Session,
account_id: Optional[int] = None, account_id: Union[int, str],
id: Optional[int] = None, id: Optional[int] = None,
bfpcode: Optional[str] = None, bfpcode: Optional[str] = None,
bffb: Optional[str] = None, bffb: Optional[str] = None,
@@ -186,6 +186,7 @@ class ComprehensiveDataService:
Returns: Returns:
查询结果字典 查询结果字典
""" """
account_id = int(account_id) # 强制转换为字符串,确保一致性
# 查询水准数据 # 查询水准数据
level_data = self.level_service.search_level_data( level_data = self.level_service.search_level_data(
db, db,