From e19ea35622e675a8acc747cd497eb9f4b57015dd Mon Sep 17 00:00:00 2001 From: lhx Date: Wed, 19 Nov 2025 12:01:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B0=B4=E5=87=86=E6=95=B0=E6=8D=AE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/level_data.py | 8 ++++++++ app/schemas/comprehensive_data.py | 16 ++++++++++++++++ app/schemas/level_data.py | 8 ++++++++ app/services/export_excel.py | 8 ++++++++ app/services/level_data.py | 20 ++++++++++++++++++-- 5 files changed, 58 insertions(+), 2 deletions(-) diff --git a/app/models/level_data.py b/app/models/level_data.py index fda69db..17d4e92 100644 --- a/app/models/level_data.py +++ b/app/models/level_data.py @@ -11,6 +11,14 @@ class LevelData(Base): NYID = Column(String(100), nullable=False, comment="期数id", index=True) createDate = Column(DateTime, comment="上传时间") mtype = Column(String(100), comment="水准观测类型") + wspversion = Column(String(100), comment="版本信息") + barometric = Column(String(100), comment="气压值") + equipbrand = Column(String(100), comment="设备品牌") + instrumodel = Column(String(100), comment="仪器型号") + serialnum = Column(String(100), comment="序列号") + sjname = Column(String(100), comment="事件名称") + temperature = Column(String(100), comment="温度") + weather = Column(String(100), comment="天气") # 模型转字典 def to_dict(self): diff --git a/app/schemas/comprehensive_data.py b/app/schemas/comprehensive_data.py index 6141df0..cd4de50 100644 --- a/app/schemas/comprehensive_data.py +++ b/app/schemas/comprehensive_data.py @@ -20,6 +20,14 @@ class LevelDataImportRequest(BaseModel): wsphigh: Optional[str] = None mtype: Optional[str] = None createDate: Optional[str] = None + wspversion: Optional[str] = None + barometric: Optional[str] = None + equipbrand: Optional[str] = None + instrumodel: Optional[str] = None + serialnum: Optional[str] = None + sjname: Optional[str] = None + temperature: Optional[str] = None + weather: Optional[str] = None # 水准数据导入请求 class NYIDRequest(BaseModel): NYID: str @@ -173,6 +181,14 @@ class LevelDataQueryRequest(BaseModel): wsphigh: Optional[str] = None mtype: Optional[str] = None createDate: Optional[str] = None + wspversion: Optional[str] = None + barometric: Optional[str] = None + equipbrand: Optional[str] = None + instrumodel: Optional[str] = None + serialnum: Optional[str] = None + sjname: Optional[str] = None + temperature: Optional[str] = None + weather: Optional[str] = None # 批量导入请求 - 灵活字段版本,允许传入任意字段 class BatchSectionDataImportRequest(BaseModel): diff --git a/app/schemas/level_data.py b/app/schemas/level_data.py index 4c9c312..86c335a 100644 --- a/app/schemas/level_data.py +++ b/app/schemas/level_data.py @@ -9,6 +9,14 @@ class LevelDataBase(BaseModel): wsphigh: Optional[str] = None NYID: Optional[str] = None mtype: Optional[str] = None + wspversion: Optional[str] = None + barometric: Optional[str] = None + equipbrand: Optional[str] = None + instrumodel: Optional[str] = None + serialnum: Optional[str] = None + sjname: Optional[str] = None + temperature: Optional[str] = None + weather: Optional[str] = None class LevelDataResponse(LevelDataBase): """水准数据响应模型""" diff --git a/app/services/export_excel.py b/app/services/export_excel.py index bf24c14..e89b318 100644 --- a/app/services/export_excel.py +++ b/app/services/export_excel.py @@ -67,6 +67,14 @@ class ExportExcelService: {"display_name": "工作基点名称序列", "model_class": LevelData, "field_name_in_model": "benchmarkids"}, {"display_name": "工作基点高程序列(m)", "model_class": LevelData, "field_name_in_model": "wsphigh"}, {"display_name": "水准_上传时间", "model_class": LevelData, "field_name_in_model": "createDate"}, + {"display_name": "版本信息", "model_class": LevelData, "field_name_in_model": "wspversion"}, + {"display_name": "气压值", "model_class": LevelData, "field_name_in_model": "barometric"}, + {"display_name": "设备品牌", "model_class": LevelData, "field_name_in_model": "equipbrand"}, + {"display_name": "仪器型号", "model_class": LevelData, "field_name_in_model": "instrumodel"}, + {"display_name": "序列号", "model_class": LevelData, "field_name_in_model": "serialnum"}, + {"display_name": "事件名称", "model_class": LevelData, "field_name_in_model": "sjname"}, + {"display_name": "温度", "model_class": LevelData, "field_name_in_model": "temperature"}, + {"display_name": "天气", "model_class": LevelData, "field_name_in_model": "weather"}, {"display_name": "备注", "model_class": SettlementData, "field_name_in_model": "upd_remark"} ] diff --git a/app/services/level_data.py b/app/services/level_data.py index cdd5b30..0627d18 100644 --- a/app/services/level_data.py +++ b/app/services/level_data.py @@ -172,7 +172,15 @@ class LevelDataService(BaseService[LevelData]): wsphigh=item.get('wsphigh'), mtype=item.get('mtype'), NYID=str(item.get('NYID')), - createDate=item.get('createDate') + createDate=item.get('createDate'), + wspversion=item.get('wspversion'), + barometric=str(item.get('barometric')) if item.get('barometric') is not None else None, + equipbrand=item.get('equipbrand'), + instrumodel=item.get('instrumodel'), + serialnum=item.get('serialnum'), + sjname=item.get('sjname'), + temperature=str(item.get('temperature')) if item.get('temperature') is not None else None, + weather=str(item.get('weather')) if item.get('weather') is not None else None ) for item in batch ] @@ -307,7 +315,15 @@ class LevelDataService(BaseService[LevelData]): "wsphigh": level.wsphigh, "NYID": level.NYID, "mtype": level.mtype, - "createDate": level.createDate.strftime("%Y-%m-%d %H:%M:%S") if level.createDate else None + "createDate": level.createDate.strftime("%Y-%m-%d %H:%M:%S") if level.createDate else None, + "wspversion": level.wspversion, + "barometric": level.barometric, + "equipbrand": level.equipbrand, + "instrumodel": level.instrumodel, + "serialnum": level.serialnum, + "sjname": level.sjname, + "temperature": level.temperature, + "weather": level.weather } unique_level_data.append(level_dict)