task_plan/README.md

66 lines
2.3 KiB
Markdown
Raw 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.

# 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` | 任务生成器,负责模板管理、知识库版本选择、事件映射与任务请求组装 |