Files
gloria/CONFLUENCE_INTEGRATION.md

108 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

# Confluence 数据集成说明
## 概述
交接班脚本现已集成 Confluence 数据源,可以自动从 Confluence 获取船舶报告的故障次数、故障率、人工介入次数和人工介入率数据。
## 新增文件
```
confluence/
├── __init__.py # 模块初始化
├── client.py # Confluence API 客户端
└── vessel_reports.py # 船舶报告数据管理器
```
## 环境变量配置
`.env` 文件中添加以下配置:
```bash
# Confluence 配置
CONFLUENCE_URL=https://confluence.westwell-lab.com
CONFLUENCE_TOKEN=your_token_here
```
## 使用方法
### 生成交接班报告(自动集成 Confluence 数据)
```bash
# 生成指定日期的白班报告
python shift_report.py --date 2026-03-05 --shift day
# 生成指定日期的夜班报告
python shift_report.py --date 2026-03-05 --shift night
# 生成指定日期的所有班次报告
python shift_report.py --date 2026-03-05 --shift all
```
### 测试 Confluence 数据提取
```bash
python test_confluence.py
```
## 数据字段说明
从 Confluence 提取的数据包括:
| 字段 | 说明 | 来源 |
|------|------|------|
| vessel_number | 船次号 (如 433#) | Confluence 页面 |
| vessel_name | 船名 | Confluence 页面 |
| teu | 作业箱量 | Confluence 页面 |
| failures | 故障次数 | Confluence 页面 |
| failure_rate | 故障率 | 计算: failures/(teu/2)*100% |
| interventions | 人工介入次数 | Confluence 页面 |
| intervention_rate | 人工介入率 | 计算: interventions/(teu/2)*100% |
| efficiency | 作业净效率 | Confluence 页面 |
## 数据匹配逻辑
Metabase 返回的船舶数据使用 `vesselVisitID` 格式为 `日期-船名` (如 "260305-东方祥")
Confluence 页面使用船名作为匹配键,确保数据正确关联。
## Confluence 页面结构
Confluence 页面结构:
- 父页面: "福州江阴实船作业统计" (ID: 137446574)
- 子页面: "2026.03 实船作业统计" (按月)
- 子页面: "FZ 433#实船报告2026.03.01" (按船次)
每个船舶报告页面包含:
- 船次、船名、作业时间
- TEU、作业循环、效率
- 故障次数、故障率
- 人工介入次数、人工介入率
- Jira Bug 链接(页面底部)
## 故障排查
### Confluence 连接失败
检查环境变量是否正确设置:
```bash
echo $CONFLUENCE_TOKEN
echo $CONFLUENCE_URL
```
### 数据未显示
1. 确认 Confluence 页面存在该日期的船舶报告
2. 检查船名是否匹配Metabase 和 Confluence 使用相同船名)
3. 查看控制台输出是否有错误信息
### 故障率计算
故障率计算公式:
```
故障率 = 故障次数 / (TEU / 2) * 100%
人工介入率 = 人工介入次数 / (TEU / 2) * 100%
```
示例:
- TEU = 474故障次数 = 2
- 故障率 = 2 / (474 / 2) * 100% = 0.84%