Files
f9-web-ai-test/backend/F9WebAiTest.Domain/Entities/SYS/Zq/Zhangqi.cs
T
2026-10-08 15:44:07 +08:00

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));
}