Skip to content

Latest commit

 

History

History
222 lines (191 loc) · 14.6 KB

File metadata and controls

222 lines (191 loc) · 14.6 KB

物流上位机系统 · 任务进度追踪

最后更新:2026-06-16 当前阶段:Phase 2 — 通信层开发 🔄 进行中(2026-06-16) 完成度:23/70 任务 (32.9%)


── 图例 ──

符号 含义
⬜ 待开始
🔄 进行中
✅ 已完成
🚫 已阻塞
⏸️ 已跳过

===================================================================

Phase 0:项目规划(完成)

出口:实施计划定稿、进度追踪就绪、环境准备完毕

===================================================================

ID 任务 状态 完成时间 证据
P0.1 制定详细实施计划(64 项任务拆分、依赖关系、风险清单) ✅ 2026-06-15 docs/实施计划.md
P0.2 更新 AGENTS.md 进度状态与文档索引 ✅ 2026-06-15 AGENTS.md
P0.3 创建 PROGRESS.md 任务进度追踪文件 ✅ 2026-06-15 docs/PROGRESS.md
P0.4 检查 .gitignore + 添加 .NET/Avalonia 忽略模式 ✅ 2026-06-15 /Users/liliang/.gitignore
P0.5 首次 git 提交:初始化项目文档(commit 746edfc) ✅ 2026-06-15 git log 746edfc

===================================================================

Phase 1:基础框架搭建 — 把骨架立起来(2~3 周)

出口:项目可编译运行,主窗口显示,导航可切换页面,主题切换正常,日志文件输出

===================================================================

1.1 项目结构搭建

ID 任务 状态 完成时间 证据
1.1 创建 .NET 9 解决方案、4 个项目分层、项目引用关系 ✅ 2026-06-15 LogisticsHMI.sln, 4 个 .csproj
1.1a 安装 Avalonia 12 + CommunityToolkit.Mvvm 等 NuGet 包 ✅ 2026-06-15 4 个 .csproj 含 PackageReference
1.1b dotnet restore + dotnet build 首次编译验证 ✅ 2026-06-15 dotnet build 0 errors 0 warnings

1.2 MVVM 架构搭建

ID 任务 状态 完成时间 证据
1.2 集成 CommunityToolkit.Mvvm、ViewModelBase 基类 ✅ 2026-06-15 ViewModelBase.cs ([ObservableProperty]/[RelayCommand])
1.2a 创建示例 View/ViewModel 对(HomeView/HomeViewModel)验证 MVVM ✅ 2026-06-15 HomeView.axaml + HomeViewModel.cs

1.3 依赖注入容器

ID 任务 状态 完成时间 证据
1.3 配置 Microsoft.Extensions.DI、服务生命周期管理 ✅ 2026-06-15 ServiceCollectionExtensions.cs + Program.cs

1.4 日志系统

ID 任务 状态 完成时间 证据
1.4 集成 Serilog、文件滚动、控制台输出、通信日志独文件 ✅ 2026-06-15 LoggingConfiguration.cs (三路 Sink)

1.5 主题与样式系统

ID 任务 状态 完成时间 证据
1.5 三套主题(工业蓝/暗黑/高对比度)、颜色令牌、全局 Style ✅ 2026-06-15 Colors.axaml + ThemeDark.axaml + ThemeHighContrast.axaml + ThemeService.cs

1.6 导航框架

ID 任务 状态 完成时间 证据
1.6 页面路由导航、INavigationService、面包屑、左侧菜单 ✅ 2026-06-15 INavigationService + NavigationService + ShellView/ShellViewModel + 3 页面

1.7 基础布局组件

ID 任务 状态 完成时间 证据
1.7 StatusBar/NotificationBadge/PageContainer/DialogService ✅ 2026-06-16 Controls/StatusBarView, NotificationBadge, PageContainer, Services/IDialogService+DialogService, Converters/GreaterThanZeroConverter, ViewModels/StatusBarViewModel, 资源键别名

1.8 窗口管理

ID 任务 状态 完成时间 证据
1.8 IWindowService/WindowService、TrayService 系统托盘、SingleInstanceGuard 单实例检测、App.axaml.cs 启动集成 ✅ 2026-06-16 Services/IWindowService+WindowService+TrayService+SingleInstanceGuard, App.axaml.cs 更新, Program.cs 单实例检测, ServiceCollectionExtensions 注册

1.9 配置管理

ID 任务 状态 完成时间 证据
1.9 Options Pattern、appsettings.json、热重载、配置 UI ✅ 2026-06-16 AppConfig/IConfigurationService (App.Core), ConfigurationService (App.Infrastructure), appsettings.json, SettingsViewModel/SettingsView (完整配置编辑UI), StringNotEmptyConverter, ShellViewModel注入, DI注册

===================================================================

Phase 2:通信层开发 — 让上位机"听得见、说得出"(3~4 周)

