Commit Graph

25 Commits

Author SHA1 Message Date
c332e4eb1c 修改定时时间 2026-07-30 09:47:52 +08:00
e72acb58ec 增加公交线路和编码功能 2026-07-28 09:49:01 +08:00
7a7fd04e40 优化搜索框,处理日报自动生成的问题 2026-07-27 14:13:50 +08:00
07e88986ab 增加登陆功能,并修改正式环境用5002端口 2026-07-21 16:00:46 +08:00
cff1074474 更改总计逻辑 2026-07-21 15:21:29 +08:00
404450b779 细节修改 2026-07-20 16:42:56 +08:00
727f5434b2 增加日志 2026-07-15 16:01:06 +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
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
c44ae11e52 feat: 用户选择增加手机号搜索功能
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:40:39 +08:00
user9994793890
589e843cc8 fix: 修复企业列表显示禁用企业和复制配置丢失时段数据的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 15:37:31 +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
cdab7b905a fix: 修复编辑配置时已选内容未回显的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 14:18:19 +08:00
user9994793890
babca759e4 fix: 修复配置复制功能失败的问题
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 13:10:15 +08:00
user9994793890
2d9951de59 feat: 优化实体加载,添加分页和搜索功能
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 13:04:04 +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
a1431e421d feat: 配置管理增加复制功能,修复企业加载问题
## 修复问题

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

## 新增功能

### 2. 配置复制功能
- 在配置列表中每个配置添加"复制"按钮
- 点击复制按钮,复制整个配置(包括所有字段设置)
- 新配置名称自动添加"_副本"后缀
- 后端API:`POST /api/config/<id>/copy`

## 功能说明

### 复制配置
1. 在配置管理标签页
2. 找到要复制的配置
3. 点击"复制"按钮
4. 系统会创建一个新配置,名称为"原名称_副本"
5. 新配置包含原配置的所有设置(拆分方式、字段、求和等)

### 企业加载
现在企业列表可以正常加载了,显示企业ID和名称。

## 重启应用测试

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

然后刷新页面,测试:
1. 企业列表是否正常显示
2. 配置复制功能是否正常工作

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 12:44:30 +08:00
user9994793890
ac93eb4c98 feat: 历史记录增加删除、批量删除、批量下载和日期查询功能
新增功能:

1. 报表日期格式改为数字显示
   - 修改 formatDateDisplay 函数
   - 格式:YYYY-MM-DD(如"2026-07-09")

2. 删除单个历史记录
   - 在每行添加删除按钮
   - 后端API:DELETE /api/report/history/<id>
   - 同时删除文件和数据库记录

3. 批量删除历史记录
   - 在每行添加复选框
   - 表头添加全选复选框
   - 添加"批量删除"按钮
   - 后端API:POST /api/report/history/batch-delete

4. 批量下载历史记录
   - 添加"批量下载"按钮
   - 后端API:POST /api/report/history/batch-download
   - 使用zipfile打包多个Excel文件

5. 按日期时间查询
   - 添加日期范围选择器(开始日期、结束日期)
   - 添加"查询"和"重置"按钮
   - 后端API:GET /api/report/history?start_date=xxx&end_date=xxx
   - 支持按start_time和end_time筛选

6. 根据ID下载历史记录
   - 后端API:GET /api/report/history/<id>/download
   - 直接下载对应的Excel文件

前端修改:
- 添加全选复选框和行复选框
- 添加批量操作按钮(批量删除、批量下载)
- 添加日期查询表单
- 添加相关JavaScript函数

后端修改:
- 修改历史记录查询API,支持日期筛选
- 添加删除单个记录API
- 添加批量删除API
- 添加批量下载API
- 添加根据ID下载API

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-10 11:04:50 +08:00
user9994793890
73b0c00b37 fix: 创建 .coze 配置文件,配置为Python Flask版本
问题:沙箱预览仍然使用旧的Node.js版本配置(scripts/dev.sh)

修复:
1. 创建 .coze 配置文件:
   - requires: python-3.12
   - build: pip install -r requirements.txt
   - run: python app.py

2. 更新 app.py 端口配置:
   - 支持 DEPLOY_RUN_PORT(沙箱环境)
   - 支持 PORT(本地环境)
   - 默认 5000

现在沙箱预览会使用Python Flask版本。

请在IDE中重新启动预览:
1. 点击预览窗口的刷新按钮
2. 或关闭预览后重新打开

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 15:00:25 +08:00
user9994793890
b51afb3b67 fix: 修复下载API,添加调试日志
问题:下载API返回 "Not Found"

修复:
- 使用绝对路径:os.path.join(os.path.dirname(os.path.abspath(__file__)), 'public', 'reports')
- 添加详细调试日志:显示文件目录、文件名、文件是否存在、目录中的文件列表

请重启服务并测试下载。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
2026-07-09 14:20:24 +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
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