using System;
|
using SqlSugar;
|
using System.Linq;
|
using System.ComponentModel;
|
using System.Collections.Generic;
|
using System.Text.RegularExpressions;
|
|
namespace Tiger.Model
|
{
|
/// <summary>
|
/// 实体:条码规则明细定义
|
/// </summary>
|
[Description("Primary:ID")]
|
[Serializable]
|
[SugarTable("BAS_CODE_DTL")]
|
public class BAS_CODE_DTL : DbEntityWithAuth
|
{
|
#region 构造函数
|
/// <summary>
|
/// 实体:条码规则明细定义
|
/// </summary>
|
public BAS_CODE_DTL() {}
|
#endregion
|
|
#region 公共属性
|
/// <summary>
|
/// 规则ID
|
/// </summary>
|
[DisplayName("规则ID")]
|
public string RULE_ID { get; set; }
|
/// <summary>
|
/// 规则顺序(从1开始累计加1)
|
/// </summary>
|
[DisplayName("规则顺序(从1开始累计加1)")]
|
public int RULE_SEQ { get; set; }
|
/// <summary>
|
/// 明细描述
|
/// </summary>
|
[DisplayName("明细描述")]
|
public string DESCRIPTION { get; set; }
|
/// <summary>
|
/// 数据类型(0Character纯字母|1Numeric纯数字|2FixedCode固定值|3SerialCode流水号|4DateCode日期|5TimeCode时间|6DbCheck关联校验|7NoCheck不校验)
|
/// </summary>
|
[DisplayName("数据类型(0Character纯字母|1Numeric纯数字|2FixedCode固定值|3SerialCode流水号|4DateCode日期|5TimeCode时间|6DbCheck关联校验|7NoCheck不校验)")]
|
public int DATA_TYPE { get; set; }
|
/// <summary>
|
/// 数据选择值(纯字母,日期,时间选择值)
|
/// </summary>
|
[DisplayName("数据选择值(纯字母,日期,时间选择值)")]
|
public string DATA_CASE { get; set; }
|
/// <summary>
|
/// 数据值(固定值填写值)
|
/// </summary>
|
[DisplayName("数据值(固定值填写值)")]
|
public string DATA_VALUE { get; set; }
|
/// <summary>
|
/// 流水号最小值
|
/// </summary>
|
[DisplayName("流水号最小值")]
|
public int SERIAL_MIN { get; set; }
|
/// <summary>
|
/// 流水号最大值
|
/// </summary>
|
[DisplayName("流水号最大值")]
|
public int SERIAL_MAX { get; set; }
|
/// <summary>
|
/// 流水号重置类型(0Default默认|1Year年|2Month月|3Week周|4Day日|5NotReset不重置)
|
/// </summary>
|
[DisplayName("流水号重置类型(0Default默认|1Year年|2Month月|3Week周|4Day日|5NotReset不重置)")]
|
public int SERIAL_RESET { get; set; }
|
/// <summary>
|
/// 流水号取号间隔
|
/// </summary>
|
[DisplayName("流水号取号间隔")]
|
public int SERIAL_INTERVAL { get; set; } = 1;
|
/// <summary>
|
/// 流水号跳号(取号时跳过以设置号码结尾的流水号)
|
/// </summary>
|
[DisplayName("流水号跳号(取号时跳过以设置号码结尾的流水号)")]
|
public string SERIAL_IGNORE { get; set; }
|
/// <summary>
|
/// 是否不包含固定值(Y/N)
|
/// </summary>
|
[DisplayName("是否不包含固定值(Y/N)")]
|
public string FIXED_NOTLIKE { get; set; }
|
/// <summary>
|
/// 关联表
|
/// </summary>
|
[DisplayName("关联表")]
|
public string CHECK_TABLE { get; set; }
|
/// <summary>
|
/// 关联字段
|
/// </summary>
|
[DisplayName("关联字段")]
|
public string CHECK_FIELD { get; set; }
|
/// <summary>
|
/// 校验长度(默认是1)
|
/// </summary>
|
[DisplayName("校验长度(默认是1)")]
|
public int CHECK_LENGTH { get; set; }
|
/// <summary>
|
/// 匹配次数(默认是1)
|
/// </summary>
|
[DisplayName("匹配次数(默认是1)")]
|
public int REPEAT_TIMES { get; set; }
|
/// <summary>
|
/// 起始位置(从0开始)
|
/// </summary>
|
[DisplayName("起始位置(从0开始)")]
|
public string START_DIGIT { get; set; }
|
/// <summary>
|
/// 校验表达式
|
/// </summary>
|
[DisplayName("校验表达式")]
|
public string DATA_REGEX { get; set; }
|
/// <summary>
|
/// 备注
|
/// </summary>
|
[DisplayName("备注")]
|
public string REMARK { get; set; }
|
#endregion
|
|
#region 虚拟属性
|
/*例子
|
[SugarColumn(IsIgnore = true)]
|
public string FieldName { get; set; }
|
*/
|
/// <summary>
|
/// Regex 对象, 正则表达式:^(DATA_REGEX)$
|
/// </summary>
|
[SugarColumn(IsIgnore = true)]
|
public Regex Regex => new Regex($"^{DATA_REGEX}$");
|
/// <summary>
|
/// 分组的校验表达式,使用RULE_SEQ分组
|
/// </summary>
|
[SugarColumn(IsIgnore = true)]
|
public string DATA_REGEX_WithGroup => $"(?<{RULE_SEQ}>{DATA_REGEX})";
|
/// <summary>
|
/// 校验正则表达式
|
/// </summary>
|
[SugarColumn(IsIgnore = true)]
|
public Regex GroupRegex => new Regex(DATA_REGEX_WithGroup);
|
/// <summary>
|
/// 数据值(生成条码时的值)
|
/// </summary>
|
[SugarColumn(IsIgnore = true)]
|
public string CodeValue { get; set; }
|
#endregion
|
|
#region 外键属性
|
/*例子
|
//一对一外键导航
|
[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BAS_CODE_DTL类里面的外键ID字段
|
public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
|
//一对多外键导航
|
[Navigate(NavigateType.OneToMany, nameof(ClassA.BAS_CODE_DTLId))]//ClassA表中的BAS_CODE_DTLId
|
public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
|
//多对多外键导航
|
[Navigate(typeof(MappingClass), nameof(MappingClass.BAS_CODE_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
|
public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
|
*/
|
#endregion
|
|
#region 枚举变量
|
/// <summary>
|
/// 数据类型(0Character纯字母|1Numeric纯数字|2FixedCode固定值|3SerialCode流水号|4DateCode日期|5TimeCode时间|6DbCheck关联校验|7NoCheck不校验)
|
/// </summary>
|
public enum DATA_TYPEs
|
{
|
[Description("纯字母")]
|
Character,
|
[Description("纯数字")]
|
Numeric,
|
[Description("固定值")]
|
FixedCode,
|
[Description("流水号")]
|
SerialCode,
|
[Description("日期")]
|
DateCode,
|
[Description("时间")]
|
TimeCode,
|
[Description("关联校验")]
|
DbCheck,
|
[Description("不校验")]
|
NoCheck,
|
}
|
/// <summary>
|
/// 大小写(0NotSet不限制|1Upper全大写|2Lower全小写)
|
/// </summary>
|
//public enum DATA_CASEs
|
//{
|
// [Description("不限制")]
|
// NotSet,
|
// [Description("全大写")]
|
// Upper,
|
// [Description("全小写")]
|
// Lower,
|
//}
|
/// <summary>
|
/// 流水号重置类型(0Default默认|1Year年|2Month月|3Week周|4Day日|5NotReset不重置)
|
/// </summary>
|
public enum SERIAL_RESETs
|
{
|
[Description("默认")]
|
Default,
|
[Description("年")]
|
Year,
|
[Description("月")]
|
Month,
|
[Description("周")]
|
Week,
|
[Description("日")]
|
Day,
|
[Description("不重置")]
|
NotReset,
|
}
|
#endregion
|
|
#region 公共方法
|
|
#endregion
|
|
}//endClass
|
}
|