|
|
/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。
|
|
|
* Ghrh_Resume.cs
|
|
|
*
|
|
|
*功 能: N / A
|
|
|
* 类 名: Ghrh_Resume
|
|
|
*
|
|
|
* Ver 变更日期 负责人 变更内容
|
|
|
* ───────────────────────────────────
|
|
|
*V0.01 2024/12/30 13:14:17 SimonHsiao 初版
|
|
|
*
|
|
|
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
|
|
|
*┌──────────────────────────────────┐
|
|
|
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
|
|
|
*│ 作者:SimonHsiao │
|
|
|
*└──────────────────────────────────┘
|
|
|
*/
|
|
|
namespace Tiobon.Core.Model.Models;
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 个人简历 (Dto.Base)
|
|
|
/// </summary>
|
|
|
public class Ghrh_ResumeBase
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
/// 姓名
|
|
|
/// </summary>
|
|
|
[Display(Name = "StaffName"), Description("姓名"), MaxLength(32, ErrorMessage = "姓名 不能超过 32 个字符")]
|
|
|
public string StaffName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 英文名
|
|
|
/// </summary>
|
|
|
[Display(Name = "StaffEname"), Description("英文名"), MaxLength(32, ErrorMessage = "英文名 不能超过 32 个字符")]
|
|
|
public string StaffEname { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 头像
|
|
|
/// </summary>
|
|
|
[Display(Name = "PhotoUrl"), Description("头像"), MaxLength(1000, ErrorMessage = "头像 不能超过 1000 个字符")]
|
|
|
public string PhotoUrl { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 民族
|
|
|
/// </summary>
|
|
|
[Display(Name = "Nation"), Description("民族"), MaxLength(32, ErrorMessage = "民族 不能超过 32 个字符")]
|
|
|
public string Nation { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 出生日期
|
|
|
/// </summary>
|
|
|
public DateTime? Birthday { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 籍贯
|
|
|
/// </summary>
|
|
|
[Display(Name = "NativePlace"), Description("籍贯"), MaxLength(32, ErrorMessage = "籍贯 不能超过 32 个字符")]
|
|
|
public string NativePlace { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 性别
|
|
|
/// </summary>
|
|
|
[Display(Name = "Gender"), Description("性别"), MaxLength(32, ErrorMessage = "性别 不能超过 32 个字符")]
|
|
|
public string Gender { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 年龄
|
|
|
/// </summary>
|
|
|
[Display(Name = "Age"), Description("年龄"), Column(TypeName = "decimal(3,1)")]
|
|
|
public decimal? Age { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 学历
|
|
|
/// </summary>
|
|
|
[Display(Name = "Education"), Description("学历"), MaxLength(1000, ErrorMessage = "学历 不能超过 1000 个字符")]
|
|
|
public string Education { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 毕业院校
|
|
|
/// </summary>
|
|
|
[Display(Name = "School"), Description("毕业院校"), MaxLength(128, ErrorMessage = "毕业院校 不能超过 128 个字符")]
|
|
|
public string School { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 毕业日期
|
|
|
/// </summary>
|
|
|
public DateTime? GraduateDate { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 求职状态
|
|
|
/// </summary>
|
|
|
[Display(Name = "ApplyStatus"), Description("求职状态"), MaxLength(32, ErrorMessage = "求职状态 不能超过 32 个字符")]
|
|
|
public string ApplyStatus { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 岗位ID
|
|
|
/// </summary>
|
|
|
public int? TitleId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 婚姻状况
|
|
|
/// </summary>
|
|
|
[Display(Name = "MaritalStatus"), Description("婚姻状况"), MaxLength(32, ErrorMessage = "婚姻状况 不能超过 32 个字符")]
|
|
|
public string MaritalStatus { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 政治面貌
|
|
|
/// </summary>
|
|
|
[Display(Name = "PoliticStatus"), Description("政治面貌"), MaxLength(32, ErrorMessage = "政治面貌 不能超过 32 个字符")]
|
|
|
public string PoliticStatus { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 联系电话
|
|
|
/// </summary>
|
|
|
[Display(Name = "Mobile"), Description("联系电话"), MaxLength(32, ErrorMessage = "联系电话 不能超过 32 个字符")]
|
|
|
public string Mobile { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 邮箱
|
|
|
/// </summary>
|
|
|
[Display(Name = "Email"), Description("邮箱"), MaxLength(64, ErrorMessage = "邮箱 不能超过 64 个字符")]
|
|
|
public string Email { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 入职日期
|
|
|
/// </summary>
|
|
|
public DateTime? Indate { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人关系
|
|
|
/// </summary>
|
|
|
[Display(Name = "UrgentRelation"), Description("紧急联系人关系"), MaxLength(32, ErrorMessage = "紧急联系人关系 不能超过 32 个字符")]
|
|
|
public string UrgentRelation { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人
|
|
|
/// </summary>
|
|
|
[Display(Name = "UrgentContact"), Description("紧急联系人"), MaxLength(32, ErrorMessage = "紧急联系人 不能超过 32 个字符")]
|
|
|
public string UrgentContact { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人电话
|
|
|
/// </summary>
|
|
|
[Display(Name = "UrgentContactTel"), Description("紧急联系人电话"), MaxLength(32, ErrorMessage = "紧急联系人电话 不能超过 32 个字符")]
|
|
|
public string UrgentContactTel { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人地址
|
|
|
/// </summary>
|
|
|
[Display(Name = "UrgentContactAddress"), Description("紧急联系人地址"), MaxLength(128, ErrorMessage = "紧急联系人地址 不能超过 128 个字符")]
|
|
|
public string UrgentContactAddress { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人关系2
|
|
|
/// </summary>
|
|
|
[Display(Name = "Urgent2Relation"), Description("紧急联系人关系2"), MaxLength(32, ErrorMessage = "紧急联系人关系2 不能超过 32 个字符")]
|
|
|
public string Urgent2Relation { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人2
|
|
|
/// </summary>
|
|
|
[Display(Name = "Urgent2Contact"), Description("紧急联系人2"), MaxLength(32, ErrorMessage = "紧急联系人2 不能超过 32 个字符")]
|
|
|
public string Urgent2Contact { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人电话2
|
|
|
/// </summary>
|
|
|
[Display(Name = "Urgent2ContactTel"), Description("紧急联系人电话2"), MaxLength(32, ErrorMessage = "紧急联系人电话2 不能超过 32 个字符")]
|
|
|
public string Urgent2ContactTel { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 紧急联系人地址2
|
|
|
/// </summary>
|
|
|
[Display(Name = "Urgent2ContactAddress"), Description("紧急联系人地址2"), MaxLength(128, ErrorMessage = "紧急联系人地址2 不能超过 128 个字符")]
|
|
|
public string Urgent2ContactAddress { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 职前年资
|
|
|
/// </summary>
|
|
|
[Display(Name = "PreJobSeniority"), Description("职前年资"), MaxLength(32, ErrorMessage = "职前年资 不能超过 32 个字符")]
|
|
|
public string PreJobSeniority { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 最高学历
|
|
|
/// </summary>
|
|
|
[Display(Name = "EduDegree"), Description("最高学历"), MaxLength(32, ErrorMessage = "最高学历 不能超过 32 个字符")]
|
|
|
public string EduDegree { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 证照类型
|
|
|
/// </summary>
|
|
|
[Display(Name = "CertificateType"), Description("证照类型"), MaxLength(32, ErrorMessage = "证照类型 不能超过 32 个字符")]
|
|
|
public string CertificateType { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 身份证号
|
|
|
/// </summary>
|
|
|
[Display(Name = "IdCardNo"), Description("身份证号"), MaxLength(64, ErrorMessage = "身份证号 不能超过 64 个字符")]
|
|
|
public string IdCardNo { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 身份证开始有效期
|
|
|
/// </summary>
|
|
|
public DateTime? IDCardBegin { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 身份证结束有效期
|
|
|
/// </summary>
|
|
|
public DateTime? IDCardEnd { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 户口性质
|
|
|
/// </summary>
|
|
|
[Display(Name = "RegisteredType"), Description("户口性质"), MaxLength(32, ErrorMessage = "户口性质 不能超过 32 个字符")]
|
|
|
public string RegisteredType { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 发证机关
|
|
|
/// </summary>
|
|
|
[Display(Name = "IDCardOrg"), Description("发证机关"), MaxLength(256, ErrorMessage = "发证机关 不能超过 256 个字符")]
|
|
|
public string IDCardOrg { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 家庭地址(身份证)
|
|
|
/// </summary>
|
|
|
[Display(Name = "RegisteredAddress"), Description("家庭地址(身份证)"), MaxLength(256, ErrorMessage = "家庭地址(身份证) 不能超过 256 个字符")]
|
|
|
public string RegisteredAddress { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 现居住地
|
|
|
/// </summary>
|
|
|
[Display(Name = "NowAddress"), Description("现居住地"), MaxLength(256, ErrorMessage = "现居住地 不能超过 256 个字符")]
|
|
|
public string NowAddress { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 介绍人
|
|
|
/// </summary>
|
|
|
[Display(Name = "Introducer"), Description("介绍人"), MaxLength(32, ErrorMessage = "介绍人 不能超过 32 个字符")]
|
|
|
public string Introducer { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 国籍
|
|
|
/// </summary>
|
|
|
[Display(Name = "NationNo"), Description("国籍"), MaxLength(32, ErrorMessage = "国籍 不能超过 32 个字符")]
|
|
|
public string NationNo { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 公积金账号
|
|
|
/// </summary>
|
|
|
[Display(Name = "FundAccountID"), Description("公积金账号"), MaxLength(128, ErrorMessage = "公积金账号 不能超过 128 个字符")]
|
|
|
public string FundAccountID { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 公积金基数
|
|
|
/// </summary>
|
|
|
[Display(Name = "FundBase"), Description("公积金基数"), Column(TypeName = "decimal(20,2)")]
|
|
|
public decimal? FundBase { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 社保帐套
|
|
|
/// </summary>
|
|
|
[Display(Name = "InInsureAccountNo"), Description("社保帐套"), MaxLength(32, ErrorMessage = "社保帐套 不能超过 32 个字符")]
|
|
|
public string InInsureAccountNo { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 社保账号
|
|
|
/// </summary>
|
|
|
[Display(Name = "InsureAccountID"), Description("社保账号"), MaxLength(128, ErrorMessage = "社保账号 不能超过 128 个字符")]
|
|
|
public string InsureAccountID { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 社保基数
|
|
|
/// </summary>
|
|
|
[Display(Name = "InsureBase"), Description("社保基数"), Column(TypeName = "decimal(20,2)")]
|
|
|
public decimal? InsureBase { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否缴纳社保
|
|
|
/// </summary>
|
|
|
public bool? IsInsure { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否缴纳公积金
|
|
|
/// </summary>
|
|
|
public bool? IsFund { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否推荐
|
|
|
/// </summary>
|
|
|
public bool? IsRecommend { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否住宿
|
|
|
/// </summary>
|
|
|
public bool? IsStay { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 车牌号
|
|
|
/// </summary>
|
|
|
[Display(Name = "CarNo"), Description("车牌号"), MaxLength(32, ErrorMessage = "车牌号 不能超过 32 个字符")]
|
|
|
public string CarNo { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 标签
|
|
|
/// </summary>
|
|
|
[Display(Name = "Tags"), Description("标签"), MaxLength(2000, ErrorMessage = "标签 不能超过 2000 个字符")]
|
|
|
public string Tags { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 状态
|
|
|
/// </summary>
|
|
|
[Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")]
|
|
|
public string Status { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 工作年限
|
|
|
/// </summary>
|
|
|
[Display(Name = "WorkYears"), Description("工作年限"), Column(TypeName = "decimal(3,1)")]
|
|
|
public decimal? WorkYears { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 薪资区间
|
|
|
/// </summary>
|
|
|
[Display(Name = "SalaryPeriod"), Description("薪资区间"), MaxLength(32, ErrorMessage = "薪资区间 不能超过 32 个字符")]
|
|
|
public string SalaryPeriod { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 申请状态
|
|
|
/// </summary>
|
|
|
[Display(Name = "ApplicationStatus"), Description("申请状态"), MaxLength(32, ErrorMessage = "申请状态 不能超过 32 个字符")]
|
|
|
public string ApplicationStatus { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 申请时间
|
|
|
/// </summary>
|
|
|
public DateTime? ApplicationTime { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 职称类型/级别
|
|
|
/// </summary>
|
|
|
[Display(Name = "TitleType"), Description("职称类型/级别"), MaxLength(32, ErrorMessage = "职称类型/级别 不能超过 32 个字符")]
|
|
|
public string TitleType { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 直间接
|
|
|
/// </summary>
|
|
|
[Display(Name = "StaffType1"), Description("直间接"), MaxLength(32, ErrorMessage = "直间接 不能超过 32 个字符")]
|
|
|
public string StaffType1 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 不合适原因
|
|
|
/// </summary>
|
|
|
[Display(Name = "FailInterviewReason"), Description("不合适原因"), MaxLength(256, ErrorMessage = "不合适原因 不能超过 256 个字符")]
|
|
|
public string FailInterviewReason { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 加入回收站时间
|
|
|
/// </summary>
|
|
|
public DateTime? RecycledTime { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 招聘渠道
|
|
|
/// </summary>
|
|
|
[Display(Name = "Channel"), Description("招聘渠道"), MaxLength(32, ErrorMessage = "招聘渠道 不能超过 32 个字符")]
|
|
|
public string Channel { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 备注
|
|
|
/// </summary>
|
|
|
[Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
|
|
|
public string RemarkSz { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 默认标志
|
|
|
/// </summary>
|
|
|
public int? IsDefault { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段1
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
|
|
|
public string Reverse1 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段2
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
|
|
|
public string Reverse2 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段3
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
|
|
|
public string Reverse3 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段4
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
|
|
|
public string Reverse4 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段5
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
|
|
|
public string Reverse5 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段6
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
|
|
|
public string Reverse6 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段7
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
|
|
|
public string Reverse7 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段8
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
|
|
|
public string Reverse8 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段9
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
|
|
|
public string Reverse9 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段10
|
|
|
/// </summary>
|
|
|
[Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
|
|
|
public string Reverse10 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段11
|
|
|
/// </summary>
|
|
|
public int? ReverseI1 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 预留字段12
|
|
|
/// </summary>
|
|
|
public int? ReverseI2 { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否同步至人事资料
|
|
|
/// </summary>
|
|
|
public bool? IsSyncToStaff { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 特殊饮食
|
|
|
/// </summary>
|
|
|
[Display(Name = "SpecialDiet"), Description("特殊饮食"), MaxLength(256, ErrorMessage = "特殊饮食 不能超过 256 个字符")]
|
|
|
public string SpecialDiet { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 员工ID
|
|
|
/// </summary>
|
|
|
public int? StaffId { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Offer文件路径
|
|
|
/// </summary>
|
|
|
[Display(Name = "OfferFileUrl"), Description("Offer文件路径"), MaxLength(256, ErrorMessage = "Offer文件路径 不能超过 256 个字符")]
|
|
|
public string OfferFileUrl { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 应聘部门
|
|
|
/// </summary>
|
|
|
[Display(Name = "DepartmentName"), Description("应聘部门"), MaxLength(32, ErrorMessage = "应聘部门 不能超过 32 个字符")]
|
|
|
public string DepartmentName { get; set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 应聘岗位
|
|
|
/// </summary>
|
|
|
[Display(Name = "PositionName"), Description("应聘岗位"), MaxLength(32, ErrorMessage = "应聘岗位 不能超过 32 个字符")]
|
|
|
public string PositionName { get; set; }
|
|
|
}
|
|
|
|