Files
assist/src/web/blueprints/analytics.py

53 lines
1.5 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
"""
分析相关API蓝图
处理数据分析报告生成等功能
"""
from flask import Blueprint, request, jsonify, send_file
import os
analytics_bp = Blueprint('analytics', __name__, url_prefix='/api/analytics')
@analytics_bp.route('/export')
def export_analytics():
"""导出分析报告"""
try:
from src.web.service_manager import service_manager
from src.core.query_optimizer import query_optimizer
from openpyxl import Workbook
from openpyxl.styles import Font
# 生成Excel报告使用数据库真实数据
analytics = query_optimizer.get_analytics_optimized(30)
# 创建工作簿
wb = Workbook()
ws = wb.active
ws.title = "分析报告"
# 添加标题
ws['A1'] = 'TSP智能助手分析报告'
ws['A1'].font = Font(size=16, bold=True)
# 添加工单统计
ws['A3'] = '工单统计'
ws['A3'].font = Font(bold=True)
ws['A4'] = '总工单数'
ws['B4'] = analytics['workorders']['total']
ws['A5'] = '待处理'
ws['B5'] = analytics['workorders']['open']
ws['A6'] = '已解决'
ws['B6'] = analytics['workorders']['resolved']
# 保存文件
report_path = 'uploads/analytics_report.xlsx'
os.makedirs('uploads', exist_ok=True)
wb.save(report_path)
return send_file(report_path, as_attachment=True, download_name='analytics_report.xlsx')
except Exception as e:
return jsonify({"error": str(e)}), 500