# ODF 光纤配线单元管理系统 基于需求分析结果生成的 C++17 工程,提供 ODF 光纤配线单元的标准化数据建模、编码生成、兼容性校验、典型配置管理与项目排期跟踪功能。 ## 目录结构 ``` ├── CMakeLists.txt # CMake 构建配置(C++17,MSVC /utf-8 支持) ├── README.md ├── include/ │ └── app.hpp # 核心头文件:数据结构、枚举、ODFManager 类声明 ├── src/ │ ├── app.cpp # ODFManager 业务逻辑实现 │ └── main.cpp # 命令行演示入口 └── tests/ └── basic_test.cpp # 单元测试(标准库 assert,无外部依赖) ``` ## 构建与运行 ### 前置要求 - CMake >= 3.10 - 支持 C++17 的编译器(GCC 8+, Clang 7+, MSVC 2019+) ### 编译步骤 ```bash cd codegen-runs/codegen_0aba9d8655fb4800802d9d53d920a8a4 mkdir -p build && cd build cmake .. cmake --build . ``` ### 运行主程序 ```bash ./odf_manager ``` 主程序演示:编码生成、典型配置查询、兼容性校验、标签打印、里程碑排期导出。 ### 运行单元测试 ```bash ./basic_test ``` 共 6 个测试用例覆盖:编码生成(含唯一性冲突处理)、适配器兼容性校验、单元注册(含容量约束与重复检测)、典型配置查询、标签与里程碑功能。 ## 设计要点 | 需求 | 实现 | |------|------| | ODF 单元数据结构 | `ODFUnitInfo` 结构体,包含 ID、型号、位置、制造商、适配器列表 | | 适配器接口规格 | `AdapterSpec` 结构体,含接口类型(LC/SC/MPO)、等级(OM1-OS2)、端面(UPC/APC)、插损/回损 | | 命名编码规则 | `generate_naming_code()` 格式 `[site]-[cabinet]-[slot]`,长度 ≤ 64 字符,冲突自动去重 | | 典型配置方案 | `TypicalConfig` 结构 + `register/get_typical_config` 接口 | | 兼容性校验 | `validate_adapter_compatibility()` 按接口类型匹配,允许 UPC ↔ APC 混合 | | 项目里程碑 | `Milestone` 结构 + `export_milestone_schedule()` 输出文本表格 | | 标签打印 | `print_label()` 生成含文本 + 二维码占位符的标签内容 | | 容量约束 | 注册时校验 `max_capacity_cores ≤ 288` |