Commit Graph

48 Commits

Author SHA1 Message Date
17b7cd27b9 修复历史记录批量下载的bug 2026-08-02 09:38:48 +08:00
9516078b1d 历史记录中,增加按配置名称搜索 2026-08-02 09:14:59 +08:00
0014d07174 修改doirs的一个修改错误 2026-07-30 11:19:09 +08:00
08dec03371 继续优化数据库 2026-07-30 10:59:44 +08:00
db2d27706a 修改数据采集 2026-07-29 10:43:51 +08:00
5d153cf505 制作开发文档,添加充电卡备注到日报中 2026-07-29 10:02:32 +08:00
4a1b0f71c3 悠修复自定义实收金额和求和采集功能增强 2026-07-28 14:16:46 +08:00
e72acb58ec 增加公交线路和编码功能 2026-07-28 09:49:01 +08:00
47e4359eda 修复历史记录等外显信息 2026-07-24 15:49:35 +08:00
e8ba97bc9d 添加特来电报表的结束原因 2026-07-24 13:49:44 +08:00
c118ab39b7 修改峰平谷不对齐 2026-07-24 10:40:19 +08:00
e37e494a1f 修复求和数据页面显示的问题 2026-07-23 15:17:07 +08:00
fa884ae782 修复求和数据统计的问题 2026-07-23 14:57:29 +08:00
03098a553e 修改生成报表中,特来电没有vin和车号的问题,增加日志,查看为什么定时任务合并不了特来电报表 2026-07-22 10:18:55 +08:00
07e88986ab 增加登陆功能,并修改正式环境用5002端口 2026-07-21 16:00:46 +08:00
22f9bccb09 增加发布正式版的命令 2026-07-21 15:37:36 +08:00
cff1074474 更改总计逻辑 2026-07-21 15:21:29 +08:00
d2ba256889 1,修复驿来特没有数据,只特来电有,不生成报表的问题。
2,增加历史记录,每页显示多少条的功能。
2026-07-21 13:30:04 +08:00
404450b779 细节修改 2026-07-20 16:42:56 +08:00
70ae08fa50 修复复制配置的功能 2026-07-15 16:41:13 +08:00
727f5434b2 增加日志 2026-07-15 16:01:06 +08:00
d34dd82bd5 修复编辑配置,保存和回显的问题 2026-07-15 14:35:03 +08:00
96cca34de0 增加t自定义服务费单价 2026-07-15 11:23:02 +08:00
9c3c1e26cc 增加配置的导入和导出功能 2026-07-14 16:30:26 +08:00
cc2214ccf6 增加序号,配置导出,导入,求和采集数据导出 2026-07-14 16:05:43 +08:00
fdd232989b 美化表格 2026-07-14 14:39:38 +08:00
ccc041604a 增加求和采集和细节修改 2026-07-14 14:24:21 +08:00
user9994793890
f84aa8a4a9 refactor: 重构项目结构,按功能模块拆分文件
- 后端:将 app.py 拆分为 lib/api/ 目录下的多个蓝图模块
  - config_api.py: 配置管理 API
  - entity_api.py: 实体管理 API
  - field_api.py: 字段列表 API
  - report_api.py: 日报生成和历史记录 API
  - init_api.py: 数据库初始化 API
  - download_api.py: 文件下载 API
- 前端:将 index.html 拆分为多个文件
  - static/css/style.css: CSS 样式
  - static/js/common.js: 通用工具函数
  - static/js/config.js: 配置管理
  - static/js/entity.js: 实体管理
  - static/js/report.js: 日报生成
  - static/js/history.js: 历史记录
- 更新 app.py 使用蓝图注册 API
- 创建 AGENTS.md 项目文档

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 15:43:03 +08:00
user9994793890
aaa5ba887a fix: 修复历史记录页面显示问题 - 报表日期中文化、时间范围格式修正、配置名称显示
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 14:51:40 +08:00
user9994793890
23f1ea050e fix: 修复报表日期显示问题,使用开始时间提取日期
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:42:49 +08:00
user9994793890
c104b56add feat: 规范报表名称格式,添加补单检测,设置充电量为必选字段
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:39:58 +08:00
user9994793890
f7d0792fff fix: 修复设备和连接器ID转名称映射
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:28:59 +08:00
user9994793890
9822fbabb0 fix: 修复连接器ID显示名称和特来电数据显示问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:21:06 +08:00
user9994793890
f5ddc3ab8d feat: 更新特来电字段对应关系(企业-车量自编号、设备-connector_name、场站-operator_name)
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 13:00:26 +08:00
user9994793890
fa39418ea7 fix: 修复特来电尖峰平谷电量对应问题,电量求和保留三位小数
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 12:56:36 +08:00
user9994793890
d7a3e3fa9a feat: 添加字段自定义报表名头功能
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 11:27:11 +08:00
user9994793890
81945f467a feat: 添加合并特来电平台数据功能
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-13 11:11:10 +08:00
user9994793890
b0d01cbc0e fix: 修复分时段电量字段导致的SQL查询错误
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:05:34 +08:00
user9994793890
619e628501 feat: 添加分时段电量统计功能(尖/峰/平/谷)
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:00:18 +08:00
user9994793890
97512fe0a3 feat: 报表中ID字段自动转换为对应的名称显示
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 14:15:58 +08:00
user9994793890
1e0136f497 feat: 完成配置管理增强功能
## 修复问题

### 1. 企业加载不出来
**问题**:`Unknown column 'company_id' in 'table list'`
**原因**:`t_company` 表中字段名是 `id` 而不是 `company_id`
**修复**:修改 `/api/entities` API 中的SQL查询,使用正确的字段名

### 2. 用户加载不出来
**问题**:`Unknown column 'name' in 'field list'`
**原因**:`t_user` 表中字段名是 `user_name` 而不是 `name`
**修复**:修改SQL查询,使用正确的字段名 `user_name`

## 新增功能

### 3. 拆分方式增加"按场站"
- 在拆分方式下拉框中添加"按场站"选项
- 支持从 `t_station` 表加载场站列表
- 场站显示名称格式:`station_id - name`

### 4. 企业/用户/场站多选功能
- 将选择框改为多选(`multiple` 属性)
- 保存时将多个值用逗号分隔存储
- 编辑时自动解析逗号分隔的值并选中对应选项
- 日报生成时支持多选值查询(使用 IN 语句)

### 5. 配置复制功能
- 在配置列表中添加"复制"按钮
- 复制配置时自动添加"_副本"后缀
- 后端API:`POST /api/config/<id>/copy`

### 6. 后端查询优化
- 修改 `report_generator.py` 中的查询逻辑
- 支持多选值查询(逗号分隔的值使用 IN 语句)

## 重启应用测试

```bash
# Ctrl+C 停止
python app.py
```

然后刷新页面,测试:
1.  企业/用户/场站列表是否正常加载
2.  多选功能是否正常工作
3.  配置复制功能是否正常
4.  生成日报时多选值是否正确查询

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 12:49:57 +08:00
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
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