2025-06-20 18:53:29 +08:00
|
|
|
|
using PMSWPF.Enums;
|
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
|
using SqlSugar.DbConvert;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PMSWPF.Data.Entities;
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 表示数据库中的变量数据实体。
|
|
|
|
|
|
/// </summary>
|
2025-07-03 12:55:00 +08:00
|
|
|
|
[SugarTable("VarData")]
|
2025-07-02 22:07:16 +08:00
|
|
|
|
public class DbVariableData
|
2025-06-20 18:53:29 +08:00
|
|
|
|
{
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 变量唯一标识符。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)] //数据库是自增才配自增
|
|
|
|
|
|
public int Id { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 变量名称。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public string Name { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 节点ID,用于标识变量在设备或系统中的唯一路径。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public string NodeId { get; set; } = String.Empty;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 节点ID,用于标识变量在设备或系统中的唯一路径。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string S7Address { get; set; } = String.Empty;
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 变量描述。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
|
public string? Description { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 协议类型,例如Modbus、OPC UA等。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
[SugarColumn(ColumnDataType = "varchar(20)", SqlParameterDbType = typeof(EnumToStringConvert))]
|
|
|
|
|
|
public ProtocolType ProtocolType { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 信号类型,例如模拟量、数字量等。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
[SugarColumn(ColumnDataType = "varchar(20)", IsNullable = true, SqlParameterDbType = typeof(EnumToStringConvert))]
|
|
|
|
|
|
public SignalType SignalType { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 数据类型,例如Int、Float、String等。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public string DataType { get; set; } = String.Empty;
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 变量当前原始数据值。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public string DataValue { get; set; } = String.Empty;
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 变量经过转换或格式化后的显示值。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public string DisplayValue { get; set; } = String.Empty;
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// 指示变量是否处于激活状态。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
public bool IsActive { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 指示是否需要保存变量数据。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public bool IsSave { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 指示是否需要对变量进行报警监测。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public bool IsAlarm { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 指示变量是否已被逻辑删除。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public bool IsDeleted { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 报警的最大值阈值。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public double AlarmMax { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 报警的最小值阈值。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public double AlarmMin { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 数据转换规则或表达式。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
public string Converstion { get; set; } = String.Empty;
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// 数据保存的范围或阈值。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
public double SaveRange { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 变量数据最后更新时间。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
|
public DateTime CreateTime { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// 变量数据最后更新时间。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// 最后更新变量数据的用户。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
|
public DbUser? UpdateUser { get; set; }
|
2025-07-03 12:55:00 +08:00
|
|
|
|
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 关联的变量表ID。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public int VariableTableId { get; set; }
|
|
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// 关联的变量表实体。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-03 13:17:25 +08:00
|
|
|
|
[Navigate(NavigateType.ManyToOne, nameof(VariableTableId))]
|
|
|
|
|
|
public DbVariableTable? VariableTable { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// <summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
/// 关联的MQTT配置列表。
|
2025-07-03 12:55:00 +08:00
|
|
|
|
/// </summary>
|
2025-07-04 13:40:14 +08:00
|
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
|
public List<DbMqtt>? Mqtts { get; set; }
|
2025-06-20 18:53:29 +08:00
|
|
|
|
}
|