update ui

This commit is contained in:
2025-11-14 15:08:32 +08:00
parent ad8ff50001
commit f72b52000c
3 changed files with 25176 additions and 33 deletions

93
app.py
View File

@@ -8644,7 +8644,8 @@ def get_stock_info(seccode):
ORDER BY a.ENDDATE DESC LIMIT 1 ORDER BY a.ENDDATE DESC LIMIT 1
""") """)
result = engine.execute(query, seccode=seccode).fetchone() with engine.connect() as conn:
result = conn.execute(query, seccode=seccode).fetchone()
if not result: if not result:
return jsonify({ return jsonify({
@@ -8667,7 +8668,8 @@ def get_stock_info(seccode):
ORDER BY F001D DESC LIMIT 1 ORDER BY F001D DESC LIMIT 1
""") """)
forecast_result = engine.execute(forecast_query, seccode=seccode).fetchone() with engine.connect() as conn:
forecast_result = conn.execute(forecast_query, seccode=seccode).fetchone()
data = { data = {
'stock_code': result.SECCODE, 'stock_code': result.SECCODE,
@@ -8828,7 +8830,8 @@ def get_balance_sheet(seccode):
ORDER BY ENDDATE DESC LIMIT :limit ORDER BY ENDDATE DESC LIMIT :limit
""") """)
result = engine.execute(query, seccode=seccode, limit=limit) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, limit=limit)
data = [] data = []
for row in result: for row in result:
@@ -9018,7 +9021,8 @@ def get_income_statement(seccode):
ORDER BY ENDDATE DESC LIMIT :limit ORDER BY ENDDATE DESC LIMIT :limit
""") """)
result = engine.execute(query, seccode=seccode, limit=limit) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, limit=limit)
data = [] data = []
for row in result: for row in result:
@@ -9227,7 +9231,8 @@ def get_cashflow(seccode):
ORDER BY ENDDATE DESC LIMIT :limit ORDER BY ENDDATE DESC LIMIT :limit
""") """)
result = engine.execute(query, seccode=seccode, limit=limit) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, limit=limit)
data = [] data = []
for row in result: for row in result:
@@ -9462,7 +9467,8 @@ def get_financial_metrics(seccode):
ORDER BY ENDDATE DESC LIMIT :limit ORDER BY ENDDATE DESC LIMIT :limit
""") """)
result = engine.execute(query, seccode=seccode, limit=limit) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, limit=limit)
data = [] data = []
for row in result: for row in result:
@@ -9602,7 +9608,8 @@ def get_main_business(seccode):
ORDER BY ENDDATE DESC LIMIT :limit ORDER BY ENDDATE DESC LIMIT :limit
""") """)
periods = engine.execute(period_query, seccode=seccode, limit=limit).fetchall() with engine.connect() as conn:
periods = conn.execute(period_query, seccode=seccode, limit=limit).fetchall()
# 产品分类数据 # 产品分类数据
product_data = [] product_data = []
@@ -9620,7 +9627,8 @@ def get_main_business(seccode):
ORDER BY F005N DESC ORDER BY F005N DESC
""") """)
result = engine.execute(query, seccode=seccode, enddate=period[0]) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, enddate=period[0])
# Convert result to list to allow multiple iterations # Convert result to list to allow multiple iterations
rows = list(result) rows = list(result)
@@ -9669,7 +9677,8 @@ def get_main_business(seccode):
ORDER BY F007N DESC ORDER BY F007N DESC
""") """)
result = engine.execute(query, seccode=seccode, enddate=period[0]) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, enddate=period[0])
# Convert result to list to allow multiple iterations # Convert result to list to allow multiple iterations
rows = list(result) rows = list(result)
@@ -9730,7 +9739,8 @@ def get_forecast(seccode):
ORDER BY F001D DESC, UPDATE_DATE DESC LIMIT 10 ORDER BY F001D DESC, UPDATE_DATE DESC LIMIT 10
""") """)
forecast_result = engine.execute(forecast_query, seccode=seccode) with engine.connect() as conn:
forecast_result = conn.execute(forecast_query, seccode=seccode)
forecast_data = [] forecast_data = []
for row in forecast_result: for row in forecast_result:
@@ -9771,7 +9781,8 @@ def get_forecast(seccode):
ORDER BY F001D DESC LIMIT 8 ORDER BY F001D DESC LIMIT 8
""") """)
pretime_result = engine.execute(pretime_query, seccode=seccode) with engine.connect() as conn:
pretime_result = conn.execute(pretime_query, seccode=seccode)
pretime_data = [] pretime_data = []
for row in pretime_result: for row in pretime_result:
@@ -9870,7 +9881,8 @@ def get_industry_rank(seccode):
""") """)
# 获取多个报告期的数据 # 获取多个报告期的数据
result = engine.execute(query, seccode=seccode, limit_total=limit * 4) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, limit_total=limit * 4)
# 按报告期和行业级别组织数据 # 按报告期和行业级别组织数据
data_by_period = {} data_by_period = {}
@@ -9990,7 +10002,8 @@ def get_period_comparison(seccode):
ORDER BY fi.ENDDATE DESC LIMIT :periods ORDER BY fi.ENDDATE DESC LIMIT :periods
""") """)
result = engine.execute(query, seccode=seccode, periods=periods) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, periods=periods)
data = [] data = []
for row in result: for row in result:
@@ -10114,7 +10127,8 @@ def get_trade_data(seccode):
LIMIT :days LIMIT :days
""") """)
result = engine.execute(query, seccode=seccode, end_date=end_date, days=days) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, end_date=end_date, days=days)
data = [] data = []
for row in result: for row in result:
@@ -10190,7 +10204,8 @@ def get_funding_data(seccode):
ORDER BY TRADEDATE DESC LIMIT :days ORDER BY TRADEDATE DESC LIMIT :days
""") """)
result = engine.execute(query, seccode=seccode, days=days) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, days=days)
data = [] data = []
for row in result: for row in result:
@@ -10248,7 +10263,8 @@ def get_bigdeal_data(seccode):
ORDER BY TRADEDATE DESC, F007N LIMIT :days ORDER BY TRADEDATE DESC, F007N LIMIT :days
""") """)
result = engine.execute(query, seccode=seccode, days=days) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode, days=days)
data = [] data = []
for row in result: for row in result:
@@ -10322,7 +10338,8 @@ def get_unusual_data(seccode):
ORDER BY TRADEDATE DESC, F004N LIMIT 100 ORDER BY TRADEDATE DESC, F004N LIMIT 100
""") """)
result = engine.execute(query, seccode=seccode) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode)
data = [] data = []
for row in result: for row in result:
@@ -10400,7 +10417,8 @@ def get_pledge_data(seccode):
ORDER BY ENDDATE DESC LIMIT 12 ORDER BY ENDDATE DESC LIMIT 12
""") """)
result = engine.execute(query, seccode=seccode) with engine.connect() as conn:
result = conn.execute(query, seccode=seccode)
data = [] data = []
for row in result: for row in result:
@@ -10457,9 +10475,12 @@ def get_market_summary(seccode):
ORDER BY ENDDATE DESC LIMIT 1 ORDER BY ENDDATE DESC LIMIT 1
""") """)
trade_result = engine.execute(trade_query, seccode=seccode).fetchone() with engine.connect() as conn:
funding_result = engine.execute(funding_query, seccode=seccode).fetchone() trade_result = conn.execute(trade_query, seccode=seccode).fetchone()
pledge_result = engine.execute(pledge_query, seccode=seccode).fetchone() with engine.connect() as conn:
funding_result = conn.execute(funding_query, seccode=seccode).fetchone()
with engine.connect() as conn:
pledge_result = conn.execute(pledge_query, seccode=seccode).fetchone()
summary = { summary = {
'stock_code': seccode, 'stock_code': seccode,
@@ -10954,7 +10975,8 @@ def get_rise_analysis(seccode):
ORDER BY trade_date DESC LIMIT 100 ORDER BY trade_date DESC LIMIT 100
""") """)
result = engine.execute(query, **params).fetchall() with engine.connect() as conn:
result = conn.execute(query, **params).fetchall()
# 格式化数据 # 格式化数据
rise_analysis_data = [] rise_analysis_data = []
@@ -11016,7 +11038,8 @@ def get_comprehensive_analysis(company_code):
WHERE company_code = :company_code WHERE company_code = :company_code
""") """)
qualitative_result = engine.execute(qualitative_query, company_code=company_code).fetchone() with engine.connect() as conn:
qualitative_result = conn.execute(qualitative_query, company_code=company_code).fetchone()
# 获取业务板块分析 # 获取业务板块分析
segments_query = text(""" segments_query = text("""
@@ -11033,7 +11056,8 @@ def get_comprehensive_analysis(company_code):
ORDER BY created_at DESC ORDER BY created_at DESC
""") """)
segments_result = engine.execute(segments_query, company_code=company_code).fetchall() with engine.connect() as conn:
segments_result = conn.execute(segments_query, company_code=company_code).fetchall()
# 获取竞争地位数据 - 最新一期 # 获取竞争地位数据 - 最新一期
competitive_query = text(""" competitive_query = text("""
@@ -11058,7 +11082,8 @@ def get_comprehensive_analysis(company_code):
ORDER BY report_period DESC LIMIT 1 ORDER BY report_period DESC LIMIT 1
""") """)
competitive_result = engine.execute(competitive_query, company_code=company_code).fetchone() with engine.connect() as conn:
competitive_result = conn.execute(competitive_query, company_code=company_code).fetchone()
# 获取业务结构数据 - 最新一期 # 获取业务结构数据 - 最新一期
business_structure_query = text(""" business_structure_query = text("""
@@ -11085,7 +11110,8 @@ def get_comprehensive_analysis(company_code):
ORDER BY revenue_ratio DESC ORDER BY revenue_ratio DESC
""") """)
business_structure_result = engine.execute(business_structure_query, company_code=company_code).fetchall() with engine.connect() as conn:
business_structure_result = conn.execute(business_structure_query, company_code=company_code).fetchall()
# 构建返回数据 # 构建返回数据
response_data = { response_data = {
@@ -11222,7 +11248,8 @@ def get_value_chain_analysis(company_code):
ORDER BY node_level ASC, importance_score DESC ORDER BY node_level ASC, importance_score DESC
""") """)
nodes_result = engine.execute(nodes_query, company_code=company_code).fetchall() with engine.connect() as conn:
nodes_result = conn.execute(nodes_query, company_code=company_code).fetchall()
# 获取产业链流向数据 # 获取产业链流向数据
flows_query = text(""" flows_query = text("""
@@ -11242,7 +11269,8 @@ def get_value_chain_analysis(company_code):
ORDER BY flow_ratio DESC ORDER BY flow_ratio DESC
""") """)
flows_result = engine.execute(flows_query, company_code=company_code).fetchall() with engine.connect() as conn:
flows_result = conn.execute(flows_query, company_code=company_code).fetchall()
# 构建节点数据结构 # 构建节点数据结构
nodes_by_level = {} nodes_by_level = {}
@@ -11352,7 +11380,8 @@ def get_key_factors_timeline(company_code):
ORDER BY display_order ASC, created_at ASC ORDER BY display_order ASC, created_at ASC
""") """)
categories_result = engine.execute(categories_query, company_code=company_code).fetchall() with engine.connect() as conn:
categories_result = conn.execute(categories_query, company_code=company_code).fetchall()
# 获取关键因素详情 # 获取关键因素详情
factors_query = text(""" factors_query = text("""
@@ -11417,7 +11446,8 @@ def get_key_factors_timeline(company_code):
ORDER BY kf.report_period DESC, kf.impact_weight DESC, kf.updated_at DESC ORDER BY kf.report_period DESC, kf.impact_weight DESC, kf.updated_at DESC
""") """)
factors_result = engine.execute(factors_query, **params).fetchall() with engine.connect() as conn:
factors_result = conn.execute(factors_query, **params).fetchall()
# 获取发展时间线事件 # 获取发展时间线事件
timeline_query = text(""" timeline_query = text("""
@@ -11436,7 +11466,8 @@ def get_key_factors_timeline(company_code):
ORDER BY event_date DESC LIMIT :limit ORDER BY event_date DESC LIMIT :limit
""") """)
timeline_result = engine.execute(timeline_query, with engine.connect() as conn:
timeline_result = conn.execute(timeline_query,
company_code=company_code, company_code=company_code,
limit=event_limit).fetchall() limit=event_limit).fetchall()

12556
app.py.backup Normal file

File diff suppressed because it is too large Load Diff

12556
app.py.backup_20251114_145340 Normal file

File diff suppressed because it is too large Load Diff