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
""")
result = engine.execute(query, seccode=seccode).fetchone()
with engine.connect() as conn:
result = conn.execute(query, seccode=seccode).fetchone()
if not result:
return jsonify({
@@ -8667,7 +8668,8 @@ def get_stock_info(seccode):
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 = {
'stock_code': result.SECCODE,
@@ -8828,7 +8830,8 @@ def get_balance_sheet(seccode):
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 = []
for row in result:
@@ -9018,7 +9021,8 @@ def get_income_statement(seccode):
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 = []
for row in result:
@@ -9227,7 +9231,8 @@ def get_cashflow(seccode):
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 = []
for row in result:
@@ -9462,7 +9467,8 @@ def get_financial_metrics(seccode):
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 = []
for row in result:
@@ -9602,7 +9608,8 @@ def get_main_business(seccode):
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 = []
@@ -9620,7 +9627,8 @@ def get_main_business(seccode):
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
rows = list(result)
@@ -9669,7 +9677,8 @@ def get_main_business(seccode):
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
rows = list(result)
@@ -9730,7 +9739,8 @@ def get_forecast(seccode):
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 = []
for row in forecast_result:
@@ -9771,7 +9781,8 @@ def get_forecast(seccode):
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 = []
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 = {}
@@ -9990,7 +10002,8 @@ def get_period_comparison(seccode):
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 = []
for row in result:
@@ -10114,7 +10127,8 @@ def get_trade_data(seccode):
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 = []
for row in result:
@@ -10190,7 +10204,8 @@ def get_funding_data(seccode):
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 = []
for row in result:
@@ -10248,7 +10263,8 @@ def get_bigdeal_data(seccode):
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 = []
for row in result:
@@ -10322,7 +10338,8 @@ def get_unusual_data(seccode):
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 = []
for row in result:
@@ -10400,7 +10417,8 @@ def get_pledge_data(seccode):
ORDER BY ENDDATE DESC LIMIT 12
""")
result = engine.execute(query, seccode=seccode)
with engine.connect() as conn:
result = conn.execute(query, seccode=seccode)
data = []
for row in result:
@@ -10457,9 +10475,12 @@ def get_market_summary(seccode):
ORDER BY ENDDATE DESC LIMIT 1
""")
trade_result = engine.execute(trade_query, seccode=seccode).fetchone()
funding_result = engine.execute(funding_query, seccode=seccode).fetchone()
pledge_result = engine.execute(pledge_query, seccode=seccode).fetchone()
with engine.connect() as conn:
trade_result = conn.execute(trade_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 = {
'stock_code': seccode,
@@ -10954,7 +10975,8 @@ def get_rise_analysis(seccode):
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 = []
@@ -11016,7 +11038,8 @@ def get_comprehensive_analysis(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("""
@@ -11033,7 +11056,8 @@ def get_comprehensive_analysis(company_code):
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("""
@@ -11058,7 +11082,8 @@ def get_comprehensive_analysis(company_code):
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("""
@@ -11085,7 +11110,8 @@ def get_comprehensive_analysis(company_code):
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 = {
@@ -11222,7 +11248,8 @@ def get_value_chain_analysis(company_code):
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("""
@@ -11242,7 +11269,8 @@ def get_value_chain_analysis(company_code):
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 = {}
@@ -11352,7 +11380,8 @@ def get_key_factors_timeline(company_code):
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("""
@@ -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
""")
factors_result = engine.execute(factors_query, **params).fetchall()
with engine.connect() as conn:
factors_result = conn.execute(factors_query, **params).fetchall()
# 获取发展时间线事件
timeline_query = text("""
@@ -11436,7 +11466,8 @@ def get_key_factors_timeline(company_code):
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,
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