71 lines
1.8 KiB
C#
71 lines
1.8 KiB
C#
using SJZY.Track.Domain.Enums;
|
|
using Volo.Abp;
|
|
|
|
namespace SJZY.Track.Domain.Aggregates.ForewarningAggregate;
|
|
|
|
[SugarTable("t_warning")]
|
|
public class WarningEntity: IFullAuditedBasicEntitys, IAggregateRoot
|
|
{
|
|
/// <summary>
|
|
/// 自增主键
|
|
/// </summary>
|
|
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// 子系统id
|
|
/// </summary>
|
|
[SugarColumn(ColumnName = "SubSystemId")]
|
|
public int SubSystemId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 客户id
|
|
/// </summary>
|
|
[SugarColumn(ColumnName = "CustomerId")]
|
|
public int CustomerId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 规则模板名称,KPI名称
|
|
/// </summary>
|
|
[SugarColumn(ColumnName = "Name")]
|
|
public string Name { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// 因素类型排序
|
|
/// </summary>
|
|
[SugarColumn(ColumnName = "FactorTypeSort")]
|
|
public string FactorTypeSort { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// 是否启用,默认否
|
|
/// </summary>
|
|
[SugarColumn(ColumnName = "IsEnable")]
|
|
public bool IsEnable { get; set; }
|
|
|
|
/// <summary>
|
|
/// 预警规则
|
|
/// </summary>
|
|
[SugarColumn(IsIgnore = true)]
|
|
public List<WarningRuleEntity> WarningRules { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// 预警因素
|
|
/// </summary>
|
|
[SugarColumn(IsIgnore = true)]
|
|
public List<WarningFactorEntity> WarningFactors { get; set; } = new();
|
|
|
|
public void SetName(string name)
|
|
{
|
|
Name = name;
|
|
}
|
|
|
|
public void SetEnable(bool isEnable)
|
|
{
|
|
if (IsEnable == isEnable)
|
|
{
|
|
throw new BusinessException(message: $"预警已经是{(isEnable ? "启用" : "禁用")}状态");
|
|
}
|
|
|
|
IsEnable = isEnable;
|
|
}
|
|
} |