GenTableColumn.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. using SqlSugar;
  2. using System;
  3. using System.Linq;
  4. namespace ZR.Model.System.Generate
  5. {
  6. /// <summary>
  7. /// 代码生成表字段
  8. /// </summary>
  9. [SugarTable("gen_table_column", "代码生成表字段")]
  10. [Tenant("0")]
  11. public class GenTableColumn : SysBase
  12. {
  13. /// <summary>
  14. /// 列id
  15. /// </summary>
  16. [SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
  17. public long ColumnId { get; set; }
  18. /// <summary>
  19. /// 导入代码生成表列名 首字母转了小写
  20. /// </summary>
  21. public string ColumnName { get; set; }
  22. [SugarColumn(IsOnlyIgnoreUpdate = true)]
  23. public long TableId { get; set; }
  24. [SugarColumn(IsOnlyIgnoreUpdate = true)]
  25. public string TableName { get; set; }
  26. /// <summary>
  27. /// 列说明
  28. /// </summary>
  29. private string columnComment;
  30. public string ColumnComment
  31. {
  32. get
  33. {
  34. return string.IsNullOrEmpty(columnComment) ? CsharpField : columnComment;
  35. }
  36. set
  37. {
  38. columnComment = value;
  39. }
  40. }
  41. /// <summary>
  42. /// 数据库列类型
  43. /// </summary>
  44. [SugarColumn(IsOnlyIgnoreUpdate = true)]
  45. public string ColumnType { get; set; }
  46. /// <summary>
  47. /// C#类型
  48. /// </summary>
  49. public string CsharpType { get; set; }
  50. /// <summary>
  51. /// C# 字段名 首字母大写
  52. /// </summary>
  53. public string CsharpField { get; set; }
  54. /// <summary>
  55. /// 是否主键(1是)
  56. /// </summary>
  57. [SugarColumn(IsOnlyIgnoreUpdate = true)]
  58. public bool IsPk { get; set; }
  59. /// <summary>
  60. /// 是否必填(1是)
  61. /// </summary>
  62. public bool IsRequired { get; set; }
  63. /// <summary>
  64. /// 是否自增(1是)
  65. /// </summary>
  66. [SugarColumn(IsOnlyIgnoreUpdate = true)]
  67. public bool IsIncrement { get; set; }
  68. /// <summary>
  69. /// 是否插入(1是)
  70. /// </summary>
  71. public bool IsInsert { get; set; }
  72. /// <summary>
  73. /// 是否需要编辑(1是)
  74. /// </summary>
  75. public bool IsEdit { get; set; }
  76. /// <summary>
  77. /// 是否显示列表(1是)
  78. /// </summary>
  79. public bool IsList { get; set; }
  80. /// <summary>
  81. /// 是否查询(1是)
  82. /// </summary>
  83. public bool IsQuery { get; set; }
  84. /// <summary>
  85. /// 是否排序(1是)
  86. /// </summary>
  87. public bool IsSort { get; set; }
  88. /// <summary>
  89. /// 是否导出(1是)
  90. /// </summary>
  91. public bool IsExport { get; set; }
  92. /// <summary>
  93. /// 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)
  94. /// </summary>
  95. public string HtmlType { get; set; }
  96. /// <summary>
  97. /// 查询类型(等于、不等于、大于、小于、范围)
  98. /// </summary>
  99. [SugarColumn(DefaultValue = "EQ")]
  100. public string QueryType { get; set; } = "EQ";
  101. public int Sort { get; set; }
  102. /// <summary>
  103. /// 字典类型
  104. /// </summary>
  105. public string DictType { get; set; } = "";
  106. /// <summary>
  107. /// 自动填充类型 1、添加 2、编辑 3、添加编辑
  108. /// </summary>
  109. public int AutoFillType { get; set; }
  110. #region 额外字段
  111. [SugarColumn(IsIgnore = true)]
  112. public string RequiredStr
  113. {
  114. get
  115. {
  116. string[] arr = new string[] { "int", "long" };
  117. return (!IsRequired && HtmlType != "selectMulti" && (arr.Any(f => f.Contains(CsharpType))) || typeof(DateTime).Name == CsharpType) ? "?" : "";
  118. }
  119. }
  120. /// <summary>
  121. /// 前端排序字符串
  122. /// </summary>
  123. [SugarColumn(IsIgnore = true)]
  124. public string SortStr
  125. {
  126. get
  127. {
  128. return IsSort ? " sortable" : "";
  129. }
  130. }
  131. /// <summary>
  132. /// C# 字段名 首字母小写,用于前端
  133. /// </summary>
  134. [SugarColumn(IsIgnore = true)]
  135. public string CsharpFieldFl
  136. {
  137. get
  138. {
  139. return CsharpField[..1].ToLower() + CsharpField[1..];
  140. }
  141. }
  142. /// <summary>
  143. /// 前端 只读字段
  144. /// </summary>
  145. [SugarColumn(IsIgnore = true)]
  146. public string DisabledStr
  147. {
  148. get
  149. {
  150. return ((IsPk) && !IsRequired) ? " :disabled=\"true\"" : "";
  151. }
  152. }
  153. #endregion
  154. }
  155. }