SysOrg.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. // 麻省理工学院许可证
  2. //
  3. // 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司 联系电话/微信:18020030720 QQ:515096995
  4. //
  5. // 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
  6. //
  7. // 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
  8. // 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
  9. namespace Admin.NET.Core;
  10. /// <summary>
  11. /// 系统机构表
  12. /// </summary>
  13. [SugarTable(null, "系统机构表")]
  14. [SysTable]
  15. [SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
  16. [SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
  17. [SugarIndex("index_{table}_T", nameof(Type), OrderByType.Asc)]
  18. public class SysOrg : EntityTenant
  19. {
  20. /// <summary>
  21. /// 父Id
  22. /// </summary>
  23. [SugarColumn(ColumnDescription = "父Id")]
  24. public long Pid { get; set; }
  25. /// <summary>
  26. /// 名称
  27. /// </summary>
  28. [SugarColumn(ColumnDescription = "名称", Length = 64)]
  29. [Required, MaxLength(64)]
  30. public virtual string Name { get; set; }
  31. /// <summary>
  32. /// 编码
  33. /// </summary>
  34. [SugarColumn(ColumnDescription = "编码", Length = 64)]
  35. [MaxLength(64)]
  36. public string? Code { get; set; }
  37. /// <summary>
  38. /// 级别
  39. /// </summary>
  40. [SugarColumn(ColumnDescription = "级别")]
  41. public int? Level { get; set; }
  42. /// <summary>
  43. /// 机构类型-数据字典
  44. /// </summary>
  45. [SugarColumn(ColumnDescription = "机构类型", Length = 64)]
  46. [MaxLength(64)]
  47. public string? Type { get; set; }
  48. /// <summary>
  49. /// 负责人Id
  50. /// </summary>
  51. [SugarColumn(ColumnDescription = "负责人Id", IsNullable = true)]
  52. public long? DirectorId { get; set; }
  53. /// <summary>
  54. /// 负责人
  55. /// </summary>
  56. [Newtonsoft.Json.JsonIgnore]
  57. [System.Text.Json.Serialization.JsonIgnore]
  58. [Navigate(NavigateType.OneToOne, nameof(DirectorId))]
  59. public SysUser Director { get; set; }
  60. /// <summary>
  61. /// 排序
  62. /// </summary>
  63. [SugarColumn(ColumnDescription = "排序")]
  64. public int OrderNo { get; set; } = 100;
  65. /// <summary>
  66. /// 状态
  67. /// </summary>
  68. [SugarColumn(ColumnDescription = "状态")]
  69. public StatusEnum Status { get; set; } = StatusEnum.Enable;
  70. /// <summary>
  71. /// 备注
  72. /// </summary>
  73. [SugarColumn(ColumnDescription = "备注", Length = 128)]
  74. [MaxLength(128)]
  75. public string? Remark { get; set; }
  76. /// <summary>
  77. /// 机构子项
  78. /// </summary>
  79. [SugarColumn(IsIgnore = true)]
  80. public List<SysOrg> Children { get; set; }
  81. /// <summary>
  82. /// 是否禁止选中
  83. /// </summary>
  84. [SugarColumn(IsIgnore = true)]
  85. public bool Disabled { get; set; }
  86. }