实现进度

快照日期:2026-08-04 分支:src-clean 版本:0.0.1-alpha.1(见 config/config.yaml

本文按模块记录实现完成度。每个模块标注 ✅/🟡/🔴 及关键文件位置。

1. 启动与装配

模块

状态

关键文件

说明

启动脚本

start.sh

11 阶段:环境检查 → 依赖同步 → 调试库重建 → 启动

主入口

src/certflow/main.py

QApplication + DB 初始化 + 主窗口

应用装配

src/certflow/bootstrap.py

AppContext 统一会话/Service 装配

日志系统

src/certflow/utils/logger.py

loguru,支持 debug_modules 黑名单

高 DPI 适配

main.py

QT_AUTO_SCALE_FACTOR=1

2. CLI 命令(共 24 个)

命令

状态

文件

说明

import-sales-plan

cli/commands/import_sales_plan.py

对齐 GUI 全部参数

auto-number

cli/commands/auto_number.py

print-cert

cli/commands/print_cert.py

export-excel

cli/commands/export_excel.py

export-access

🟡

cli/commands/export_access.py

依赖 Access 驱动,跨平台受限

quick-query

cli/commands/quick_query.py

stats

cli/commands/stats.py

mark-shipped

cli/commands/mark_shipped.py

record-shipment

cli/commands/record_shipment.py

set-year-month

cli/commands/set_year_month.py

batch-update

cli/commands/batch_update.py

grade-import

cli/commands/grade_import.py

import-certs

cli/commands/import_certs.py

copy-cert-info

cli/commands/copy_cert_info.py

check-consistency

cli/commands/check_consistency.py

clean-duplicates

cli/commands/clean_duplicates.py

backfill-supply-type

cli/commands/backfill_supply_type.py

db-backup

cli/commands/db_backup.py

db-sync

cli/commands/db_sync.py

WebDAV push/pull/status

db-reset

cli/commands/db_reset.py

支持从基线库重建

bom

cli/commands/bom_material.py

report-gen

cli/commands/report_gen.py

watch

cli/commands/watch.py

watchdog 监控目录自动导入

serve

🔴

cli/commands/serve.py

占位命令,Web 模块未实现

3. 业务流程模块(操作者视角)

详见 04-operator-guide.md 各子文档。

3.1 销售计划导入

子流程

状态

关键文件

Excel 读取(python-calamine)

handlers/styled_excel_importer.py

列映射解析

services/sale_plan_service.py

撞键策略

services/import_gate_service.py

隔离队列(quarantine)

services/correction_queue_service.py

占位目录预建(B0-4)

⚙️

config/import.yaml create_placeholder_dirs,默认 OFF

VBA 风格导入

services/db_source_adapter.py

3.2 查询与字段补充

子流程

状态

关键文件

多条件查询构建器

services/query_builder.pyquery_service.py

查询视图(表格 + 快查)

views/query_view.py

字段批量编辑

controllers/query_controller.py

合同信息复制到合格证

action copy_cert_info

合格证字段编辑

action edit_cert_fields / edit_certificate

生产状态推断

services/workflow_service.pyStatusInference

配置驱动状态/供货类型切换

actions/registry.pyset_status_* / set_supply_type_*

3.3 校正队列

子流程

状态

关键文件

隔离入队

services/correction_queue_service.py

编辑后放行

views/correction_queue_view.py

删除

action delete(danger)

3.4 编号

子流程

状态

关键文件

自动编号

services/cert_numbering.pycert_numbering_policy.py

手动编号

action manual_number

编号复制

action copy_number

年月前缀设置

action set_year_month

编号格式模板

⚙️

config/numbering.yaml,支持 {prefix}{date}{seq} 占位符

3.5 合格证生成与打印

子流程

状态

关键文件

合格证记录生成

services/certificate_service.pycertificate_number_service.py

合格证预览

views/certificate_preview_painter.py

打印引擎

services/cert_print_engine.py

打印服务

services/certificate_print_service.py

打印队列

controllers/print_queue_controller.py

打印机管理

services/printer_manager.pycontrollers/printer_controller.py

打印历史

services/print_history_service.pycontrollers/history_controller.py

双码(DN/PN)计算

services/dn_service.pypn_service.pydual_code.pypressure_calc_service.py

3.6 报告生成

子流程

状态

关键文件

质保书/试压/材质报告

services/report_fill_service.pyreport_output_service.py

BOM 零件牌号匹配

services/bom_material_service.pybom_part_classifier.py

BOM 富化

services/report_bom_enricher.py

报告视图

views/report_view.pycontrollers/report_controller.py

报告模板

⚙️

config/report.yamlconfig/templates/

迁移草稿区

🟡

services/report_migration/

3.7 导出

子流程

状态

关键文件

Excel 导出

handlers/csv_export.pyhandlers/excel_handler.pyhandlers/excel_styler.py

发货导出

handlers/shipped_export_handler.py

Access 导出

🟡

cli/commands/export_access.py

输出保护

services/output_guard.py

3.8 同步与备份

子流程

状态

关键文件

WebDAV 同步(坚果云)

cli/commands/db_sync.pymain.py::setup_webdav_config

数据库备份

cli/commands/db_backup.py

四库模型(A/B/C/D)

start.sh 阶段10

3.9 基础字典维护

子流程

状态

关键文件

材质牌号

services/material_grade_service.pyviews/material_grade_manager_view.py

型号参数映射

services/model_param_mapping_service.pyviews/model_param_mapping_manager_view.py

口径映射

services/caliber_mapping_service.pyviews/caliber_mapping_manager_view.py

BOM 物料

controllers/bom_material_controller.pyviews/bom_material_query_view.py

字典 CSV 同步

services/dict_csv_sync.py

空库自动播种

main.py::_maybe_seed_base_datascripts/data/seed_base_data.py

3.10 历史与归档

子流程

状态

关键文件

打印历史视图

views/history_view.py

发货归档

action shipped_archive

发货导出后删除

action shipped_export_delete

4. 配置体系

配置文件

状态

用途

config.yaml

索引文件,!include 拼接子配置

paths.yaml

路径配置(支持 ${ENV_VAR}paths.local.yaml 覆盖)

sales_plan.yaml

销售计划字段定义

grouping.yaml

订单分组规则

certificate.yaml

合格证模板字段

numbering.yaml

编号规则

import.yaml

导入参数(含占位目录开关 B0-4)

database.yaml

数据库连接

sync.yaml

WebDAV 同步

printer.yaml / print.yaml

打印机与打印参数

report.yaml

报告模板与命名

quarantine.yaml

校正队列规则

production_status.yaml

生产状态定义(驱动 set_status_*

field_rules.yaml

字段校验规则

dictionaries.yaml

字典表

ui.yaml

UI 布局、action、导航按钮

其余(colors/export/output/...)

config/ 目录

配置加载器:src/certflow/config/loader.pysettings.pymodels.pypaths_override.py

5. 数据模型

全部位于 src/certflow/models/,共 17 个模型:

模型

状态

用途

sale_plan.py

销售计划(核心表)

sale_plan_shipped.py

已发货归档

sale_plan_change.py

变更记录

certificate.py

合格证

print_job.py / print_log.py

打印任务/日志

bom_material.py

BOM 物料

material_grade.py

材质牌号

model_param_mapping.py

型号参数映射

caliber_mapping.py

口径映射

param_auto_learn_log.py

参数自动学习日志

quarantine_sale_plan.py

隔离队列

report_template.py

报告模板

unmatched_certificate.py

未匹配合格证

vba_mapping.py

VBA 字段映射

auto_number.py

自动编号状态

base.py

SQLAlchemy Base

6. 测试与质量

状态

说明

单元测试

🟡

tests/unit,覆盖率由 --cov=src/certflow 统计

Qt 测试

🟡

pytest-qt,标记 qt,无头用 QT_QPA_PLATFORM=offscreen

层纯度门禁

scripts/check_layer_purity.py

类型检查

pyright(basic 模式)+ mypy

Lint

ruff 0.15.15

CI

ci/ 目录,16 个 yml

pre-commit

start.sh 阶段7.5 自动安装

7. 打包与部署

状态

说明

PyInstaller

scripts/builder/

Nuitka

备选构建器

依赖组管理

pyproject.toml 依赖组:dev/lint/typing/test/docs/build/...