✨ feat(*): 添加 PCB 检测记录的 CSV 持久化存储功能

* 新增 CsvBoardRecordRepository 实现按日期分卷的 CSV 记录存储
* 新增 RecordPersistenceModels 定义板件检测记录数据结构
* 在 WorkflowHostedService 中集成检测完成后的记录持久化
* 更新 MainWindowViewModel 支持记录查询与异常标记
* 更新 AppStateStore 添加记录存储相关状态管理
* 新增 DashboardPage UI 元素展示记录存储状态
* 更新 SystemSettingViewModel 与 appConfig 添加存储路径配置
* 注册 TimeProvider 与 IBoardRecordRepository 到 DI 容器
* 新增 CsvBoardRecordRepositoryTests 与 MainWindowViewModelTests
* 配置 Release 模式 portable PDB 并在发布时自动移除
This commit is contained in:
2026-04-19 15:39:31 +08:00
parent d70b94e904
commit 9a2211ccaa
17 changed files with 1802 additions and 89 deletions

View File

@@ -116,12 +116,14 @@ public partial class App : Application
services.AddSingleton<IAppStateStore, AppStateStore>();
services.AddSingleton(typeof(IAppLogger<>), typeof(AppLogger<>));
services.AddSingleton<IDispatcherService, DispatcherService>();
services.AddSingleton(TimeProvider.System);
services.AddHttpClient(nameof(AndonService));
services.AddSingleton<IPlcService, ModbusTcpPlcService>();
services.AddSingleton<IScannerService, SerialScannerService>();
services.AddSingleton<ISftpLookupService, SftpLookupService>();
services.AddSingleton<IAndonService, AndonService>();
services.AddSingleton<IBoardRecordRepository, CsvBoardRecordRepository>();
services.AddSingleton<WorkflowHostedService>();
services.AddSingleton<IWorkflowControlService>(sp => sp.GetRequiredService<WorkflowHostedService>());
services.AddHostedService(sp => sp.GetRequiredService<WorkflowHostedService>());