EmployeeEntity.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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 PositionId { get; set; }
  55. public PositionEntity Position { get; set; }
  56. /// <summary>
  57. /// 手机号
  58. /// </summary>
  59. [Column(StringLength = 20)]
  60. public string Phone { get; set; }
  61. /// <summary>
  62. /// 邮箱
  63. /// </summary>
  64. [Column(StringLength = 250)]
  65. public string Email { get; set; }
  66. /// <summary>
  67. /// 入职时间
  68. /// </summary>
  69. public DateTime HireDate { get; set; }
  70. [Navigate(ManyToMany = typeof(EmployeeOrganizationEntity))]
  71. public ICollection<OrganizationEntity> Organizations { get; set; }
  72. }
  73. }