OrganizationEntity.cs 2.0 KB

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