|
|
125348486a
|
refactor:完成变量表的重构添加,删除,更新
|
2025-10-23 16:25:22 +08:00 |
|
|
|
54d040b45f
|
refactor:完成重构设备的添加,删除,更新。
|
2025-10-22 14:06:16 +08:00 |
|
|
|
b980f989d8
|
wip
|
2025-10-20 22:47:22 +08:00 |
|
|
|
7ad1b7d5e1
|
WIP
|
2025-10-20 19:39:17 +08:00 |
|
|
|
01adc11be7
|
重构触发器与变量关联关系的实现
|
2025-10-20 18:54:43 +08:00 |
|
|
|
252a99d586
|
Wip
|
2025-10-20 12:36:33 +08:00 |
|
|
|
958593b35d
|
1 feat: 实现触发器-菜单联动功能和事件系统
2
3 - 实现触发器与菜单联动功能,现在可以同时创建触发器及其关联的菜单项
4 - 添加触发器更改事件系统,用于通知UI和其他组件触发器状态的变化
5 - 优化触发器管理服务,改进了添加、修改和删除触发器的逻辑
6 - 将CreateTriggerAsync方法重命名为AddTriggerAsync,使其语义更准确
7 - 修改UpdateTriggerAsync方法的参数和返回值类型,提高一致性
8 - 添加CreateTriggerWithMenuAsync方法用于同时创建触发器和菜单
9 - 在应用层重构触发器管理逻辑,增加事务支持确保数据一致性
10 - 更新菜单管理服务,改进并发安全处理
11 - 调整数据存储服务,使其同步触发器和菜单更新
12 - 更新触发器对话框和列表视图模型,提升用户体验
13 - 在依赖注入容器中注册触发器服务
14 - 修复设备数据服务中的异步调用问题,确保菜单项的正确处理
15 - 添加缺失的触发器项映射配置
16 - 创建TriggerChangedEventArgs类处理触发器更改事件
|
2025-10-19 20:34:20 +08:00 |
|
|
|
0007235171
|
1 feat: 触发器功能增强及菜单集成
2
3 - 添加 CreateTriggerWithMenuDto 数据传输对象,用于同时创建触发器及关联菜单
4 - 在 TriggerDataService 中新增 AddTriggerWithMenu 方法,实现触发器与菜单的同时创建
5 - 更新 TriggersViewModel 以使用新的触发器和菜单创建流程
6 - 在 MenuType 枚举中添加 TriggerMenu 类型
7 - 调整 InitializeRepository 中触发器菜单的图标
8 - 更新相关服务中的注释,将 Trigger 替换为 TriggerMenu 以保持一致
9 - 修改时间记录方式,使用 DateTime.Now 替代 DateTime.UtcNow
10 - 优化 TriggerManagementService 中的触发器创建与存储流程
11 - 更新触发器评估和管理服务中的日志文本,统一使用 TriggerMenu 术语
|
2025-10-19 17:53:23 +08:00 |
|
|
|
d7ea00e94d
|
feat: 实现触发器详情页面和优化触发器列表视图
|
2025-10-19 14:55:09 +08:00 |
|
|
|
cb984b1b91
|
1 feat: 重构触发器定义模型并完善触发器-变量关联功能
2
3 - 重命名TriggerDefinition类为Trigger,移除冗余的Definition后缀
4 - 更新所有相关接口和实现类以使用新的Trigger类名
5 - 在Variable模型中添加Triggers集合,实现变量到触发器的反向关联
6 - 在TriggerVariableManagementService中完善触发器与变量的双向关联逻辑
7 - 将触发器-变量关联数据加载集成到DataLoaderService中
8 - 在依赖注入容器中注册ITriggerVariableManagementService和ITriggerVariableAppService
9 - 更新触发器相关的DTO映射配置
10 - 修复触发器评估服务中的类型引用问题
11
12 此更改统一了触发器模型命名,完善了触发器与变量的双向关联关系,提高了代码的一致性和可维护性。
|
2025-10-18 18:23:14 +08:00 |
|
|
|
595139fb02
|
refactor:将AppDataCenterService改为AppCenterService,将AppDataStorageService改为AppStorageService,将触发器的增删改成合并
|
2025-10-18 17:18:09 +08:00 |
|
|
|
816827e5e9
|
refactor: 移除MenuBeanDto,直接使用MenuBean模型
- 删除了 DMS.Application/DTOs/MenuBeanDto.cs 文件
- 在DTOs中将MenuBeanDto类型替换为MenuBean类型
- 更新了IMenuAppService和IMenuManagementService接口中相关方法的参数和返回值类型
- 修改了MenuAppService、MenuManagementService等服务类的实现
- 在DMS.Core/Models/MenuBean.cs中添加了Children属性以支持菜单树结构
- 更新了WPF层相关的菜单处理逻辑
- 修改了映射配置和视图模型中的菜单对象创建方式
- 这一更改简化了数据模型,消除了DTO与模型之间的重复定义,直接在各层之间使用MenuBean实体。
|
2025-10-13 20:20:09 +08:00 |
|
|
|
e78a7981e1
|
1 feat: 为MqttServerDetailView添加取消关联功能
2
3 - 在MqttServerDetailView的DataGrid右键菜单中添加"取消关联"选项
4 - 实现UnassignAlias命令,允许用户从MQTT服务器取消关联变量
5 - 使用确认对话框以防止误操作
6 - 集成现有的删除API来实际移除变量与MQTT服务器的关联
7 - 更新UI以提供用户反馈
8
9 此功能允许用户通过右键菜单轻松取消MQTT服务器与变量的关联。
|
2025-10-11 19:56:59 +08:00 |
|
|
|
2ada4246ff
|
bugfix:修复Mqtt服务器详情页变量值不更新的问题,修复修改Mqtt别名后台不更新的问题,重新调整了别名的架构
|
2025-10-11 18:07:01 +08:00 |
|
|
|
b753e5ea73
|
refactor:删除了DeviceDto,VariableDto,VariableTableDto,改为使用DMS.Core中的实体
|
2025-10-07 17:51:24 +08:00 |
|
|
|
94ad940e03
|
refactor:删除MqttServerDto,将使用MqttServerDto的全部转为使用MqttServer
|
2025-10-06 19:32:45 +08:00 |
|
|
|
c85f89db33
|
refactor:将所有的ItemViewMdoel的名字删除ViewModel,并将命名空间调整为DMS.WPF.ItemViewModel.
|
2025-10-06 18:17:56 +08:00 |
|
|
|
6b55211dbf
|
feat: 菜单管理重构及MQTT服务器功能增强
|
2025-10-05 17:07:17 +08:00 |
|
|
|
80ea47e627
|
重构MQTT事件处理和激活状态管理功能
|
2025-10-05 14:45:41 +08:00 |
|
|
|
ea18a6ac2c
|
feat: 增强MQTT服务管理功能并优化设备视图
|
2025-10-05 12:11:04 +08:00 |
|
|
|
b85ffdc21b
|
1 feat: 重构数据加载完成事件的处理机制
2
3 - 从IDataLoaderService接口中移除OnLoadDataCompleted事件
4 - 在IEventService接口中新增OnLoadDataCompleted事件和RaiseLoadDataCompleted方法
5 - 在EventService实现类中实现数据加载完成事件的触发功能
6 - 修改DataLoaderService不再直接触发事件,而是通过IEventService来触发
7 - 更新MQTT、OPC UA和S7后台服务以订阅事件服务中的数据加载完成事件
8 - 修改数据加载完成事件的监听方式,统一使用事件服务进行管理
9
10 此重构改进了事件处理的架构设计,使事件管理更加集中和一致。
|
2025-10-05 11:21:05 +08:00 |
|
|
|
a6fc543e4f
|
1 feat(mqtt): 实现MQTT服务器状态管理与事件系统
2
3 1. 在MqttServer和MqttServerDto模型中添加IsConnect属性,用于跟踪连接状态
4 2. 重构MqttManagementService服务,使用事件驱动方式管理服务器状态变化
5 3. 实现MqttServerChangedEventArgs事件参数类,支持区分不同变更类型
6 4. 在IEventService中添加OnMqttServerChanged事件,实现事件通知机制
7 5. 优化数据存储结构,将MqttServers从ObservableCollection改为ObservableDictionary
8 6. 更新MqttServiceManager以正确处理连接状态和事件触发
9 7. 在WPF层更新UI以响应服务器状态变化
10 8. 删除不再需要的Helper类(DataServicesHelper, MessageHelper, SiemensHelper)
11 9. 在NLog配置中添加调试器输出目标以便调试
12 10. 完善VariableHistoryViewModel防止空引用异常
|
2025-10-05 00:28:25 +08:00 |
|
|
|
609c4741c1
|
feat(navigation): 重构导航系统引入导航参数和类型
- 新增NavigationType枚举定义导航类型
- 新增NavigationParameter类用于传递导航参数
- 重构INavigationService和INavigatable接口
- 更新NavigationService实现以支持新的导航方式
- 更新DeviceDetailViewModel, DevicesViewModel, VariableHistoryViewModel, VariableTableViewModel, MqttsViewModel等
- 使ViewModelBase实现INavigatable接口
- 更新MainView中的菜单选择导航逻辑
- 优化VariableHistoryView界面布局,添加返回变量表按钮
|
2025-10-03 22:28:58 +08:00 |
|
|
|
3958275367
|
重构:修改 VariableValueChangedEventArgs 以包含 VariableDto 对象
- 修改 VariableValueChangedEventArgs 类:
- 移除了 VariableId、VariableName、NewValue 和 UpdateTime 属性
- 添加了 Variable(VariableDto 类型)和 OldValue 属性
- 更新了构造函数以接收 VariableDto 对象和旧值
- 更新事件触发代码:
- 修改了 UpdateViewProcessor.cs 中的事件触发代码,改为传递 VariableDto 对象和旧值
- 更新事件处理代码:
- 修改了 DataEventService.cs 中的事件处理逻辑,改为访问 e.Variable 属性
- 修改了 VariableHistoryViewModel.cs 中的事件处理逻辑,改为使用 e.Variable 属性
|
2025-10-02 18:47:45 +08:00 |
|
|
|
e5e2e8de5b
|
功能增强:添加 InputDialog 并改进变量管理功能
- 新增 InputDialog 组件:
- 添加了 InputDialog.xaml 和 InputDialog.xaml.cs 文件
- 创建了 InputDialogViewModel.cs,继承自 DialogViewModelBase<string?>
- 实现了可重用的输入对话框,支持自定义标题、消息、标签和占位符
- 完善变量管理服务:
- 在 MappingProfile.cs 中添加了 VariableDto 到 VariableDto 的映射配置
- 在 VariableManagementService.cs 中注入 IMapper 依赖项
- 修改了 UpdateVariablesAsync 方法,使用 AutoMapper 进行更安全的更新操作
- 扩展变量表功能:
- 在 VariableTableViewModel.cs 中添加了 ModifyConversionFormula 命令
- 实现了批量修改变量转换公式功能,支持用户通过对话框输入新公式
- 添加了相应的 UI 通知和错误处理
- 在 VariableTableView.xaml 中添加了"修改数值转换公式"菜单项
- 集成 InputDialog 到对话框服务:
- 在 DialogService.cs 中注册了 InputDialogViewModel 和 InputDialog 的映射关系
|
2025-10-02 18:34:23 +08:00 |
|
|
|
2a98b40bfe
|
Refactor:
- 重构了 VariableTableDataService 中的 AddVariableTable 方法,使其返回值从 bool 变为新表的 ID
(int)。这使得服务层更加健壮,并能向调用方提供新创建实体的确切ID。
Fix:
- 修复了 DeviceDetailViewModel 在创建变量表后UI不自动更新的Bug。现在视图模型会正确地将新表添加到UI集合中,确保了界面的即时刷新。
Feat:
- 为 DeviceDetailViewModel 添加了 IsBusy
状态。现在“添加”、“编辑”和“删除”等异步操作会更新此状态,防止了用户重复点击,并允许UI在处理期间显示加载指示,提升了用户体验。
|
2025-10-02 13:19:55 +08:00 |
|
|
|
6e9f7c4a44
|
feat: 为多个服务添加日志记录功能并改进批量导入变量处理
- 为OpcUaServiceManager添加日志记录功能,并实现OnBatchImportVariables事件处理器
- 为OpcUaService添加全面的日志记录,包括连接、断开、读写节点等操作
- 为DataEventService添加日志记录功能,跟踪数据加载和变量值变更事件
- 为S7ServiceManager添加OnBatchImportVariables事件处理器,处理批量导入变量事件
- 在VariableTableViewModel中改进变量添加逻辑,确保变量被正确添加到数据存储中
- 在VariableManagementService中完善变量表信息的填充逻辑
|
2025-10-02 11:26:50 +08:00 |
|
|
|
078d7b3903
|
1. 创建了 BatchImportVariablesEventArgs 事件参数类
2. 在 IEventService 接口中添加了 OnBatchImportVariables 事件和 RaiseBatchImportVariables 方法
3. 在 EventService 实现中添加了对新事件的支持
4. 在 IVariableManagementService 接口中添加了 BatchImportVariablesAsync 方法
5. 在 VariableManagementService 中实现了该方法,并在批量导入后触发事件
6. 更新了 VariableTableViewModel 以使用 IVariableManagementService 而不是 IVariableAppService
|
2025-10-01 20:13:30 +08:00 |
|
|
|
e43c0df1cf
|
完成的变更:
1. 向 VariableTableManagementService 添加了 IEventService 依赖
2. 将内存操作和事件触发逻辑合并到数据库操作方法中:
- CreateVariableTableAsync 现在会在数据库创建后自动添加到内存并触发事件
- UpdateVariableTableAsync 现在会在数据库更新后自动更新内存并触发事件
- DeleteVariableTableAsync 现在会在数据库删除后自动从内存移除并触发事件
3. 从类中删除了独立的内存操作方法
4. 从接口中移除了内存操作方法
5. 更新了所有调用这些服务的代码,使它们不再调用已删除的内存方法
6. 扩展了 IEventService 以支持 VariableTableChanged 事件
|
2025-10-01 19:16:47 +08:00 |
|
|
|
e84a202438
|
主要变更:
1. 创建了 DeviceStateType 枚举来区分状态类型(激活/连接)
2. 创建了 DeviceStateChangedEventArgs 统一事件类
3. 更新了 IEventService 接口,将两个事件合并为一个
4. 更新了 EventService 实现以支持新事件
5. 更新了所有相关服务(DeviceMonitoringService, OpcUaServiceManager, S7ServiceManager, DeviceDataService, DeviceItemViewModel)
关键优点:
- 减少了事件类型的数量,简化了事件系统
- 为设备状态变化提供了一致的处理方式
- 保持了向后兼容性,将旧类标记为 [Obsolete]
|
2025-10-01 18:41:05 +08:00 |
|
|
|
2dda2029bd
|
1. 重构 DeviceManagementService 类:
- 修改 CreateDeviceWithDetailsAsync 方法,在数据库创建成功后自动添加到内存
- 修改 UpdateDeviceAsync 方法,在数据库更新成功后自动更新内存
- 修改 DeleteDeviceByIdAsync 方法,在数据库删除成功后自动从内存移除
- 修改 ToggleDeviceActiveStateAsync 方法,在数据库切换激活状态后更新内存
2. 更新 DeviceDataService 类:
- 移除了在 AddDevice 方法中的独立 AddDeviceToMemory 调用
- 移除了在 DeleteDevice 方法中的独立 RemoveDeviceFromMemory 调用
- 为 UpdateDevice 方法添加了注释,说明内存自动更新
3. 更新 DeviceMonitoringService 类:
- 在 OnDeviceActiveChanged 方法中使用 Task 运行异步的 UpdateDeviceAsync 调用
4. 更新接口文档:
- 在 IDeviceManagementService 接口中更新了内存操作方法的注释,说明通常由其他操作自动调用
|
2025-10-01 18:09:30 +08:00 |
|
|
|
03e92811dd
|
修复删除设备时的错误
|
2025-10-01 18:02:33 +08:00 |
|
|
|
2d457ae248
|
修改使用TriggerDataService模式
|
2025-09-23 06:51:29 +08:00 |
|
|
|
bcdb119d11
|
修改画面
|
2025-09-19 07:27:56 +08:00 |
|
|
|
ed4f9b1a0c
|
修复添加设备界面不显示默认变量表的问题
|
2025-09-18 11:24:56 +08:00 |
|
|
|
74fde6bd8b
|
完成S7变量启用和停用更新
|
2025-09-16 14:42:23 +08:00 |
|
|
|
3102938f92
|
将设备列表,变量表列表,变量列表从ObservableCollection更换为字典类型的ObservableDictionary
|
2025-09-16 13:05:37 +08:00 |
|
|
|
ffa24f861e
|
修改了目录架构
|
2025-09-16 12:29:09 +08:00 |
|
|
|
5ab18f95f0
|
修复S7服务轮询问题
|
2025-09-15 20:54:32 +08:00 |
|
|
|
4773e87886
|
修改批量导入变量返回实体,防止Io为0的问题
|
2025-09-15 13:12:14 +08:00 |
|
|
|
ebf67b98fa
|
修改了触发器的问题
|
2025-09-14 19:58:18 +08:00 |
|
|
|
a8d240b4f9
|
继续修改触发器
|
2025-09-14 19:13:40 +08:00 |
|
|
|
a079cf8de8
|
千问写完触发器功能,错误未修复
|
2025-09-14 16:16:10 +08:00 |
|
|
|
25cd43d436
|
继续修改报警系统
|
2025-09-14 09:03:07 +08:00 |
|
|
|
58c9340640
|
继续完成邮件功能
|
2025-09-13 19:39:18 +08:00 |
|
|
|
42aaf9c01b
|
初步完成邮件功能
|
2025-09-13 19:08:43 +08:00 |
|
|
|
c173ab08d3
|
完成设备的启用和停用并更新界面
|
2025-09-12 17:22:15 +08:00 |
|
|
|
6796a06325
|
添加了事件服务,并完成了设备状态改变后写入数据库
|
2025-09-12 14:59:32 +08:00 |
|
|
|
cb739f4cb9
|
初步添加事件服务
|
2025-09-12 13:25:39 +08:00 |
|
|
|
071347bc91
|
初步完成报警设置
|
2025-09-12 12:26:57 +08:00 |
|