using FreeSql.DataAnnotations; using F9WebAiTest.Domain.Events.SYS.WuziMulus; namespace F9WebAiTest.Domain.Entities.SYS.WuziMulus; /// /// 物资目录:具体物资(如 0101 优茧、0102 普茧),编号按所属分组编号 + 2 位序号自动生成。 /// [Table(Name = "sys_wuzi_mulu")] public class WuziMulu : AggregateRoot { /// 所属物资分组 Id [Column(Name = "groupid")] public long GroupId { get; private set; } /// 名称 [Column(Name = "name")] public string Name { get; private set; } /// 编号(如 0101) [Column(Name = "code")] public string Code { get; private set; } /// 单位 [Column(Name = "unit")] public string Unit { get; private set; } /// 规格 [Column(Name = "guige")] public string Guige { get; private set; } /// 型号 [Column(Name = "xinghao")] public string Xinghao { get; private set; } /// 拼音码 [Column(Name = "pinyinname")] public string PinyinName { get; private set; } /// 库存预警数量 [Column(Name = "kucunyujing")] public decimal Kucunyujing { get; private set; } /// 顺序号 [Column(Name = "sortorder")] public int SortOrder { get; private set; } /// 是否启用预警 [Column(Name = "is_yujing")] public bool IsYujing { get; private set; } /// 销售税率 [Column(Name = "salerate")] public decimal SaleRate { get; private set; } public WuziMulu() { } public WuziMulu(long id, long groupId, string name, string code, string unit, string guige, string xinghao, string pinyinName, decimal kucunyujing, int sortOrder, bool isYujing, decimal saleRate) { Id = id; GroupId = groupId; Name = name; Code = code; Unit = unit; Guige = guige; Xinghao = xinghao; PinyinName = pinyinName; Kucunyujing = kucunyujing; SortOrder = sortOrder; IsYujing = isYujing; SaleRate = saleRate; AddDomainEvent(new WuziMulu_ChangedDomainEvent(Id)); } public void Update(long groupId, string name, string unit, string guige, string xinghao, string pinyinName, decimal kucunyujing, int sortOrder, bool isYujing, decimal saleRate) { GroupId = groupId; Name = name; Unit = unit; Guige = guige; Xinghao = xinghao; PinyinName = pinyinName; Kucunyujing = kucunyujing; SortOrder = sortOrder; IsYujing = isYujing; SaleRate = saleRate; AddDomainEvent(new WuziMulu_ChangedDomainEvent(Id)); } public void Deleted() => AddDomainEvent(new WuziMulu_ChangedDomainEvent(Id)); }