63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
using FreeSql.DataAnnotations;
|
|
using F9WebAiTest.Domain.Events.SYS.Zq;
|
|
|
|
namespace F9WebAiTest.Domain.Entities.SYS.Zq;
|
|
|
|
/// <summary>
|
|
/// 账期(基础数据):一段统计区间(默认按每月 28 日划分),可"扎帐"锁定该期间业务数据。
|
|
/// </summary>
|
|
[Table(Name = "sys_zhangqi")]
|
|
public class Zhangqi : AggregateRoot
|
|
{
|
|
/// <summary>年度</summary>
|
|
[Column(Name = "year")]
|
|
public int Year { get; private set; }
|
|
|
|
/// <summary>月份</summary>
|
|
[Column(Name = "month")]
|
|
public int Month { get; private set; }
|
|
|
|
/// <summary>开始日期</summary>
|
|
[Column(Name = "start_date")]
|
|
public DateTime StartDate { get; private set; }
|
|
|
|
/// <summary>截止日期</summary>
|
|
[Column(Name = "end_date")]
|
|
public DateTime EndDate { get; private set; }
|
|
|
|
/// <summary>是否已扎帐(扎帐后期间内业务数据禁止修改)</summary>
|
|
[Column(Name = "is_zha_zhang")]
|
|
public bool IsZhaZhang { get; private set; }
|
|
|
|
public Zhangqi() { }
|
|
|
|
public Zhangqi(long id, int year, int month, DateTime startDate, DateTime endDate)
|
|
{
|
|
Id = id;
|
|
Year = year;
|
|
Month = month;
|
|
StartDate = startDate;
|
|
EndDate = endDate;
|
|
IsZhaZhang = false;
|
|
AddDomainEvent(new Zhangqi_ChangedDomainEvent(Id));
|
|
}
|
|
|
|
public void Update(int year, int month, DateTime startDate, DateTime endDate)
|
|
{
|
|
Year = year;
|
|
Month = month;
|
|
StartDate = startDate;
|
|
EndDate = endDate;
|
|
AddDomainEvent(new Zhangqi_ChangedDomainEvent(Id));
|
|
}
|
|
|
|
/// <summary>扎帐 / 取消扎帐</summary>
|
|
public void SetZhaZhang(bool isZhaZhang)
|
|
{
|
|
IsZhaZhang = isZhaZhang;
|
|
AddDomainEvent(new Zhangqi_ChangedDomainEvent(Id));
|
|
}
|
|
|
|
public void Deleted() => AddDomainEvent(new Zhangqi_ChangedDomainEvent(Id));
|
|
}
|