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