1.修改冬休逻辑
2.修改沉降数据接口,多加一个aname字段
This commit is contained in:
@@ -10,6 +10,7 @@ from ..models.level_data import LevelData
|
||||
from ..models.section_data import SectionData
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from sqlalchemy import distinct
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
class SettlementDataService(BaseService[SettlementData]):
|
||||
@@ -48,7 +49,11 @@ class SettlementDataService(BaseService[SettlementData]):
|
||||
skip: int = 0,
|
||||
limit: Optional[int] = None) -> List[SettlementData]:
|
||||
"""根据多个条件搜索沉降数据,按上传时间倒序排序"""
|
||||
query = db.query(SettlementData)
|
||||
# query = db.query(SettlementData)
|
||||
# 返回数据多加一个 aname 字段
|
||||
query = db.query(SettlementData, Checkpoint.aname).outerjoin(
|
||||
Checkpoint, SettlementData.point_id == Checkpoint.point_id
|
||||
)
|
||||
|
||||
if id is not None:
|
||||
query = query.filter(SettlementData.id == id)
|
||||
@@ -69,8 +74,15 @@ class SettlementDataService(BaseService[SettlementData]):
|
||||
query = query.offset(skip)
|
||||
if limit is not None and limit > 0:
|
||||
query = query.limit(limit)
|
||||
result_tuples = query.all()
|
||||
settlement_data_list = []
|
||||
for settlement, aname in result_tuples:
|
||||
# 动态添加aname属性,无匹配时为None
|
||||
setattr(settlement, 'aname', aname)
|
||||
settlement_data_list.append(settlement)
|
||||
|
||||
return query.all()
|
||||
return settlement_data_list
|
||||
# return query.all()
|
||||
|
||||
def search_settlement_data_by_point_ids_formatted(self, db: Session,
|
||||
point_ids: List[str],
|
||||
@@ -176,7 +188,9 @@ class SettlementDataService(BaseService[SettlementData]):
|
||||
limit: Optional[int] = None) -> Dict[str, Any]:
|
||||
"""查询沉降数据并返回格式化结果,按上传时间倒序排序(支持分页)"""
|
||||
# 先获取总数(不计分页)
|
||||
count_query = db.query(SettlementData)
|
||||
count_query = db.query(distinct(SettlementData.id)).outerjoin(
|
||||
Checkpoint, SettlementData.point_id == Checkpoint.point_id
|
||||
)
|
||||
if id is not None:
|
||||
count_query = count_query.filter(SettlementData.id == id)
|
||||
if point_id is not None:
|
||||
@@ -196,6 +210,7 @@ class SettlementDataService(BaseService[SettlementData]):
|
||||
for settlement in settlement_data:
|
||||
settlement_dict = {
|
||||
"id": settlement.id,
|
||||
"aname": settlement.aname,
|
||||
"point_id": settlement.point_id,
|
||||
"CVALUE": settlement.CVALUE,
|
||||
"MAVALUE": settlement.MAVALUE,
|
||||
|
||||
Reference in New Issue
Block a user