# 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