- 添加日报生成功能 (report_generator.py) - 添加 GUI 界面 (daily_report_gui.py) - 添加班次交接报告功能 (shift_report.py) - 集成飞书 API 获取排班信息 - 集成 Metabase 查询作业数据 - 生成 AGENTS.md 文档
68 lines
1.6 KiB
Markdown
68 lines
1.6 KiB
Markdown
# METABASE 数据查询模块
|
||
|
||
## 概述
|
||
|
||
Metabase REST API 客户端,查询船舶作业数据。
|
||
|
||
## 结构
|
||
|
||
```
|
||
metabase/
|
||
├── __init__.py # 统一导出
|
||
├── time_operations.py # TimeOperationsClient - 时间范围查询
|
||
└── vessel_operations.py # VesselOperationsClient - 船舶查询
|
||
```
|
||
|
||
## 查找指南
|
||
|
||
| 任务 | 位置 |
|
||
|------|------|
|
||
| 按时间查作业量 | `time_operations.py:get_operations_by_time()` |
|
||
| 按船舶查数据 | `vessel_operations.py:get_vessel_operations()` |
|
||
| 添加新Card查询 | 对应文件的 `_CARD_IDS` |
|
||
|
||
## 使用方式
|
||
|
||
```python
|
||
from metabase import TimeOperationsClient, VesselOperationsClient
|
||
|
||
# 时间范围查询
|
||
time_client = TimeOperationsClient()
|
||
data = time_client.get_operations_by_time("2026-03-01", "2026-03-02")
|
||
# {'cnt20': 100, 'cnt40': 50, 'teu': 200, ...}
|
||
|
||
# 船舶查询
|
||
vessel_client = VesselOperationsClient()
|
||
vessel = vessel_client.get_vessel_operations("260301-船名")
|
||
# {'cnt20': 44, 'teu': 88, 'start_time': '...', ...}
|
||
```
|
||
|
||
## Card ID 映射
|
||
|
||
### time_operations.py
|
||
| 名称 | ID | 用途 |
|
||
|------|-----|------|
|
||
| overview | 50 | 总览-箱量统计 |
|
||
| load | 51 | 装船 |
|
||
| discharge | 52 | 卸船 |
|
||
| yardmove | 53 | 转堆 |
|
||
|
||
### vessel_operations.py
|
||
| 名称 | ID | 用途 |
|
||
|------|-----|------|
|
||
| overview | 57 | 船舶箱量统计 |
|
||
| efficiency_normal | 64 | 无人集卡效率 |
|
||
| work_info | 74 | 作业指令时间 |
|
||
|
||
## 环境变量
|
||
|
||
```
|
||
MATEBASE_USERNAME=xxx
|
||
MATEBASE_PASSWORD=xxx
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- 无官方 Python SDK,使用 REST API
|
||
- Session Token 无过期检测,每次请求前检查
|
||
- 时间格式: `YYYY-MM-DD HH:MM:SS` |