Commit Graph

65 Commits

Author SHA1 Message Date
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
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
226c6c7387 主要变更:
1. 将内存操作和事件触发逻辑合并到数据库操作方法中
   2. 删除了独立的内存操作方法(AddVariableToMemory、UpdateVariableInMemory、RemoveVariableFromMemory)
   3. 更新了接口定义,移除了内存操作方法
   4. 确保了数据库操作和内存状态保持同步
2025-10-01 19:21:48 +08:00
e43c0df1cf 完成的变更:
1. 向 VariableTableManagementService 添加了 IEventService 依赖
   2. 将内存操作和事件触发逻辑合并到数据库操作方法中:
      - CreateVariableTableAsync 现在会在数据库创建后自动添加到内存并触发事件
      - UpdateVariableTableAsync 现在会在数据库更新后自动更新内存并触发事件
      - DeleteVariableTableAsync 现在会在数据库删除后自动从内存移除并触发事件
   3. 从类中删除了独立的内存操作方法
   4. 从接口中移除了内存操作方法
   5. 更新了所有调用这些服务的代码,使它们不再调用已删除的内存方法
   6. 扩展了 IEventService 以支持 VariableTableChanged 事件
2025-10-01 19:16:47 +08:00
438ee0fe58 1. 已成功将内存操作直接合并到数据库操作方法中
2. 已删除了独立的内存操作方法
   3. 已更新接口定义,去除了内存操作方法
   4. 保留了 IEventService 依赖,因为需要用于触发事件
2025-10-01 19:06:12 +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
62ce7093cf 1. 从 IDeviceManagementService 接口中移除了 OnDeviceChanged 事件
2. 在 DeviceManagementService 中添加了对 IEventService 的依赖
   3. 在 DeviceManagementService 的三个内存操作方法中,将直接事件触发改为通过 _eventService.RaiseDeviceChanged 方法触发
   4. EventService 本身已经实现了 OnDeviceChanged 事件和对应的 RaiseDeviceChanged 方法
2025-10-01 18:15:51 +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
eb4bee8963 修改触发器相关的内容 2025-09-23 09:28:08 +08:00
2d457ae248 修改使用TriggerDataService模式 2025-09-23 06:51:29 +08:00
87942a45c8 修改了加载触发器 2025-09-23 05:48:21 +08:00
74fde6bd8b 完成S7变量启用和停用更新 2025-09-16 14:42:23 +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
42aaf9c01b 初步完成邮件功能 2025-09-13 19:08:43 +08:00
15e2caed22 初步添加报警功能 2025-09-13 12:30:12 +08:00
c173ab08d3 完成设备的启用和停用并更新界面 2025-09-12 17:22:15 +08:00
d20b35185f 初步完成OpcUa设备的开启连接,关闭断开连接的功能 2025-09-12 15:45:14 +08:00
6796a06325 添加了事件服务,并完成了设备状态改变后写入数据库 2025-09-12 14:59:32 +08:00
5680c38fa9 修改历史记录功能(未完成) 2025-09-11 18:09:35 +08:00
5ca4fe7124 初步完成历史记录(未完成) 2025-09-11 11:04:07 +08:00
ddfb124204 重载加载数据代码 2025-09-09 17:47:20 +08:00
e92f5dac5d 修改了日志等级 2025-09-09 16:46:33 +08:00
7fad87fff5 修复变量值不更新的问题 2025-09-09 15:57:04 +08:00
1dad2a0d2f 初步完成AppDataCenterService的重构 2025-09-09 15:28:07 +08:00
94ef1dec84 初步重构WPF项目中的DataService和App项目中的DataCenterServicce 2025-09-09 13:35:16 +08:00
af1b67d0a1 完成日志的集中管理 2025-09-07 20:35:40 +08:00
5f0a4b23f4 完成显示日志功能 2025-09-07 19:48:48 +08:00
0e4a306fa7 初步完成Log的增删改查 2025-09-07 19:01:58 +08:00
31c4e77232 初步给Mqtt添加了别名功能 2025-09-06 16:12:30 +08:00
e4cb38cd1d 初步完成Mqtt后台服务的改造 2025-09-06 15:19:04 +08:00
56130cd92a 修改了Mqtt服务器启动不加载的问题 2025-09-06 13:19:20 +08:00
16bd8f79ee 修复了导入变量的问题 2025-09-05 13:24:03 +08:00
831f342b2c 初步完成变更新 2025-09-05 07:03:47 +08:00
bc8bc58d9b 初步完成数据处理链条 2025-09-04 13:40:07 +08:00
bdae3355aa 修改OpcUa后台服务(未完成) 2025-09-03 19:58:02 +08:00
c34d8273be 将DataServices的加载变量功能迁移到DataCenterService 2025-09-03 12:53:32 +08:00
fff2c0477c 给数据中心添加菜单操作功能 2025-09-03 11:12:42 +08:00
afedf708de 给数据中心添加事件 2025-09-02 21:06:39 +08:00
5e19bad149 初步完成数据中心服务类 2025-09-02 20:28:29 +08:00
94aa9b0485 完成修改更新频率 2025-09-02 17:42:11 +08:00
1d8d4a7f5e 完成删除变量 2025-08-24 17:48:33 +08:00
f9e094ffbd 完成变量表添加变量 2025-08-24 15:08:13 +08:00
3dee207b88 完成添加变量对话框验证 2025-08-24 14:42:31 +08:00
32ade95742 完成从TIA导入变量 2025-08-23 09:09:07 +08:00