task_auto_execute_plan/README.md

85 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# FZKJ 作战任务管理与方案驱动系统
## 版本
**版本号**1.6.0
**对应文档**《软件需求规格说明书_V1.6.docx》
## 功能覆盖
| 编号 | 功能名称 | 说明 |
|------|----------|------|
| SRS-FZKJ_F-001 | 任务管理与事件处理 | 战场事件接收、校验、任务模板匹配与生成 |
| SRS-FZKJ_F-002 | 战斗方案管理可视化 | 方案列表、偏好排序、多方案对比 |
| SRS-FZKJ_F-003 | 方案驱动与状态监控 | 方案分发、执行状态监控、异常告警 |
| SRS-FZKJ_F-004 | 共用态势与地图展示 | GIS地图加载、态势图层叠加、距离量算、网格控制 |
| SRS-FZKJ_F-005 | 数据中转与存储管理 | 数据转发、缓存持久化、缓存清空 |
| SRS-FZKJ_F-006 | 系统设置与想定切换 | 算法参数、模式切换、想定加载、网络配置 |
## 工程结构
```
codegen-runs/codegen_010467c2aac04bad984d26ac6d3f8915/
├── CMakeLists.txt # CMake 构建配置C++17
├── README.md # 本说明文件
├── include/
│ └── app.hpp # 头文件数据结构定义、App 类声明
├── src/
│ ├── app.cpp # 实现文件:所有功能模块实现
│ └── main.cpp # 主程序入口及功能演示
└── tests/
└── basic_test.cpp # 基础单元测试(标准库 assert
```
## 核心数据结构
- **EventPayload**:定长 256 字节战场事件数据包(二进制、字节对齐)
- **Task**:作战任务实体
- **BattleSolution**:战斗方案实体(支持集中式/分布式标记)
- **ExecutionUnit**:执行单元及其状态
- **GeoPoint / MapViewState / MeasureResult**GIS 相关数据类型
- **SystemConfig**:系统配置(算法、模式、网络、想定)
## 编译与运行
### 前置条件
- CMake ≥ 3.14
- 支持 C++17 的编译器GCC 7+、Clang 5+、MSVC 2017+
### 编译步骤
```bash
# 1. 进入工程目录
cd codegen-runs/codegen_010467c2aac04bad984d26ac6d3f8915
# 2. 创建构建目录
mkdir build && cd build
# 3. 生成构建系统
cmake ..
# 4. 编译
cmake --build .
# 5. 运行主程序
./fzkj_app # Linux/macOS
# 或
fzkj_app.exe # Windows
# 6. 运行测试
./fzkj_test # Linux/macOS
# 或
fzkj_test.exe # Windows
```
### Windows MSVC 注意事项
若使用 Visual Studio 编译CMake 已自动添加 `/utf-8` 编译选项以支持中文显示。
### 跨平台支持
- 支持 Windows 与中标麒麟操作系统
- 无外部第三方依赖
- 标准 C++17 实现,可移植性良好