1
0

EmployeeEntity.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using Admin.Core.Common.BaseModel;
  2. using Admin.Core.Model.Admin;
  3. using Admin.Core.Model.Enums;
  4. using FreeSql.DataAnnotations;
  5. using System;
  6. using System.Collections.Generic;
  7. namespace Admin.Core.Model.Personnel
  8. {
  9. /// <summary>
  10. /// 员工
  11. /// </summary>
  12. [Table(Name = "pe_employee")]
  13. [Index("idx_{tablename}_01", nameof(Code) + "," + nameof(TenantId), true)]
  14. public class EmployeeEntity : EntityFull, ITenant
  15. {
  16. /// <summary>
  17. /// 租户Id
  18. /// </summary>
  19. [Column(Position = -10)]
  20. public long? TenantId { get; set; }
  21. public TenantEntity Tenant { get; set; }
  22. /// <summary>
  23. /// 用户Id
  24. /// </summary>
  25. public long? UserId { get; set; }
  26. public UserEntity User { get; set; }
  27. /// <summary>
  28. /// 姓名
  29. /// </summary>
  30. [Column(StringLength = 20)]
  31. public string Name { get; set; }
  32. /// <summary>
  33. /// 昵称
  34. /// </summary>
  35. [Column(StringLength = 20)]
  36. public string NickName { get; set; }
  37. /// <summary>
  38. /// 性别
  39. /// </summary>
  40. public Sex? Sex { get; set; }
  41. /// <summary>
  42. /// 工号
  43. /// </summary>
  44. [Column(StringLength = 20)]
  45. public string Code { get; set; }
  46. /// <summary>
  47. /// 主属部门Id
  48. /// </summary>
  49. public long OrganizationId { get; set; }
  50. public OrganizationEntity Organization { get; set; }
  51. /// <summary>
  52. /// 主管Id
  53. /// </summary>
  54. public long? PrimaryEmployeeId { get; set; }
  55. /// <summary>
  56. /// 主管
  57. /// </summary>
  58. public EmployeeEntity PrimaryEmployee { get; set; }
  59. /// <summary>
  60. /// 职位Id
  61. /// </summary>
  62. public long PositionId { get; set; }
  63. public PositionEntity Position { get; set; }
  64. /// <summary>
  65. /// 手机号
  66. /// </summary>
  67. [Column(StringLength = 20)]
  68. public string Phone { get; set; }
  69. /// <summary>
  70. /// 邮箱
  71. /// </summary>
  72. [Column(StringLength = 250)]
  73. public string Email { get; set; }
  74. /// <summary>
  75. /// 入职时间
  76. /// </summary>
  77. public DateTime? EntryTime { get; set; }
  78. [Navigate(ManyToMany = typeof(EmployeeOrganizationEntity))]
  79. public ICollection<OrganizationEntity> Organizations { get; set; }
  80. }
  81. }