update ui
This commit is contained in:
97
app.py
97
app.py
@@ -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,9 +11466,10 @@ def get_key_factors_timeline(company_code):
|
||||
ORDER BY event_date DESC LIMIT :limit
|
||||
""")
|
||||
|
||||
timeline_result = engine.execute(timeline_query,
|
||||
company_code=company_code,
|
||||
limit=event_limit).fetchall()
|
||||
with engine.connect() as conn:
|
||||
timeline_result = conn.execute(timeline_query,
|
||||
company_code=company_code,
|
||||
limit=event_limit).fetchall()
|
||||
|
||||
# 构建关键因素数据结构
|
||||
key_factors_data = {}
|
||||
|
||||
12556
app.py.backup
Normal file
12556
app.py.backup
Normal file
File diff suppressed because it is too large
Load Diff
12556
app.py.backup_20251114_145340
Normal file
12556
app.py.backup_20251114_145340
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user