Commit Graph

4 Commits

Author SHA1 Message Date
user9994793890
65692fc798 fix: 修复Excel生成时的MergedCell错误
问题:'MergedCell' object has no attribute 'column_letter'

原因:
- 第1行和第2行的单元格被合并(merge_cells)
- 代码尝试访问合并单元格的 column_letter 属性
- 合并单元格(MergedCell)没有这个属性

修复:
- 使用 openpyxl.utils.get_column_letter(col_idx) 获取列字母
- 不再依赖单元格的 column_letter 属性

现在可以正常生成Excel文件了。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 10:01:49 +08:00
user9994793890
2ad6e27131 debug: 添加详细调试日志,诊断下载按钮不显示的问题
问题:日报生成成功后,历史记录中没有下载按钮。

改进内容:

1. lib/report_generator.py:
   - 在生成Excel文件后添加日志:显示文件路径
   - 在保存历史记录前添加日志:显示file_path值
   - 在save_report_history函数中添加详细日志:
     * 显示准备保存的信息
     * 显示file_path和status的值
     * 显示SQL执行结果

2. app.py:
   - 在历史记录API中添加调试日志
   - 显示每条记录的status和file_path
   - 确保file_path不为None(转换为空字符串)
   - 添加错误堆栈输出

3. templates/index.html:
   - 在渲染历史记录时添加console.log调试
   - 显示每条记录的详细信息
   - 显示status和file_path的类型
   - 改进下载按钮判断逻辑
   - 添加title提示显示文件路径

4. 新增文档:
   - 查看调试日志.md:详细的调试步骤和问题诊断方法

现在用户可以通过日志准确定位问题:
- 服务器控制台:查看后端日志
- 浏览器控制台:查看前端日志
- curl测试:直接查看API返回数据

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 12:59:40 +08:00
user9994793890
9fa2745daa fix: 修复日报生成后历史记录不显示的问题
问题:生成日报后,历史记录中没有显示订单。

原因:
1. 如果时间范围内没有订单数据,函数直接返回失败,没有保存失败记录
2. 缺少详细的日志输出,难以诊断问题

修复内容:

1. lib/report_generator.py:
   - 即使没有订单数据,也保存失败记录到历史表(status=0)
   - 添加详细的日志输出:
     * 开始生成时的配置信息
     * 查询到的订单数量
     * 生成成功的详细信息
     * 生成失败的错误堆栈
   - 改进异常处理,确保失败记录一定被保存

2. 新增 test_diagnosis.py:
   - 自动检查数据库连接
   - 检查表是否存在
   - 查看配置和历史记录
   - 检查订单数据统计
   - 提供诊断建议

3. 新增 诊断指南.md:
   - 常见问题和解决方案
   - 手动检查数据库的SQL语句
   - 调试技巧和API测试方法

现在用户可以:
1. 运行 python test_diagnosis.py 快速诊断问题
2. 查看服务器控制台的详细日志
3. 参考诊断指南排查问题
4. 即使生成失败,也能在历史记录中看到记录

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 12:54:22 +08:00
user9994793890
9383612712 feat: 将项目从Next.js重构为Python Flask版本
完全重构为Python + Flask架构,包含:

1. 核心模块:
   - lib/db.py:数据库连接(PyMySQL)
   - lib/field_mapping.py:字段映射(100+字段英文→中文)
   - lib/report_generator.py:日报生成核心逻辑

2. Flask应用:
   - app.py:主应用,包含所有API路由
   - 配置管理API(CRUD、启用/禁用、排序)
   - 日报生成API(支持预设/自定义时间)
   - 历史记录API(分页查询)
   - 文件下载API
   - 定时任务(APScheduler,每天8:01)

3. 前端页面:
   - templates/index.html:完整的单页面应用
   - 三个标签页:配置管理、日报生成、历史记录
   - 原生HTML+CSS+JavaScript,无需构建

4. 依赖管理:
   - requirements.txt:Python依赖清单
   - Flask 3.0.0 + Flask-CORS 4.0.0
   - PyMySQL 1.1.0(数据库驱动)
   - openpyxl 3.1.2(Excel处理)
   - APScheduler 3.10.4(定时任务)

5. 启动脚本:
   - scripts/dev.bat:Windows开发环境启动
   - scripts/start.bat:Windows生产环境启动

6. 文档:
   - README.md:完整的安装、运行、使用指南
   - 包含API接口说明、数据库表结构、常见问题

Windows运行方式:
1. 安装Python 3.8+
2. pip install -r requirements.txt
3. scripts\dev.bat 或 python app.py
4. 访问 http://localhost:5000
5. 初始化数据库:POST /api/init-tables

所有功能完整保留:
✅ 定时任务(每天8:01)
✅ 配置管理(CRUD+启用/禁用+排序)
✅ 日报生成(按配置+时间范围)
✅ 历史记录(查看+下载)
✅ 自定义字段(中文显示)
✅ 求和功能(多字段求和)
✅ 按企业/用户拆分
✅ Excel导出

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 11:26:23 +08:00