Commit Graph

56 Commits

Author SHA1 Message Date
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
72d2440314 1 feat: 重构触发器设计,移除触发条件并添加名称字段
2
    3 - 从Trigger、DbTriggerDefinition和TriggerItem类中移除了所有条件相关的属性(Condition, Threshold, LowerBound, UpperBound)
    4 - 删除了ConditionType枚举,简化了触发器逻辑
    5 - 为触发器添加了Name字段,在核心模型、数据库实体和视图模型中都添加了该属性
    6 - 删除了TriggerDialog界面中的变量选择和搜索功能
    7 - 从TriggerDialog界面中删除了触发条件相关的UI元素
    8 - 更新了TriggerDialogViewModel,移除了条件相关的验证和业务逻辑
    9 - 更新了TriggersViewModel,移除了条件的初始化设置
   10 - 更新了AutoMapper配置文件,增加TriggerItem与Trigger之间的映射
   11 - 在TriggerEvaluationService中移除了条件判断逻辑,现在激活的触发器会直接执行动作
   12 - 更新了App.xaml,移除了对已删除枚举的引用
   13 - 修改了保存验证逻辑,确保触发器名称不能为空
2025-10-18 18:55:08 +08:00
6daca3eaf6 feat(mqtt): 实现MQTT别名批量修改功能
主要改动:
  - 在 MqttServerDetailView 中,允许用户在关联变量列表中进行多项选择。
  - 修改了 ModifyAlias 命令,使其能够处理多个选中项,并调用批量编辑对话框。
  - 新增了 MqttAliasBatchEditDialogViewModel 的构造函数,使其可以接收并编辑已存在的别名列表。
  - 通过 SelectedItemsBehavior 辅助类,实现了 DataGrid 中 SelectedItems 的双向绑定。
  - 更新了相关视图和视图模型,以支持新的批量操作流程。
2025-10-07 19:04:30 +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
6cff70cd87 refactor: 将VariableMqttAlias改为MqttAlias,将VariableMqttAliasItemViewModel改为MqttAliasItem 2025-10-06 17:39:03 +08:00
d4562e600e 1 feat: 添加变量导入模板配置和工厂模式实现
2
    3 -
      在AppSettings中添加VariableImportTemplate配置项,用于设置变量导入的默认参数(IsActive、PollingIn
      terval、IsHistoryEnabled、HistoryDeadband)
    4 - 修改AppSettings.Load()方法,优化配置加载逻辑
    5 -
      实现IVariableItemViewModelFactory和VariableItemViewModelFactory,使用工厂模式创建VariableItemVie
      wModel实例
    6 - 在ImportOpcUaDialogViewModel中使用工厂创建VariableItemViewModel实例,以应用默认配置
    7 -
      在SettingViewModel和SettingView中添加变量导入设置界面和相关属性(VariablePollingInterval、Variab
      leIsActive、VariableIsHistoryEnabled、VariableHistoryDeadband)
    8 - 移除VariableItemViewModel构造函数中的轮询间隔默认值设置,改由工厂模式设置
    9 - 优化SplashViewModel中配置加载逻辑
   10 - 移除MainView.xaml.cs中已注释的代码
   11 - 调整VariableTableView.xaml的UI布局和菜单结构
   12 - 注册IVariableItemViewModelFactory服务

  这些修改主要实现了几个关键功能:
   1. 引入了工厂模式来创建VariableItemViewModel实例,确保所有新创建的变量项都应用默认配置
   2. 添加了变量导入模板设置,用户可以在设置界面自定义导入变量的默认属性
   3. 对相关UI进行了调整和优化
