feat: 初始化福州港日报管理系统
- 添加日报生成功能 (report_generator.py) - 添加 GUI 界面 (daily_report_gui.py) - 添加班次交接报告功能 (shift_report.py) - 集成飞书 API 获取排班信息 - 集成 Metabase 查询作业数据 - 生成 AGENTS.md 文档
This commit is contained in:
72
AGENTS.md
Normal file
72
AGENTS.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# GLORIA 日报管理系统
|
||||
|
||||
**生成时间:** 2026-03-03
|
||||
**语言:** Python 3.10+
|
||||
**用途:** 福州港日报生成与管理
|
||||
|
||||
## 概述
|
||||
|
||||
从飞书获取排班信息,从 Metabase 获取船舶作业数据,生成标准化日报。
|
||||
|
||||
## 结构
|
||||
|
||||
```
|
||||
Gloria/
|
||||
├── daily_report_gui.py # GUI入口 (Tkinter)
|
||||
├── report_generator.py # CLI入口 + 核心生成逻辑
|
||||
├── feishu/ # 飞书API集成
|
||||
│ ├── client.py # HTTP客户端 + Token管理
|
||||
│ ├── manager.py # 排班管理器(统一入口)
|
||||
│ └── parser.py # 月度/年度表格解析
|
||||
├── metabase/ # Metabase数据查询
|
||||
│ ├── time_operations.py # 按时间范围查询
|
||||
│ └── vessel_operations.py # 按船舶查询
|
||||
└── template/ # 日报模板
|
||||
```
|
||||
|
||||
## 查找指南
|
||||
|
||||
| 任务 | 位置 |
|
||||
|------|------|
|
||||
| 修改日报格式 | `template/daily_report_template.txt` |
|
||||
| 调整班次时间规则 | `report_generator.py:36-78` (`get_shift_time_range`) |
|
||||
| 添加飞书功能 | `feishu/manager.py` |
|
||||
| 新增Metabase查询 | `metabase/` 对应客户端 |
|
||||
| 修改GUI界面 | `daily_report_gui.py` |
|
||||
|
||||
## 关键约定
|
||||
|
||||
### 班次时间规则
|
||||
- **每月1号:** 00:00 ~ 次日08:00
|
||||
- **月底最后一天:** 08:00 ~ 23:59
|
||||
- **其他日期:** 08:00 ~ 次日08:00
|
||||
|
||||
### 环境变量 (.env)
|
||||
```
|
||||
MATEBASE_USERNAME=xxx
|
||||
MATEBASE_PASSWORD=xxx
|
||||
FEISHU_APP_ID=xxx
|
||||
FEISHU_APP_SECRET=xxx
|
||||
FEISHU_SPREADSHEET_TOKEN=xxx
|
||||
```
|
||||
|
||||
### 运行方式
|
||||
```bash
|
||||
# GUI模式
|
||||
python daily_report_gui.py
|
||||
|
||||
# CLI模式
|
||||
python report_generator.py --date 2026-03-01
|
||||
```
|
||||
|
||||
## 依赖
|
||||
|
||||
- `requests` - HTTP请求
|
||||
- `python-dotenv` - 环境变量
|
||||
- `tkinter` - GUI (标准库)
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 程序需在 **8:00 后运行**,确保最后一条船指令结束时间超过8点
|
||||
- 飞书 Token 自动刷新,提前30分钟续期
|
||||
- Metabase 无原生 Python SDK,使用 REST API
|
||||
Reference in New Issue
Block a user