出口:Modbus TCP 驱动可连模拟器,模拟设备可独立运行,诊断面板实时显示

===================================================================

ID 任务 状态 完成时间 证据
2.1 IDeviceDriver 接口设计(Config、枚举、事件) ✅ 2026-06-16 src/App.Core/Interfaces/IDeviceDriver.cs, src/App.Core/Models/DriverConfigBase.cs, src/App.Core/Events/ConnectionStateChangedEventArgs.cs
2.2 Modbus TCP 驱动(裸 TCP 实现功能码 01-10、Span 零分配) ✅ 2026-06-16 src/App.Infrastructure/Drivers/ModbusTcpDriver.cs
2.3 Modbus RTU 驱动(System.IO.Ports、CRC16) ✅ 2026-06-16 src/App.Infrastructure/Drivers/ModbusRtuDriver.cs, src/App.Infrastructure/Drivers/ModbusProtocol.cs, src/App.Core/Models/ModbusRtuDriverConfig.cs, tests/App.Infrastructure.Tests/ModbusProtocolTests.cs (46项测试)
2.4 Siemens S7 驱动(S7netplus、DB/I/Q/M、TSAP) ✅ 2026-06-16 src/App.Infrastructure/Drivers/S7Driver.cs, src/App.Core/Models/S7DriverConfig.cs, tests/App.Infrastructure.Tests/S7DriverTests.cs (28项测试)
2.5 OPC UA 客户端驱动(OPCFoundation、安全策略、证书) ✅ 2026-06-16 src/App.Infrastructure/Drivers/OpcUaDriver.cs, src/App.Core/Models/OpcUaDriverConfig.cs, tests/App.Infrastructure.Tests/OpcUaDriverTests.cs (22项测试)
2.6 MQTT 驱动(MQTTnet 5、QoS、Will Message、TLS) ✅ 2026-06-16 src/App.Infrastructure/Drivers/MqttDriver.cs, src/App.Core/Models/MqttDriverConfig.cs, tests/App.Infrastructure.Tests/MqttDriverTests.cs (18项测试)
2.7 连接池管理器(复用、限流、健康检查) ✅ 2026-06-16 src/App.Core/Interfaces/IDeviceConnectionPool.cs, src/App.Core/Interfaces/IDeviceDriverFactory.cs, src/App.Infrastructure/ConnectionPoolManager.cs, src/App.Infrastructure/DeviceDriverFactory.cs, tests/App.Infrastructure.Tests/ConnectionPoolManagerTests.cs (32项测试)
2.8 心跳与自动重连(IHeartbeatService、心跳 Tick/Missed/Recovered 事件、连续丢失阈值检测) ✅ 2026-06-16 src/App.Core/Interfaces/IHeartbeatService.cs, src/App.Core/Models/HeartbeatModels.cs, src/App.Infrastructure/HeartbeatService.cs, tests/App.Infrastructure.Tests/HeartbeatServiceTests.cs (23项测试)
2.9 设备数据缓存层(MemoryCache、TTL、写直达) ⬜ — —
2.10 模拟设备驱动(VirtualDevice 堆垛机/输送线/传感器) ⬜ — —
2.11 通信诊断面板(状态灯、延迟、收发计数、原始帧查看) ⬜ — —

===================================================================

Phase 3:数据平台 — 把数据存好、查好、管好(3~4 周)

出口:模拟数据通过管道流入 PG+TDengine,断网后恢复自动回补

===================================================================

ID 任务 状态 完成时间 证据
3.1 数据库设计与迁移(PostgreSQL 业务表、EF Core Code First) ⬜ — —
3.2 EF Core 仓储层(泛型 Repository、Specification 模式) ⬜ — —
3.3 Redis 缓存层(StackExchange.Redis、分布式缓存、分布式锁) ⬜ — —
3.4 数据采集管道(Channels、Producer/Consumer、背压控制) ⬜ — —
3.5 时序数据存储(TDengine 超级表+子表、攒批写入) ⬜ — —
3.6 断点续传机制(SQLite 离线缓冲、网络恢复回补) ⬜ — —
3.7 数据清理策略(定时清理、原始→聚合、备份可选) ⬜ — —

===================================================================

Phase 4:核心业务 — 把上位机的"灵魂"注入系统(6~8 周 🎯 MVP)

出口:模拟设备可完成完整出入库流程,报警全流程走通,报表可导出

===================================================================

🔹 任务调度引擎

ID 任务 状态 完成时间 证据
4.1 任务模型设计(TaskEntity、TaskStatus 枚举、优先级) ⬜ — —
4.2 任务接收与解析(REST/DB 轮询、优先级队列、重复检测) ⬜ — —
4.3 任务拆分与编排(复合→原子操作、依赖关系管理) ⬜ — —
4.4 设备分配策略(Round-Robin/最少任务/最近设备/权重) ⬜ — —
4.5 路径规划(A* 仓库地图、动态/静态障碍物) ⬜ — —
4.6 交通管制(三级锁、死锁检测与解除) ⬜ — —