2025-10-04 20:46:39 +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
2d457ae248 修改使用TriggerDataService模式 2025-09-23 06:51:29 +08:00
f61c505774 修改了添加触发器的对话框界面 2025-09-22 23:33:34 +08:00
042bc15288 继续修改触发器(未完成,修改一个触发器可以添加多个变量) 2025-09-22 22:58:51 +08:00
3102938f92 将设备列表,变量表列表,变量列表从ObservableCollection更换为字典类型的ObservableDictionary 2025-09-16 13:05:37 +08:00
ffa24f861e 修改了目录架构 2025-09-16 12:29:09 +08:00
ebf67b98fa 修改了触发器的问题 2025-09-14 19:58:18 +08:00
a8d240b4f9 继续修改触发器 2025-09-14 19:13:40 +08:00
58c9340640 继续完成邮件功能 2025-09-13 19:39:18 +08:00
42aaf9c01b 初步完成邮件功能 2025-09-13 19:08:43 +08:00
071347bc91 初步完成报警设置 2025-09-12 12:26:57 +08:00
c8d7543c7e 初步完成变量历史记录修改 2025-09-12 08:57:41 +08:00
a43b978097 基本完成MQTT消息的发送 2025-09-10 18:15:31 +08:00
94ef1dec84 初步重构WPF项目中的DataService和App项目中的DataCenterServicce 2025-09-09 13:35:16 +08:00
6f0e80e1e2 完成MQTT服务器的别名设置 2025-09-06 19:41:28 +08:00
5db88f5709 初步完成变量选择Mqtt服务器 2025-09-06 19:10:25 +08:00
52f76e2377 完成Mqtt服务器添加功能 2025-09-06 12:03:39 +08:00
08f9de137e 将pollLevel属性名改为pollingInterval 2025-09-05 20:24:27 +08:00
6e123b47cc 将PollLevelType类型改为int类型 2025-09-05 19:59:21 +08:00
9d446c370e 将NotificationService抽取成接口,并将所有使用NotificationService全部替换为接口INotificationService 2025-09-04 19:59:35 +08:00
bb650e2682 将NlogHelper,和NotificationHelper,改为服务的方式注入使用 2025-09-04 17:29:24 +08:00
5ce3825fa9 完成修改选定变量的启用状态更改 2025-09-02 18:29:58 +08:00
94aa9b0485 完成修改更新频率 2025-09-02 17:42:11 +08:00
6d7636d664 修复数据类型属性不统一的问题 2025-09-02 16:45:24 +08:00
b770abe3f9 优化代码 2025-09-02 16:13:06 +08:00
b37a1fcaf5 添加查找当前节点下的所有变量功能 2025-09-02 15:44:26 +08:00
14144e865c 完成对话框导入变量 2025-09-02 15:02:39 +08:00
e0e48d3b71 完成OpcUaService对数据类型的读取 2025-09-02 14:37:43 +08:00
9b7c91eae9 解决TreeView的TreeView_SelectedItemChanged事件被多次调用的问题 2025-09-02 13:09:00 +08:00
254ab63837 完成OpcUaService服务 2025-09-01 21:03:34 +08:00
f80a1669fb 完成连接OpcUa服务器 2025-08-25 21:26:18 +08:00
8290c96b1b 临时提交 2025-08-25 20:16:57 +08:00
c813fe63c3 完成编辑变量对话框的更改 2025-08-24 17:01:33 +08:00
3dee207b88 完成添加变量对话框验证 2025-08-24 14:42:31 +08:00
614dfa4063 重构了添加设备对话框的布局 2025-08-24 11:31:07 +08:00
c618d967df 修改了按钮命令的绑定 2025-08-23 20:58:48 +08:00
eb81cecec1 临时提交 2025-08-23 16:01:30 +08:00
32ade95742 完成从TIA导入变量 2025-08-23 09:09:07 +08:00
7e2e01e3cd 完成从Excel导入变量的对话框 2025-08-22 20:46:23 +08:00
f821024756 修改了一些内容 2025-08-22 20:24:09 +08:00
a62ee03933 完成设备详情页添加变量表 2025-07-30 12:54:14 +08:00
3b5ecef895 完成编辑设备 2025-07-29 20:02:09 +08:00
61807bfc65 完成删除设备 2025-07-28 13:06:36 +08:00