using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.DataAccess.Entity; using Kurisu.AspNetCore.DataAccess.SqlSugar; using Mapster; using SqlSugar; using SqlSugar.DbConvert; namespace Dlhis.Middle.Entities { [SugarTable(TableName = "Device")] public class LocalDeviceEntity : SugarBaseEntity, ITenantId { public new int Id { get; set; } /// /// 设备code /// [SugarColumn(ColumnDescription = "设备code")] public Guid Code { get; set; } /// /// 设备唯一码,IP/MAC/SNO /// [AdaptIgnore(MemberSide.Destination)] [SugarColumn(ColumnDescription = "设备唯一码", IsNullable = false, UniqueGroupNameList = new[] { "Idx_Device_UniqueNo" })] public string UniqueNo { get; set; } /// /// 心跳间隔 /// [SugarColumn(ColumnDescription = "心跳检查间隔")] public int HeartbeatInterval { get; set; } /// /// 供应商 /// [SugarColumn(ColumnDescription = "供应商")] public string Supplier { get; set; } /// /// 设备类型 /// [SugarColumn(ColumnDescription = "设备类型", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] public DeviceTypeEnumType Type { get; set; } /// /// 部署点 /// [SugarColumn(ColumnDescription = "部署点")] public string DeployPlace { get; set; } /// /// 部署坐标 /// [SugarColumn(ColumnDescription = "部署坐标")] public string DeployPosition { get; set; } /// /// 部署方向 /// [SugarColumn(IsNullable = true, ColumnDescription = "部署方向", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] public DeviceDeployDirectionEnumType? DeployDirection { get; set; } /// /// 模板code /// [SugarColumn(ColumnDescription = "模板code")] public Guid? TemplateCode { get; set; } /// /// 连接信息 /// [SugarColumn(ColumnDescription = "连接信息")] public string ConnectionInfo { get; set; } /// /// 是否启用 /// [SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否启用")] public bool Enable { get; set; } /// /// 是否作为考勤设备 /// [SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否作为考勤设备")] public bool AsAttendance { get; set; } public string TenantId { get; set; } } }