2025-06-20 18:53:29 +08:00
|
|
|
using PMSWPF.Enums;
|
2025-06-12 18:41:46 +08:00
|
|
|
using SqlSugar;
|
2025-06-20 18:53:29 +08:00
|
|
|
using SqlSugar.DbConvert;
|
|
|
|
|
using ProtocolType = PMSWPF.Enums.ProtocolType;
|
2025-07-05 01:31:44 +08:00
|
|
|
using S7.Net; // Add this using directive
|
2025-06-12 18:41:46 +08:00
|
|
|
|
2025-06-10 22:13:06 +08:00
|
|
|
namespace PMSWPF.Data.Entities;
|
|
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 表示数据库中的设备实体。
|
|
|
|
|
/// </summary>
|
2025-06-12 18:41:46 +08:00
|
|
|
[SugarTable("Device")]
|
2025-06-10 22:13:06 +08:00
|
|
|
public class DbDevice
|
|
|
|
|
{
|
2025-07-03 13:17:25 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的描述信息。
|
|
|
|
|
/// </summary>
|
2025-07-03 12:55:00 +08:00
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
public string? Description { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的类型。
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDataType = "varchar(20)", SqlParameterDbType = typeof(EnumToStringConvert))]
|
|
|
|
|
public DeviceType DeviceType { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的唯一标识符。
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)] //数据库是自增才配自增
|
|
|
|
|
public int Id { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的IP地址。
|
|
|
|
|
/// </summary>
|
2025-06-12 18:41:46 +08:00
|
|
|
public string Ip { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 表示设备是否处于活动状态。
|
|
|
|
|
/// </summary>
|
2025-06-10 22:13:06 +08:00
|
|
|
public bool IsActive { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 表示设备是否正在运行。
|
|
|
|
|
/// </summary>
|
2025-06-10 22:13:06 +08:00
|
|
|
public bool IsRuning { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的名称。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
2025-07-04 14:42:28 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的端口号。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int Prot { get; set; }
|
|
|
|
|
|
2025-07-05 01:31:44 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// PLC的CPU类型。
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(ColumnDataType = "varchar(20)", IsNullable = true, SqlParameterDbType = typeof(EnumToStringConvert))]
|
|
|
|
|
public CpuType CpuType { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PLC的机架号。
|
|
|
|
|
/// </summary>
|
|
|
|
|
[SugarColumn(IsNullable = true)]
|
|
|
|
|
public short Rack { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// PLC的槽号。
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// [SugarColumn(IsNullable = true)]
|
|
|
|
|
public short Slot { get; set; }
|
|
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 设备的通信协议类型。
|
|
|
|
|
/// </summary>
|
2025-06-23 17:01:06 +08:00
|
|
|
[SugarColumn(ColumnDataType = "varchar(20)", SqlParameterDbType = typeof(EnumToStringConvert))]
|
2025-07-03 13:17:25 +08:00
|
|
|
public ProtocolType ProtocolType { get; set; }
|
2025-06-23 17:01:06 +08:00
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 设备关联的变量表列表。
|
|
|
|
|
/// </summary>
|
2025-06-23 17:01:06 +08:00
|
|
|
[Navigate(NavigateType.OneToMany, nameof(DbVariableTable.DeviceId))]
|
2025-06-20 18:53:29 +08:00
|
|
|
[SugarColumn(IsNullable = true)]
|
2025-06-23 17:01:06 +08:00
|
|
|
public List<DbVariableTable>? VariableTables { get; set; }
|
2025-06-10 22:13:06 +08:00
|
|
|
}
|