From 4048393750de17cfa2ae59fec1380a81ea2b2a6b Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期一, 02 二月 2026 09:47:24 +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