66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# ETMS - Event and Task Management System
|
||
|
||
战场任务规划系统(BTPS)核心组件 —— 事件与任务管理软件。
|
||
|
||
## 功能概述
|
||
|
||
- **事件接收与校验**:接收战场态势事件(JSON),校验完整性并确认ACK/NACK。
|
||
- **事件处理与存储**:清洗、格式化事件数据,写入事件表并管理状态流转。
|
||
- **事件列表展示**:分页查询、等级着色、排序等前端展示支持。
|
||
- **事件操作**:处理、拒绝等交互操作及即时反馈。
|
||
- **任务生成准备**:建立事件与任务的映射,构建任务生成上下文。
|
||
- **任务模板管理**:管理上级推送的任务模板集合,支持搜索、排序与详情查看。
|
||
- **知识库版本选择**:查询与选择用于模板生成的先验知识库版本。
|
||
- **人环/自主模式**:支持手动选择与自动推荐两种模板选择模式。
|
||
- **任务请求发送**:组装并发送任务生成请求至外部任务规划引擎。
|
||
|
||
## 编译与运行
|
||
|
||
### 前置条件
|
||
|
||
- CMake ≥ 3.14
|
||
- 支持 C++17 的编译器(GCC 8+, Clang 7+, MSVC 2019+)
|
||
|
||
### 编译步骤
|
||
|
||
```bash
|
||
# 创建构建目录
|
||
mkdir build && cd build
|
||
|
||
# 配置
|
||
cmake ..
|
||
|
||
# 编译
|
||
cmake --build .
|
||
|
||
# 运行主程序
|
||
./etms
|
||
|
||
# 运行测试
|
||
./etms_test
|
||
```
|
||
|
||
## 工程结构
|
||
|
||
```
|
||
├── CMakeLists.txt # CMake 构建配置
|
||
├── README.md # 本文件
|
||
├── include/
|
||
│ └── app.hpp # 公开 API 头文件(数据模型与核心业务类)
|
||
├── src/
|
||
│ ├── main.cpp # 命令行入口
|
||
│ └── app.cpp # 核心业务实现
|
||
└── tests/
|
||
└── basic_test.cpp # 使用标准 assert 的单元测试
|
||
```
|
||
|
||
## 核心类说明
|
||
|
||
| 类名 | 职责 |
|
||
|------|------|
|
||
| `Event` | 战场事件数据模型,包含事件ID、类型、时间戳、等级、位置、描述、状态 |
|
||
| `TaskTemplate` | 任务模板数据模型,包含模板ID、名称、类型、参数、子任务列表 |
|
||
| `KBVersion` | 知识库版本数据模型,包含版本ID、描述、生效时间、状态 |
|
||
| `EventManager` | 事件管理器,负责事件接收、校验、处理、存储与查询 |
|
||
| `TaskGenerator` | 任务生成器,负责模板管理、知识库版本选择、事件映射与任务请求组装 |
|