🔹 设备状态机

ID 任务 状态 完成时间 证据
4.7 设备状态机框架(Stateless FSM、通用状态+扩展状态) ⬜ — —
4.8 具体设备状态机(堆垛机/AGV/输送线) ⬜ — —

🔹 实时监控看板

ID 任务 状态 完成时间 证据
4.9 设备总览看板(SkiaSharp 库区俯视图、设备图标、动画) ⬜ — —
4.10 实时数据曲线(LiveChartsCore 拖拽缩放、多 Y 轴) ⬜ — —
4.11 任务执行总览(任务列表、进度条、甘特图) ⬜ — —

🔹 报警管理系统

ID 任务 状态 完成时间 证据
4.12 报警规则引擎(条件→级别→通知→抑制) ⬜ — —
4.13 报警通知渠道(IAlarmChannel、短信/邮件/钉钉/微信) ⬜ — —
4.14 报警生命周期管理(产生→确认→处理→归档、升级、抑制) ⬜ — —

🔹 用户权限与审计

ID 任务 状态 完成时间 证据
4.15 RBAC 权限系统(三级模型、界面级+按钮级权限) ⬜ — —
4.16 操作审计日志(Hash 链校验、查询导出) ⬜ — —

🔹 报表引擎

ID 任务 状态 完成时间 证据
4.17 报表模板系统(IReportTemplate、4 个内置模板) ⬜ — —
4.18 报表生成与分发(Excel ClosedXML/PDF QuestPDF、定时分发) ⬜ — —

===================================================================

Phase 5:系统集成与对外接口(3~4 周)

出口:Swagger API 可测试,Web 端可实时监控,MQ 可收设备消息

===================================================================

ID 任务 状态 完成时间 证据
5.1 REST API 接口(ASP.NET Core 内嵌、Swagger、JWT) ⬜ — —
5.2 WebSocket 实时推送(SignalR Hub、状态/任务/报警推送) ⬜ — —
5.3 Web 端远程监控(Blazor/Web 版看板、只读监控) ⬜ — —
5.4 消息队列集成(Wolverine+RabbitMQ、事件分发) ⬜ — —
5.5 WMS/ERP 对接适配器(IExternalSystemAdapter、适配器模式) ⬜ — —

===================================================================

Phase 6:增强功能(按需)

出口:按客户需求逐步添加

===================================================================

ID 任务 状态 完成时间 证据
6.1 多语言国际化(资源字典 + .resx,中文/英文) ⬜ — —
6.2 设备健康评估规则引擎(可配置阈值模板、历史对比) ⬜ — —
6.3 统计趋势分析(移动平均、同比/环比、季节性规律) ⬜ — —
6.4 3D 数字孪生(Babylon.js + WebView2 或 SkiaSharp) ⬜ — —
6.5 ONNX 异常检测(积累 6 月数据后引入) ⬜ — —

===================================================================

Phase 7:测试发布与持续交付(贯穿全程)

出口:稳定版本可交付 v1.0

===================================================================

ID 任务 状态 完成时间 证据
7.1 单元测试框架(xUnit + Moq + AutoFixture,贯穿 Phase 1~6) 🔄 2026-06-16 tests/App.Core.Tests (18项), tests/App.Infrastructure.Tests (199项), 共217项测试全通过
7.2 集成测试(TestContainers 容器化测试,Phase 3 起) ⬜ — —
7.3 性能基准测试(BenchmarkDotNet,Phase 2 起) ⬜ — —
7.4 压力稳定性测试(72h 连续运行、内存泄漏检测) ⬜ — —
7.5 现场联调(真实工控机 + 真实 PLC) ⬜ — —
7.6 NativeAOT 编译发布(PublishAot=true、RD.xml) ⬜ — —
7.7 Docker 容器化(Dockerfile + Docker Compose) ⬜ — —
7.8 CI/CD 流水线(GitHub Actions Build→Test→Publish) ⬜ — —
7.9 用户文档(安装/操作/运维/API 文档) ⬜ — —

📊 进度统计

Phase 总任务 已完成 进行中 待开始 完成率
P0 规划 5 5 0 0 100%
P1 基础框架 12 12 0 0 100% ✅
P2 通信层 11 8 0 3 72.7%
P3 数据平台 7 0 0 7 0%
P4 核心业务 18 0 0 18 0%
P5 系统集成 5 0 0 5 0%
P6 增强功能 5 0 0 5 0%
P7 测试发布 9 0 1 8 0% — 测试框架进行中
合计 70 23 0 47 32.9%

注:P1 拆分子任务后总数为 70 项(原 64 项 + 1.1a 安装包 + 1.1b 编译验证 + 1.2a 示例对 + P0 规划 3 项)。

🔜 下一任务

Phase 2.9:设备数据缓存层 — MemoryCache、TTL、写直达。