获取原始数据、沉降强制参数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")
else:
# 原逻辑不提供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
return DataResponse(
code=ResponseCode.SUCCESS,
message="未提供account_id请提供account_id",
total=0,
data=[]
)
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(
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()}")
result = comprehensive_service.get_level_and_original_data(
db,
account_id=request.account_id, #
account_id=request.account_id, #
id=request.id,
bfpcode=request.bfpcode,
bffb=request.bffb,

View File

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

View File

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

View File

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