user9994793890
|
c2dabee453
|
fix: 创建Windows专用批处理脚本,解决bash脚本无法运行的问题
问题:Windows PowerShell不支持bash脚本,导致 pnpm run dev 报错 "invalid option name"。
解决方案:
1. 创建Windows批处理脚本文件:
- scripts/dev.bat:开发环境启动(含端口清除逻辑)
- scripts/build.bat:构建脚本(安装依赖+构建+打包)
- scripts/start.bat:生产环境启动
2. 更新package.json:
- 添加Windows专用命令:dev:win、build:win、start:win
- 原命令添加fallback逻辑(bash失败时尝试bat)
3. Windows脚本特点:
- 使用 @echo off 和Windows命令语法
- 自动检查和清除端口占用(netstat + taskkill)
- 支持环境变量 COZE_WORKSPACE_PATH 和 DEPLOY_RUN_PORT
- 兼容PowerShell和命令提示符
Windows用户运行方式:
- 推荐:pnpm run dev:win
- 或直接:scripts\dev.bat
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 14:03:32 +08:00 |
|
user9994793890
|
a5eaa68dca
|
docs: 创建Windows开发和测试详细指南
新增 WINDOWS_GUIDE.md 文件,包含Windows系统下的完整操作指南:
1. 软件安装步骤
- Node.js 20.x LTS 安装(含官网下载链接)
- pnpm 安装命令和验证方法
- VSCode 推荐安装和扩展配置
2. 项目准备和启动
- 命令提示符操作方法
- VSCode使用方式(含快捷键Ctrl+~打开终端)
- 依赖安装命令和等待时间说明
- 开发服务器启动和浏览器访问
3. 数据库初始化(首次运行)
- 浏览器直接访问方式
- curl命令方式
- PowerShell Invoke-WebRequest方式
4. 功能测试清单
- 配置创建(选择企业/用户、字段、求和)
- 日报生成(选择配置、预设时间)
- 单个下载和批量下载测试
- 定时任务测试说明
5. Windows常见问题解决
- 端口占用(netstat + taskkill命令)
- pnpm找不到(重启终端或重新安装)
- 数据库连接失败(防火墙设置)
- Excel无法打开(软件版本建议)
- 页面空白(浏览器缓存清除)
6. 开发和测试技巧
- 实时日志查看
- 代码错误检查
- 重启服务器方法
- 清除缓存命令
7. Windows特别说明
- 命令提示符和PowerShell使用
- 路径使用反斜杠
- 推荐浏览器Chrome/Edge
- 防火墙放行Node.js
8. 性能优化建议
- 使用SSD硬盘
- Node.js内存限制调整
- 浏览器选择建议
包含完整的命令示例、错误信息、解决方法,适合Windows用户快速上手开发和测试!
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 13:57:14 +08:00 |
|
user9994793890
|
bd666687e1
|
docs: 创建本地运行详细指南
新增 README.md 文件,包含完整的本地运行指南:
1. 系统要求说明
- Node.js 20+(推荐)
- pnpm(包管理器)
- PM2(可选,生产环境)
2. 详细安装步骤
- Node.js安装(Windows/macOS/Linux)
- pnpm安装命令
- 项目依赖安装
- 数据库初始化方法
3. 运行命令总结
- pnpm install(安装依赖)
- pnpm run dev(开发环境)
- pnpm run build(构建)
- pnpm run start(生产环境)
4. 常见问题解决
- pnpm安装失败
- Node.js版本过低
- 数据库连接失败
- 端口占用
- Excel下载问题
- 定时任务不执行
5. 项目目录说明
- src/主程序
- scripts/启动脚本
- public/reports/Excel存储
- 关键文件作用说明
用户可按照README步骤在本地运行项目!
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 13:22:30 +08:00 |
|
user9994793890
|
d856322654
|
docs: 说明项目技术栈和主程序目录
这是一个基于 Next.js + TypeScript 的订单日报系统,不是Python写的。
主程序目录:/workspace/projects/src
核心技术栈:
- Next.js 16 (App Router)
- React 19
- TypeScript 5
- Tailwind CSS 4
- MySQL (mysql2)
- node-cron (定时任务)
主程序文件说明:
1. src/app/ - Next.js应用主目录(页面和API)
2. src/lib/ - 核心业务逻辑(数据库、报表生成等)
3. src/server.ts - 服务启动文件(包含定时任务)
4. src/components/ - UI组件库
5. scripts/ - 启动脚本
requirements.txt 是可选的Python辅助工具依赖,与主项目无关。
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 11:05:06 +08:00 |
|
user9994793890
|
fd7ad7c9c1
|
chore: 添加Python依赖包列表文件
新增 requirements.txt 文件,包含常用的Python包依赖:
- 数据处理:pandas、numpy、openpyxl(Excel处理)
- 数据库:mysql-connector-python、pymysql、sqlalchemy
- Web开发:flask、fastapi、requests
- 定时任务:schedule、apscheduler
- 日期处理:python-dateutil、pytz
- 可视化:matplotlib、seaborn(可选)
用途:用于Python辅助工具开发,如数据分析脚本、自动化任务等
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 10:21:25 +08:00 |
|
user9994793890
|
76c3f41287
|
fix: 解决生成日报后无法下载的问题
核心问题:历史记录表缺少字段,导致无法保存和显示生成的日报
关键修复:
1. ✅ 历史表添加缺失字段
- start_time: 开始时间
- end_time: 结束时间
- config_id: 配置ID
- sum_results: 求和结果(JSON)
2. ✅ 修复历史记录保存逻辑
- generateDailyReport函数添加历史记录保存
- 使用正确的字段名(split_name、sum_results)
- 保存config_id以便关联配置
3. ✅ 修复历史记录API
- 使用pool.query替代pool.execute(解决offset错误)
- 添加分页参数支持
- 返回正确的数据格式
4. ✅ 创建历史表重建API
- DROP旧表 + CREATE新表(包含所有字段)
- 使用UNIQUE KEY支持后续更新操作
测试结果:
✅ 日报生成成功(35个订单)
✅ 历史记录保存成功
✅ 历史记录查询返回数据
✅ 文件路径正确保存
修改文件:
- src/lib/report-generator.ts - 添加历史记录保存逻辑
- src/app/api/report/generate/route.ts - 传递config_id
- src/app/api/report/history/route.ts - 修复查询逻辑
- 新增临时API重建历史表(已删除)
生成的日报可在历史记录页面查看和下载!
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 10:11:35 +08:00 |
|
user9994793890
|
3f5aa8ebe6
|
feat: 优化日报生成流程,改为按配置生成
核心改进:
1. ✅ 日报生成改为选择已保存的配置
- 用户只需选择配置、时间范围即可生成
- 自动加载配置的字段和求和字段
- 不需要重复手动选择字段
2. ✅ 简化用户操作流程
原流程:选择企业→手动选择字段→手动选择求和字段→生成
新流程:选择配置→选择时间范围→生成
3. ✅ API支持配置ID参数
- 新增config_id参数
- 根据配置ID查询字段设置
- 自动填充split_type/split_value等
4. ✅ 测试验证成功
- 根据配置ID生成日报(ID: 1783474773627)
- 成功生成35个订单
- 求和结果正确:充电电量335159.3
5. ✅ 报表文件路径
- 生成位置:public/reports/
- 文件名:日报_企业_国营-西南-79路_2025-06-01.xlsx
- 历史记录页面可查看和下载
修改文件:
- src/app/page.tsx - 添加配置选择下拉框
- src/app/api/report/generate/route.ts - 支持config_id参数
- src/lib/report-generator.ts - 保持原有逻辑
用户体验大幅优化,操作步骤从5步减少到3步!
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 09:58:59 +08:00 |
|
user9994793890
|
ca7c703d5c
|
feat: 添加立即生成日报功能,支持预设时间和自定义时间
新增功能:
1. ✅ 预设时间选项(7种常用时间范围)
- 昨天(前一天早8点到今天早8点)
- 最近7天
- 最近30天
- 本周(本周一早8点起)
- 上周(上周一早8点到上周日早8点)
- 本月(本月1号早8点起)
- 上月(上月1号早8点到上月最后一天)
2. ✅ 自定义时间范围选择器
- 灵活选择任意时间范围
- 开始日期(早8点)和结束日期(早8点)
- 所有时间以早8点为基准
3. ✅ 前端UI改进
- 添加时间模式切换按钮(预设时间/自定义时间)
- 根据选择模式显示对应的选择器
- 清晰的提示说明
4. ✅ 后端API扩展
- 支持start_time和end_time参数
- 保留report_date兼容旧接口
- 灵活的时间范围计算
5. ✅ 测试验证
- 静态检查通过
- API测试成功(生成35个订单的日报)
- 求和功能正常(充电电量: 335159.3)
修改文件:
- src/app/page.tsx - 前端时间选择UI
- src/app/api/report/generate/route.ts - API支持时间参数
- src/lib/report-generator.ts - 生成器支持时间范围
用户可以在日报生成页面灵活选择时间范围,立即生成任意时间段的历史日报!
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 09:49:51 +08:00 |
|
user9994793890
|
9573309adb
|
fix: 解决数据库配置错误和表重建问题
核心问题:
1. 数据库连接池参数导致offset错误
2. 缺少sort_order字段导致创建配置失败
关键修复:
1. 移除有问题的MySQL2连接池参数
- 删除enableKeepAlive和keepAliveInitialDelay配置
- 解决"The value of offset is out of range"错误
2. 创建表重建API
- 使用pool.query()替代pool.execute()
- 正确处理Doris数据库的表创建
3. 测试结果:
✅ 表重建成功
✅ 配置创建成功
✅ 配置列表正常显示(包含sort_order=999)
4. 删除临时API文件
所有静态检查通过,创建配置功能已正常
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 09:40:39 +08:00 |
|
user9994793890
|
2fce6dd844
|
feat: 完善日报系统功能
新增功能:
1. ✅ 启用/禁用切换按钮
- 配置列表显示启用/禁用状态
- 点击按钮切换配置状态,不再直接删除
2. ✅ 独立删除按钮
- 删除前弹出确认提示
- 确认后才真正删除配置
3. ✅ 配置排序功能
- 添加sort_order字段支持排序
- 上移/下移按钮调整配置顺序
- 按sort_order升序排列
4. ✅ 定时任务验证
- 已有每天8:01自动生成日报的cron任务
- server.ts已正确集成定时任务
- 定时任务会为所有启用的配置生成日报
5. ✅ 批量下载功能
- 历史记录添加复选框选择
- 全选/取消全选功能
- 批量下载按钮一次性下载多个日报
数据库表更新:
- t_daily_report_config新增sort_order字段
- 历史记录查询包含is_active状态显示
- 配置表建表语句支持排序字段
前端更新:
- 配置列表显示状态列
- 操作按钮分为启用/禁用、删除、上移、下移
- 历史记录添加批量选择和下载功能
代码静态检查通过,所有功能可用
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 09:31:52 +08:00 |
|
user9994793890
|
eebe142787
|
fix: 修复启用/禁用功能,添加 Doris UNIQUE KEY 支持
核心问题:Doris 只允许更新有 UNIQUE KEY 的表,之前的表不支持 UPDATE 操作
关键修改:
1. 为所有建表语句添加 UNIQUE KEY(id)
2. 修改以下文件的建表语句:
- config/route.ts(配置表)
- report/history/route.ts(历史表)
- init-tables.ts(初始化脚本)
- report-generator.ts(生成器)
建表语法变更:
- 从:DISTRIBUTED BY HASH(id) BUCKETS 1
- 到:UNIQUE KEY(id) + DISTRIBUTED BY HASH(id) BUCKETS 1
测试结果:
✅ 配置创建成功(HTTP 200)
✅ 配置禁用成功(HTTP 200)
✅ 配置启用成功(HTTP 200)
✅ 所有静态检查通过
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-08 08:43:59 +08:00 |
|
user9994793890
|
26f0ed12f1
|
fix: 修复 Doris 数据库建表语法兼容性问题
核心问题:数据库为 Apache Doris 而非标准 MySQL,建表语法完全不同
关键修改:
1. 去除所有 MySQL 特有语法(ENGINE、DEFAULT、IF NOT EXISTS)
2. 使用 Doris 必需语法:DISTRIBUTED BY HASH + PROPERTIES
3. 所有 NULL/NOT NULL 和 DEFAULT 值重新适配
4. 修复四个文件的建表语句:
- config/route.ts(配置表)
- report/history/route.ts(历史表)
- report-generator.ts(生成器)
- init-tables.ts(初始化脚本)
测试结果:
✅ 配置创建 API 测试通过(HTTP 200)
✅ 所有静态检查通过
✅ Doris 建表语法完全兼容
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-07 17:13:14 +08:00 |
|
user9994793890
|
05b031bb40
|
feat: 完善日报系统功能
主要更新:
1. 【核心变更】从批量拆分改为单个企业/用户选择生成
- 用户现在可以选择特定的企业或用户生成日报
- 企业列表显示企业名称(如"国营-西南-79路")
- 用户列表显示用户姓名,并标注用户类型(企业用户/普通用户)
2. 【新增功能】求和功能
- 支持选择多个字段进行求和
- 求和结果显示在Excel表格底部
- 可对金额、电量等多列分别求和
3. 【数据库表结构更新】
- t_daily_report_config 新增字段:split_name(企业/用户名称)、sum_fields(求和字段列表)
- t_daily_report_history 新增字段:split_name、sum_results(求和结果JSON)
4. 【前端页面优化】
- 配置管理:选择企业/用户时显示名称和订单数量
- 日报生成:支持选择单个企业/用户、字段和求和字段
- 历史记录:显示企业/用户名称和求和结果
5. 【API接口优化】
- 企业列表API:返回company_name、company_no、company_group等信息
- 用户列表API:返回user_name和用户类型标签
- 日报生成API:支持sum_fields参数
6. 【删除临时文件】清理debug调试API接口
所有代码静态检查通过,企业列表和用户列表API测试成功
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-07 16:52:51 +08:00 |
|
user9994793890
|
13a7188af1
|
fix: 修正数据库端口配置并优化API返回逻辑
- 修正数据库端口从默认3306改为10216(根据用户提供的SQL文件)
- 优化API接口:即使配置表不存在也能返回完整的字段列表
- 现字段列表正常显示,包含100+个可选字段
- 数据库连接成功,可正常读取订单表数据
- 用户需先调用 POST /api/init-tables 初始化配置表和历史表
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-07 16:21:56 +08:00 |
|
user9994793890
|
ba91796dc1
|
feat: 实现订单日报系统
- 创建订单日报系统,支持每天8:01自动生成前一天(早8点到当天早8点)的日报
- 新建两个数据库表:t_daily_report_config(配置表)和 t_daily_report_history(历史表)
- 原表 t_equipment_charge_order 只读取不修改,严格遵守用户要求
- 支持按企业ID或用户ID拆分日报,用户ID会提示是企业用户还是普通用户
- 用户可自定义选择报表字段,所有字段使用中文显示
- 实现配置管理、日报生成、历史查看的完整功能
- 代码检查全部通过,静态检查无错误
Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
|
2026-07-07 16:14:42 +08:00 |
|
user9994793890
|
b6a1b77054
|
chore: init env
|
2026-07-07 16:00:36 +08:00 |
|
user9994793890
|
3ca157c1e9
|
Initial commit
|
2026-07-07 15:58:35 +08:00 |
|