feat: 交接班报告支持 Confluence/Jira 集成,添加 N/A 记录时间归属功能
- 集成 Confluence API 获取船舶报告数据 - 集成 Jira API 查询故障数量 - 支持船号显示 (462#、463# 等) - 支持故障次数/故障率、人工介入次数/介入率显示 - 跨班作业使用 Card 69 按时间查询效率 - 不跨班作业使用整船效率(剔除异常) - N/A 记录根据作业时间归属到对应船舶 - 更新 AGENTS.md 和 README.md 文档 - 删除 daily_report_gui.py
This commit is contained in:
60
README.md
60
README.md
@@ -1,11 +1,17 @@
|
||||
# Gloria - 福州港日报管理系统
|
||||
|
||||
从飞书获取排班信息,从 Metabase 获取船舶作业数据,生成标准化日报。
|
||||
从飞书获取排班信息,从 Metabase 获取船舶作业数据,从 Confluence 获取船舶报告,从 Jira 获取故障信息,生成标准化日报和交接班报告。
|
||||
|
||||
## 功能
|
||||
|
||||
- **日报生成**: 自动生成每日作业报告
|
||||
- **班次交接报告**: 分别统计白班/夜班作业情况
|
||||
- 船号显示 (462#、463# 等)
|
||||
- 故障次数/故障率
|
||||
- 人工介入次数/介入率
|
||||
- 作业效率 (循环/车/小时)
|
||||
- **Confluence 集成**: 从实船作业统计页面获取船舶数据
|
||||
- **Jira 集成**: 查询故障单数量
|
||||
- **GUI 界面**: 基于 Tkinter 的图形界面
|
||||
- **CLI 支持**: 命令行方式运行
|
||||
|
||||
@@ -18,6 +24,8 @@ Gloria/
|
||||
├── shift_report.py # 班次交接报告
|
||||
├── feishu/ # 飞书 API 集成
|
||||
├── metabase/ # Metabase 数据查询
|
||||
├── confluence/ # Confluence API 集成
|
||||
├── jira_client.py # Jira API 客户端
|
||||
└── template/ # 报告模板
|
||||
```
|
||||
|
||||
@@ -38,12 +46,24 @@ pip install requests python-dotenv
|
||||
|
||||
创建 `.env` 文件:
|
||||
|
||||
```
|
||||
MATEBASE_USERNAME=xxx
|
||||
MATEBASE_PASSWORD=xxx
|
||||
FEISHU_APP_ID=xxx
|
||||
FEISHU_APP_SECRET=xxx
|
||||
FEISHU_SPREADSHEET_TOKEN=xxx
|
||||
```bash
|
||||
# Metabase
|
||||
MATEBASE_USERNAME=your_username
|
||||
MATEBASE_PASSWORD=your_password
|
||||
|
||||
# 飞书
|
||||
FEISHU_APP_ID=your_app_id
|
||||
FEISHU_APP_SECRET=your_app_secret
|
||||
FEISHU_SPREADSHEET_TOKEN=your_spreadsheet_token
|
||||
|
||||
# Confluence (可选)
|
||||
CONFLUENCE_URL=https://confluence.westwell-lab.com
|
||||
CONFLUENCE_TOKEN=your_token
|
||||
|
||||
# Jira (可选)
|
||||
JIRA_URL=https://jira.westwell-lab.com
|
||||
JIRA_USERNAME=your_username
|
||||
JIRA_TOKEN=your_token
|
||||
```
|
||||
|
||||
### 运行
|
||||
@@ -58,6 +78,7 @@ python report_generator.py --date 2026-03-01
|
||||
# 班次交接报告
|
||||
python shift_report.py --date 2026-03-01 --shift day
|
||||
python shift_report.py --date 2026-03-01 --shift night
|
||||
python shift_report.py --date 2026-03-01 --shift all
|
||||
```
|
||||
|
||||
## 模块使用
|
||||
@@ -128,6 +149,19 @@ today = manager.get_schedule_for_today()
|
||||
tomorrow = manager.get_schedule_for_tomorrow()
|
||||
```
|
||||
|
||||
### Confluence 船舶报告
|
||||
|
||||
```python
|
||||
from confluence import VesselReportManager
|
||||
|
||||
manager = VesselReportManager()
|
||||
|
||||
# 获取指定日期范围内的报告
|
||||
reports = manager.get_vessel_reports_in_range("2026-03-01", "2026-03-02")
|
||||
|
||||
# 返回包含船号、船名、故障次数、人工介入次数等的报告列表
|
||||
```
|
||||
|
||||
## 班次时间
|
||||
|
||||
| 类型 | 时间范围 |
|
||||
@@ -135,11 +169,21 @@ tomorrow = manager.get_schedule_for_tomorrow()
|
||||
| 白班 | 08:00 - 20:00 |
|
||||
| 夜班 | 20:00 - 次日 08:00 |
|
||||
|
||||
## N/A 记录处理
|
||||
|
||||
Metabase 中可能出现 vesselVisitID 为 "N/A" 的记录(通常是数据同步问题导致)。系统会自动根据作业时间将这些记录归属到对应的船舶:
|
||||
|
||||
- 检查 N/A 记录的时间范围
|
||||
- 与其他船舶的时间范围进行重叠判断
|
||||
- 将 N/A 记录的 TEU 合并到时间重叠的船舶
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 程序需在 **8:00 后运行**,确保最后一条船指令结束时间超过 8 点
|
||||
- 飞书 Token 自动刷新,提前 30 分钟续期
|
||||
- Metabase 无原生 Python SDK,使用 REST API
|
||||
- Confluence 和 Jira 需要配置相应 Token 才能启用完整功能
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
MIT
|
||||
|
||||
Reference in New Issue
Block a user