# 04i 打印历史与发货归档 > 状态:✅ 已实现 ## 1. 操作入口 | 方式 | 入口 | |------|------| | GUI | 导航「打印历史」→ `HistoryView` | | CLI | `certflow mark-shipped` / `certflow record-shipment` | ## 2. 涉及配置 | 配置文件 | 关键字段 | 说明 | |----------|----------|------| | `config/sales_plan.yaml` | 发货字段 | 发货相关字段 | ## 3. 涉及代码文件 | 层 | 文件 | 职责 | |----|------|------| | View | `views/history_view.py` | 打印历史视图 | | Controller | `controllers/history_controller.py` | 历史编排 | | Service | `services/print_history_service.py` | 打印历史读取 | | Handler | `handlers/shipped_export_handler.py` | 发货导出 | | Model | `models/print_log.py` | 打印日志 | | Model | `models/sale_plan_shipped.py` | 已发货归档表 | | Model | `models/sale_plan_change.py` | 变更记录 | | Action | `actions/registry.py` | `shipped_archive` / `shipped_export_delete` | ## 4. 逐步流程 ### 4.1 查看打印历史 1. 导航「打印历史」 2. `HistoryView` 表格展示 `print_log` 记录(时间/操作员/记录/份数/结果) 3. 支持按日期/客户/型号筛选 ### 4.2 发货归档 在查询页右键菜单: | 操作 | action | 说明 | |------|--------|------| | 发货归档 | `shipped_archive` | `_shipped_archive`,记录移入 `sale_plan_shipped` | | 发货导出后删除 | `shipped_export_delete` | `_shipped_export_delete` | CLI: ```bash certflow mark-shipped --plan-no CF2026080001 certflow record-shipment --plan-no CF2026080001 --date 2026-08-04 --carrier SF ``` ### 4.3 变更记录 每次字段编辑/状态切换记录到 `sale_plan_change` 表,支持审计追溯。 ## 5. 常见问题 - **历史为空**:确认之前执行过打印(打印日志由 `PrintHistoryService` 写入) - **发货后找不到记录**:已归档到 `sale_plan_shipped`,在对应视图查询 - **误操作删除**:`shipped_export_delete` 为危险操作,确认前会二次提示