user9994793890
|
edcebbabb5
|
fix: 优化数据库连接超时配置
问题:生成日报时MySQL连接超时
修复:
- 增加 connect_timeout: 30秒
- 增加 read_timeout: 60秒
- 增加 write_timeout: 60秒
数据库连接测试成功,配置正确。
如果是沙箱环境网络限制,建议在本地运行。
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-10 10:01:04 +08:00 |
|
user9994793890
|
56962cf485
|
fix: 添加 field_mapping.py 中缺少的函数
问题:Windows本地运行时提示 ImportError: cannot import name 'get_field_display_name'
原因:field_mapping.py 中缺少 get_field_display_name 和 get_all_fields_with_display 函数
修复:添加了这两个函数:
- get_field_display_name(field_key): 获取字段的中文显示名称
- get_all_fields_with_display(): 获取所有字段,包含key和显示名称
现在可以在Windows本地正常运行了。
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-09 14:23:18 +08:00 |
|
user9994793890
|
075fd29432
|
fix: 修复字段映射,使用实际数据库字段名
问题:field_mapping.py 中的字段名和实际数据库不匹配,导致查询失败。
修复内容:
- 更新所有字段名为实际数据库中的字段名
- 例如:
- total_money → receivable_total_fee(应收总费用)
- charge_money → charging_amt(充电金额)
- charge_energy → charge_degree(充电电量)
- start_time → charge_begin_time(充电开始时间)
- end_time → charge_end_time(充电结束时间)
现在可以使用正确的字段名创建配置并生成日报了!
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-09 13:46:36 +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 |
|