From 6628f663b636675bcaea316f2deaddf337de480e Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期五, 13 三月 2026 10:23:31 +0800
Subject: [PATCH] feat(米重分析): 新增稳态识别和预测功能页面并优化现有模型
---
app/services/data_query_service.py | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/app/services/data_query_service.py b/app/services/data_query_service.py
index fee3764..4f94242 100644
--- a/app/services/data_query_service.py
+++ b/app/services/data_query_service.py
@@ -1,25 +1,31 @@
import pandas as pd
from functools import lru_cache
+from datetime import timedelta
from app.database.database import DatabaseConnection
class DataQueryService:
def __init__(self):
self.db = DatabaseConnection()
+ self.timezone_offset = 8 # 榛樿涓滃叓鍖猴紙鍖椾含鏃堕棿锛�
def get_sorting_scale_data(self, start_date, end_date):
"""
鏌ヨ鍒嗘嫞纾呯Г鏁版嵁
- :param start_date: 寮�濮嬫棩鏈�
- :param end_date: 缁撴潫鏃ユ湡
- :return: 鍖呭惈count_under, count_in_range, count_over鐨勬暟鎹
+ :param start_date: 寮�濮嬫棩鏈� (鏈湴鏃堕棿)
+ :param end_date: 缁撴潫鏃ユ湡 (鏈湴鏃堕棿)
+ :return: 鍖呭惈count_under, count_in_range, count_over鐨勬暟鎹 (杩斿洖鏈湴鏃堕棿)
"""
try:
+ # 灏嗘湰鍦版椂闂磋浆鎹负UTC鏃堕棿杩涜鏌ヨ
+ start_date_utc = start_date - timedelta(hours=self.timezone_offset)
+ end_date_utc = end_date - timedelta(hours=self.timezone_offset)
+
# 杩炴帴鏁版嵁搴�
if not self.db.is_connected():
if not self.db.connect():
return None
- connection = self.db.get_connection()
+ # connection = self.db.get_connection()
# SQL鏌ヨ璇彞
query = """
@@ -41,7 +47,11 @@
"""
# 鎵ц鏌ヨ骞惰浆鎹负DataFrame
- df = pd.read_sql(query, connection, params=(start_date, end_date))
+ df = pd.read_sql(query, self.db.get_connection(), params=(start_date_utc, end_date_utc))
+
+ # 灏嗘煡璇㈢粨鏋滀腑鐨刄TC鏃堕棿杞崲鍥炴湰鍦版椂闂�
+ if not df.empty and 'time' in df.columns:
+ df['time'] = pd.to_datetime(df['time']) + timedelta(hours=self.timezone_offset)
return df
except Exception as e:
--
Gitblit v1.9.3