OrganizationEntity.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using ZhonTai.Admin.Core.Entities;
  2. using FreeSql.DataAnnotations;
  3. using System.Collections.Generic;
  4. using ZhonTai.Admin.Domain.Employee;
  5. namespace ZhonTai.Admin.Domain.Organization
  6. {
  7. /// <summary>
  8. /// 组织架构
  9. /// </summary>
  10. [Table(Name = "ad_organization")]
  11. [Index("idx_{tablename}_01", nameof(ParentId) + "," + nameof(Name) + "," + nameof(TenantId), true)]
  12. public partial class OrganizationEntity : EntityFull, ITenant
  13. {
  14. /// <summary>
  15. /// 租户Id
  16. /// </summary>
  17. [Column(Position = -10, CanUpdate = false)]
  18. public long? TenantId { get; set; }
  19. /// <summary>
  20. /// 父级
  21. /// </summary>
  22. public long ParentId { get; set; }
  23. [Navigate(nameof(ParentId))]
  24. public List<OrganizationEntity> Childs { get; set; }
  25. /// <summary>
  26. /// 名称
  27. /// </summary>
  28. [Column(StringLength = 50)]
  29. public string Name { get; set; }
  30. /// <summary>
  31. /// 编码
  32. /// </summary>
  33. [Column(StringLength = 50)]
  34. public string Code { get; set; }
  35. /// <summary>
  36. /// 值
  37. /// </summary>
  38. [Column(StringLength = 50)]
  39. public string Value { get; set; }
  40. /// <summary>
  41. /// 主管Id
  42. /// </summary>
  43. public long? PrimaryEmployeeId { get; set; }
  44. /// <summary>
  45. /// 主管
  46. /// </summary>
  47. public EmployeeEntity PrimaryEmployee { get; set; }
  48. /// <summary>
  49. /// 员工人数
  50. /// </summary>
  51. public int EmployeeCount { get; set; }
  52. /// <summary>
  53. /// 描述
  54. /// </summary>
  55. [Column(StringLength = 500)]
  56. public string Description { get; set; }
  57. /// <summary>
  58. /// 启用
  59. /// </summary>
  60. public bool Enabled { get; set; } = true;
  61. /// <summary>
  62. /// 排序
  63. /// </summary>
  64. public int Sort { get; set; }
  65. [Navigate(ManyToMany = typeof(EmployeeOrganizationEntity))]
  66. public ICollection<EmployeeEntity> Employees { get; set; }
  67. }
  68. }