using FreeSql.DataAnnotations; using F9WebAiTest.Domain.Enums.SYS.YuanliaoZhuangkous; using F9WebAiTest.Domain.Events.SYS.YuanliaoZhuangkous; namespace F9WebAiTest.Domain.Entities.SYS.YuanliaoZhuangkous; /// /// 原料庄口:按年度 + 站点 + 季别 + 批次 + 物资(茧别)+ 蚕品种 标识一批原料, /// 名称按 "{年度}{站点}{季别}{批次中文}{物资名去茧}({蚕品种})" 规则生成。 /// [Table(Name = "sys_yuanliao_zhuangkou")] public class YuanliaoZhuangkou : AggregateRoot { /// 年度 [Column(Name = "year")] public int Year { get; private set; } /// 庄口名称 [Column(Name = "name")] public string Name { get; private set; } /// 编号(按年度自动生成,如 2025001) [Column(Name = "code")] public string Code { get; private set; } /// 季别(春/夏/秋/晚秋/晚晚秋…) [Column(Name = "jibie")] public string Jibie { get; private set; } /// 产地分类(本地/外地) [Column(Name = "bendiwaidi")] public BendiWaidi_Enum Bendiwaidi { get; private set; } /// 产地 [Column(Name = "chandi")] public string Chandi { get; private set; } /// 蚕品种 [Column(Name = "canpinzhong")] public string Canpinzhong { get; private set; } /// 物资目录 Id [Column(Name = "wzmlid")] public long WzmlId { get; private set; } /// 站点 [Column(Name = "zhandian")] public string Zhandian { get; private set; } /// 批次 [Column(Name = "pici")] public int Pici { get; private set; } public YuanliaoZhuangkou() { } public YuanliaoZhuangkou(long id, int year, string name, string code, string jibie, BendiWaidi_Enum bendiwaidi, string chandi, string canpinzhong, long wzmlId, string zhandian, int pici) { Id = id; Year = year; Name = name; Code = code; Jibie = jibie; Bendiwaidi = bendiwaidi; Chandi = chandi; Canpinzhong = canpinzhong; WzmlId = wzmlId; Zhandian = zhandian; Pici = pici; AddDomainEvent(new YuanliaoZhuangkou_ChangedDomainEvent(Id)); } public void Update(int year, string name, string jibie, BendiWaidi_Enum bendiwaidi, string chandi, string canpinzhong, long wzmlId, string zhandian, int pici) { Year = year; Name = name; Jibie = jibie; Bendiwaidi = bendiwaidi; Chandi = chandi; Canpinzhong = canpinzhong; WzmlId = wzmlId; Zhandian = zhandian; Pici = pici; AddDomainEvent(new YuanliaoZhuangkou_ChangedDomainEvent(Id)); } public void Deleted() => AddDomainEvent(new YuanliaoZhuangkou_ChangedDomainEvent(Id)); }