- 集成 Confluence API 获取船舶报告数据 - 集成 Jira API 查询故障数量 - 支持船号显示 (462#、463# 等) - 支持故障次数/故障率、人工介入次数/介入率显示 - 跨班作业使用 Card 69 按时间查询效率 - 不跨班作业使用整船效率(剔除异常) - N/A 记录根据作业时间归属到对应船舶 - 更新 AGENTS.md 和 README.md 文档 - 删除 daily_report_gui.py
2.8 KiB
2.8 KiB
Confluence 数据集成说明
概述
交接班脚本现已集成 Confluence 数据源,可以自动从 Confluence 获取船舶报告的故障次数、故障率、人工介入次数和人工介入率数据。
新增文件
confluence/
├── __init__.py # 模块初始化
├── client.py # Confluence API 客户端
└── vessel_reports.py # 船舶报告数据管理器
环境变量配置
在 .env 文件中添加以下配置:
# Confluence 配置
CONFLUENCE_URL=https://confluence.westwell-lab.com
CONFLUENCE_TOKEN=your_token_here
使用方法
生成交接班报告(自动集成 Confluence 数据)
# 生成指定日期的白班报告
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 数据提取
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" (按船次)
- 子页面: "2026.03 实船作业统计" (按月)
每个船舶报告页面包含:
- 船次、船名、作业时间
- TEU、作业循环、效率
- 故障次数、故障率
- 人工介入次数、人工介入率
- Jira Bug 链接(页面底部)
故障排查
Confluence 连接失败
检查环境变量是否正确设置:
echo $CONFLUENCE_TOKEN
echo $CONFLUENCE_URL
数据未显示
- 确认 Confluence 页面存在该日期的船舶报告
- 检查船名是否匹配(Metabase 和 Confluence 使用相同船名)
- 查看控制台输出是否有错误信息
故障率计算
故障率计算公式:
故障率 = 故障次数 / (TEU / 2) * 100%
人工介入率 = 人工介入次数 / (TEU / 2) * 100%
示例:
- TEU = 474,故障次数 = 2
- 故障率 = 2 / (474 / 2) * 100% = 0.84%