Files
zszq-trs/Framework/YLErp.Core/DBModels/Assetunit.cs
T
tengyufan 864a29d6a8 #EQD-6605 国联民生-确认书编号规则调整(不基于甲方乙方判定)
feat: 国联民生收益互换按簿记分类生成交易编号

簿记账户新增“簿记分类”字段,支持代客、融券,新增账户默认代客,历史账户统一初始化为代客
簿记账户分类设为必填,列表、编辑及详情页面同步展示
修改已被交易引用的簿记账户分类时增加二次确认,并提示关联交易数量
国联民生收益互换交易编号不再根据甲乙方判断,改为根据簿记账户分类生成
代客使用数字序号,融券使用字母序号,分别从已有同客户同日编号的最大序号继续递增
保留手工交易编号优先逻辑,标准格式的手工编号参与后续最大序号计算
生成候选编号后检查完整交易编号是否已存在,存在则继续递增
新增簿记分类编号格式、最大序号计算及数字字母序列隔离专项单测
2026-08-05 15:55:01 +08:00

124 lines
3.0 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace YLErp.DBModels
{
/// <summary>
/// 簿记账户
/// </summary>
[Table("assetunit")]
public class AssetUnit : DBModelWithOperator, IDataEntity, IDataTraceV2, IClonable<AssetUnit>
{
public const string BookCategoryAgency = "代客";
public const string BookCategorySecuritiesLending = "融券";
[Key]
[DisplayName("簿记账户名称")]
public override int id { get; set; }
[DisplayName("初始金额")]
public double? InitialMoney { get; set; }
[NotMapped]
public List<int> TraderIdsInt
{
get
{
if (string.IsNullOrEmpty(TraderIds))
{
return new List<int>();
}
return TraderIds.Split(","[0]).Select(t => Convert.ToInt32(t)).ToList();
}
}
[NotMapped]
public List<string> TraderNamesList
{
get
{
if (string.IsNullOrEmpty(TraderNames))
{
return new List<string>();
}
return TraderNames.Split(","[0]).Select(t => t).ToList();
}
}
[DisplayName("交易员")]
public string TraderIds { get; set; }
[DisplayName("交易员")]
public string TraderNames { get; set; }
/// <summary>
/// 资产单元名称
/// </summary>
[DisplayName("簿记账户名称"), Required]
public string Name { get; set; }
[DisplayName("簿记分类"), Required]
public string BookCategory { get; set; }
/// <summary>
/// 基础币种
/// </summary>
[DisplayName("基础币种")]
public string BaseCurrency { get; set; }
/// <summary>
/// 分组Id
/// </summary>
[DisplayName("账户组名称")]
public int GroupId { get; set; }
/// <summary>
/// 账户组名称
/// </summary>
[NotMapped]
public string GroupName { get; set; }
/// <summary>
/// 所属业务组
/// </summary>
[DisplayName("所属业务组")]
public string UserGroup { get; set; }
/// <summary>
/// 备注
/// </summary>
[DisplayName("备注")]
public string Remark { get; set; }
public AssetUnit Clone()
{
return (AssetUnit)MemberwiseClone();
}
public string GetDataTraceKeyId()
{
return id.ToString();
}
public string GetDataTraceKeyInfo()
{
return "簿记账户:" + Name;
}
public override string ToString()
{
return $"{Name}--{id}--{UserGroup}";
}
}
/// <summary>
/// 簿记账户DTO
/// </summary>
[NotMapped]
public class AssetUnitDto : AssetUnit
{
}
}