{ "projectId": 50, "generationId": "codegen_e86cdd81669941589d7216d7b025eb67", "language": "C++", "status": "completed", "fileIds": [ 790 ], "outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_e86cdd81669941589d7216d7b025eb67", "relativeOutputDir": "codegen-runs/codegen_e86cdd81669941589d7216d7b025eb67", "generatedFiles": [ "CMakeLists.txt", "README.md", "events.ndjson", "include/app.hpp", "include/core/dispatch.hpp", "include/core/event.hpp", "include/core/plan.hpp", "include/core/task.hpp", "include/core/template.hpp", "src/app.cpp", "src/core/dispatch.cpp", "src/core/event.cpp", "src/core/plan.cpp", "src/core/task.cpp", "src/core/template.cpp", "src/main.cpp", "tests/basic_test.cpp" ], "analysisSummary": "### 业务目标\n- 实现从战场事件感知到作战任务生成、分发及监控的全流程自动化与可视化辅助。\n- 解决战场态势感知与行动决策之间的断层问题,提升多源异构数据下的任务规划效率。\n- 支持联合作战指挥员和任务规划参谋在指挥中心或单兵终端等场景下高效完成任务规划与执行。\n\n---\n\n### 功能清单\n1. **事件接收处理**\n - 接收临机事件和规划事件(SRS-F-01-001)\n - 对事件数据进行过滤、转化和封装(SRS-F-01-002)\n - 在前端展示事件列表,并支持排序与操作(SRS-F-01-003, SRS-F-01-004)\n\n2. **任务生成**\n - 接收并展示待处理事件列表(SRS-F-02-001, SRS-F-02-002)\n - 支持对事件列表进行自定义排序(SRS-F-02-003)\n - 基于选定事件生成作战任务并送交处理(SRS-F-02-004)\n\n3. **模板管理**\n - 管理任务模板版本选择与配置调整(SRS-F-03-001, SRS-F-03-002)\n - 接收推送的任务模板集合数据(SRS-F-04-001)\n - 可视化展示任务模板集合及其详细信息(SRS-F-04-002, SRS-F-04-004)\n - 支持任务模板列表自定义排序(SRS-F-04-003)\n - 在人环模式下由用户选择模板,在自主模式下实现自动推荐(SRS-F-04-005, SRS-F-04-006)\n\n4. **方案管理**\n - 实现集中式方案管理与偏好排序(SRS-F-05-001)\n - 提供方案详情的可视化对比功能(SRS-F-05-002)\n - 支持方案重组操作与图形化编辑(SRS-F-05-003)\n - 实现分布式方案融合与算法处理(SRS-F-05-004)\n\n5. **分发监控**\n - 驱动最终方案的分发执行(SRS-F-06-001)\n - 提供状态监控仪表盘实时显示执行进度(SRS-F-06-002)\n - 构建总览看板并实现反馈闭环以触发重规划(SRS-F-06-003)\n\n---\n\n### 数据结构\n#### 核心数据库表\n| 表名 | 字段说明 |\n|------|--------|\n| `T_EVENT` | EVENT_ID (VARCHAR), EVENT_TYPE (INT), TIMESTAMP (DATETIME), LOCATION (VARCHAR), PRIORITY (INT), STATUS (INT) |\n| `T_TEMPLATE` | 包含 VERSION_ID 字段用于版本管理,存储任务模板元数据 |\n| `T_PLAN` | 存储作战方案主数据 |\n| `T_PLAN_SUBTASK` | 存储子任务关系图谱 |\n| `T_DISPATCH_LOG` | 记录方案分发日志 |\n| `T_TASK_DRAFT` | 暂存任务草案对象 |\n\n#### 文件存储\n- **任务模板文件**:JSON格式,按版本号和日期索引,存放于特定目录。\n- **日志与截图文件**:采用对象存储或本地分区存储。\n\n#### 内存缓存\n- 任务草案对象(TaskDraft)暂存在内存中,后续持久化至数据库。\n\n---\n\n### 接口或命令\n| 接口标识 | 类型 | 协议/总线 | 方向 | 数据格式 | 描述 |\n|--------|-----|----------|------|---------|------|\n| IF-01 | 事件接收接口 | AFDX/CAN | 输入 | JSON | 接收外部事件数据包 |\n| IF-02 | 任务发送接口 | HTTP/API | 输出 | TaskDraft对象 | 向任务引擎发送任务草案 |\n| IF-03 | 指令分发接口 | AFDX | 输出 | CmdPacket | 分发最终指令包 |\n| IF-04 | 显控交互接口 | HTTP/WebSocket | 双向 | JSON | 与前端UI交互,实现实时状态推送 |\n| IF-01-IN | 内部输入 | - | 输入 | JSON | 原始事件数据包 |\n| IF-01-OUT | 内部输出 | - | 输出 | JSON | 标准化事件对象 |\n| IF-01-UI | UI交互 | HTTP | 双向 | - | 前端事件列表交互 |\n| IF-05-IN | 输入 | - | 输入 | FinalPlan | 接收最终方案用于分发 |\n| IF-05-OUT | 输出 | - | 输出 | CmdPacket | 输出指令包 |\n\n---\n\n### 约束\n1. **运行环境**\n - 操作系统:银河麒麟V10 SP2及以上\n - 处理器:国产飞腾或鲲鹏平台\n - 硬件要求:CPU ≥ 2.4GHz,内存 ≥ 64GB\n - 部署路径:软件单元位于 `/lib/tpcs` 目录\n\n2. **安全约束**\n - 身份认证:双因子认证\n - 权限控制:基于RBAC模型\n - 数据加密:传输与存储使用国密SM系列算法\n - 会话管理:超时自动注销\n\n3. **架构约束**\n - 分层架构设计:基础设施层 → 数据访问层 → 业务逻辑层 → 表示层\n - 模块间通信通过消息中间件解耦\n - 微服务思想划分模块,支持独立部署与扩展\n\n4. **可靠性与可用性**\n - 数据库采用达梦DM8主从复制集群\n - 关键数据异地容灾备份\n - 心跳监测、看门狗机制保障系统稳定运行\n\n5. **性能约束**\n - 高实时性要求:事件处理吞吐量高,任务生成延迟低\n - 支持多用户并发操作\n - 降级策略:低带宽环境下仅传输文本指令\n\n6. **标准化约束**\n - 符合GJB438C文档标准\n - 界面符合GJB相关显控规范\n - 环境适应性满足GJB150系列试验标准(高低温、振动、电磁兼容)\n\n---\n\n### 测试建议\n1. **功能测试**\n - 验证各软件单元是否完整实现对应SRS需求(如SU-01覆盖SRS-F-01-001~004)\n - 测试事件接收、任务生成、模板选择、方案排序、分发反馈等端到端流程\n\n2. **性能测试**\n - 使用LoadRunner模拟高并发事件涌入,评估事件处理吞吐量\n - 使用JProfiler分析CPU与内存占用,识别瓶颈\n - 测试任务生成延迟是否满足实时性要求\n\n3. **可靠性测试**\n - 注入异常数据或中断网络连接,验证系统的容错能力\n - 模拟模块故障,检查是否影响整体系统稳定性\n - 验证心跳机制与看门狗能否有效恢复异常进程\n\n4. **安全性测试**\n - 验证双因子认证与RBAC权限控制有效性\n - 检查敏感数据是否全程加密(传输与存储)\n - 进行渗透测试,防止未授权访问\n\n5. **可维护性与可测试性测试**\n - 验证配置热加载功能是否生效\n - 检查日志格式统一性与调试信息完整性\n - 通过预留测试接口注入故障数据,验证问题定位能力\n\n6. **环境适应性测试**\n - 在高温、低温、振动、强电磁干扰环境下测试系统稳定性\n - 验证硬件抽象层是否屏蔽底层差异\n - 测试降级运行模式在低带宽条件下的可用性\n\n7. **界面测试**\n - 验证UI布局是否符合指挥员操作习惯\n - 检查颜色语义(红/黄/绿)是否正确表达状态\n - 测试鼠标悬停帮助提示与上下文指引的有效性", "eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_e86cdd81669941589d7216d7b025eb67\\events.ndjson", "repoSettings": { "username": "root", "password": "pAssW0rd", "repoUrl": "http://47.108.255.216:3000/root/task_plan_2.git", "branch": "main" }, "repoUrl": "http://47.108.255.216:3000/root/task_plan_2.git", "branch": "main" }