package com.ywt.mg.domain.entities;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 数字营销-任务申请验收表
 */
@Table(name = "marketing_apply")
@Entity
public class MarketingApply implements Serializable {
  private static final long serialVersionUID = 1L;

  /**
   * 主键id
   */
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "id", insertable = false, nullable = false)
  private Integer id;

  /**
   * 任务表ID，对应 marketing_project 表ID
   */
  @Column(name = "marketing_project_id", nullable = false)
  private Integer marketingProjectId;

  /**
   * 用户的工种资料IDs, marketing_job_type_user 表IDs
   */
  @Column(name = "marketing_job_type_user_ids")
  private String marketingJobTypeUserIds;

  /**
   * 任务编号
   */
  @Column(name = "biz_no", nullable = false)
  private String bizNo;

  /**
   * 任务名称
   */
  @Column(name = "name", nullable = false)
  private String name;

  /**
   * 任务类型ID，对应 sys_dict_type_item 表ID
   */
  @Column(name = "project_type_id", nullable = false)
  private String projectTypeId;

  /**
   * 任务类型名称，对应 sys_dict_type_item 表（type_code：marketing_project_type） item_name
   */
  @Column(name = "project_type_name", nullable = false)
  private String projectTypeName = "";

  /**
   * 验收资料备注
   */
  @Column(name = "material_acceptance_remark")
  private String materialAcceptanceRemark = "";

  /**
   * 申请人ID，对应user表ID
   */
  @Column(name = "apply_user_id", nullable = false)
  private Integer applyUserId = 0;

  /**
   * 申请人
   */
  @Column(name = "apply_name", nullable = false)
  private String applyName = "";

  /**
   * 申请手机号
   */
  @Column(name = "apply_mobile", nullable = false)
  private String applyMobile = "";

  /**
   * 任务申请审核状态，0-待审核、1-审核通过、2-审核不通过
   */
  @Column(name = "apply_audit_status")
  private Integer applyAuditStatus = 0;

  /**
   * 任务申请审核备注
   */
  @Column(name = "apply_audit_remark")
  private String applyAuditRemark = "";

  /**
   * 资料验收审核状态，0-待审核、1-审核通过、2-审核不通过
   */
  @Column(name = "material_acceptance_status")
  private Integer materialAcceptanceStatus = 0;

  /**
   * 资料验收审核状态备注
   */
  @Column(name = "material_acceptance_audit_remark")
  private String materialAcceptanceAuditRemark = "";

  /**
   * 是否删除，0-否，1-是
   */
  @Column(name = "deleted", nullable = false)
  private Integer deleted = 0;

  /**
   * 创建时间
   */
  @Column(name = "create_time", nullable = false)
  private Date createTime;

  /**
   * 修改时间
   */
  @Column(name = "update_time", nullable = false)
  private Date updateTime;

  /**
   * 审核人姓名
   */
  @Column(name = "check_name")
  private String checkName;

  /**
   * 验收人姓名
   */
  @Column(name = "accept_name")
  private String acceptName;

  /**
   * 上一次申请的id，对应marketing_apply 主键 id
   */
  @Column(name = "before_apply_id")
  private Integer beforeApplyId;

  /**
   * 企业id
   */
  @Column(name = "enterprise_id")
  private Integer enterpriseId;

  /**
   * 是否需要认证资料，0-否，1-是
   */
  @Column(name = "need_certification")
  private Integer needCertification = 0;

  /**
   * 提交验收资料时间时间
   */
  @Column(name = "submit_time")
  private Date submitTime;

  /**
   * 年龄要求，如：20岁≤年龄≤40岁
   */
  @Column(name = "apply_age_requirements")
  private String applyAgeRequirements;

  /**
   * 经验要求
   */
  @Column(name = "apply_experience_requirements")
  private String applyExperienceRequirements;

  /**
   * 学历要求名称，中间用","隔开，对应 sys_dict_type_item 表（type_code：marketing_degree_type） item_name
   */
  @Column(name = "degree_type_name")
  private String degreeTypeName;

  /**
   * 发布时间
   */
  @Column(name = "release_time")
  private Date releaseTime;

  /**
   * 截止时间
   */
  @Column(name = "end_time")
  private Date endTime;

  /**
   * 工作方式名称，对应 sys_dict_type_item 表（type_code：marketing_work_way） item_name
   */
  @Column(name = "marketing_work_way_name")
  private String marketingWorkWayName;

  /**
   * 工作时间名称，对应 sys_dict_type_item 表（type_code：marketing_work_time） item_name
   */
  @Column(name = "marketing_work_time_name")
  private String marketingWorkTimeName;

  /**
   * 任务周期-开始时间
   */
  @Column(name = "task_cycle_start")
  private Date taskCycleStart;

  /**
   * 任务周期-截止时间
   */
  @Column(name = "task_cycle_end")
  private Date taskCycleEnd;

  /**
   * 项目备注
   */
  @Column(name = "project_remark")
  private String projectRemark;

  /**
   * 是否正常，0-正常，1-禁用
   */
  @Column(name = "project_status")
  private Integer projectStatus = 0;

  /**
   * 项目手机号
   */
  @Column(name = "project_mobile")
  private String projectMobile = "";

  /**
   * 任务描述
   */
  @Column(name = "project_describe")
  private String projectDescribe;

  /**
   * 金额，格式：2k~4k、面谈等
   */
  @Column(name = "total")
  private String total = "";

  /**
   * 名额，如：100人
   */
  @Column(name = "places")
  private String places = "";

  /**
   * 性别要求名称，对应 sys_dict_type_item 表（type_code：marketing_gender_requirements） item_name
   */
  @Column(name = "apply_gender_requirements_name")
  private String applyGenderRequirementsName;

  /**
   * 附件id, 对应marketing_image 主键id
   */
  @Column(name = "file_ids")
  private String fileIds;

  /**
   * 工作地点
   */
  @Column(name = "work_address")
  private String workAddress = "";

  /**
   * 创建企业
   */
  @Column(name = "enterprise_name")
  private String enterpriseName;

  /**
   * 工种详情
   */
  @Column(name = "job_detail")
  private String jobDetail;

  /**
   * 辨别是否是后台上传的验收资料，0为用户上传，1为后台上传
   */
  @Column(name = "upload")
  private Integer upload = 0;

  /**
   * 主键id
   */
  public Integer getId() {
    return id;
  }

  /**
   * 主键id
   */
  public void setId(Integer id) {
    this.id = id;
  }

  /**
   * 任务表ID，对应 marketing_project 表ID
   */
  public Integer getMarketingProjectId() {
    return marketingProjectId;
  }

  /**
   * 任务表ID，对应 marketing_project 表ID
   */
  public void setMarketingProjectId(Integer marketingProjectId) {
    this.marketingProjectId = marketingProjectId;
  }

  /**
   * 用户的工种资料IDs, marketing_job_type_user 表IDs
   */
  public String getMarketingJobTypeUserIds() {
    return marketingJobTypeUserIds;
  }

  /**
   * 用户的工种资料IDs, marketing_job_type_user 表IDs
   */
  public void setMarketingJobTypeUserIds(String marketingJobTypeUserIds) {
    this.marketingJobTypeUserIds = marketingJobTypeUserIds;
  }

  /**
   * 任务编号
   */
  public String getBizNo() {
    return bizNo;
  }

  /**
   * 任务编号
   */
  public void setBizNo(String bizNo) {
    this.bizNo = bizNo;
  }

  /**
   * 任务名称
   */
  public String getName() {
    return name;
  }

  /**
   * 任务名称
   */
  public void setName(String name) {
    this.name = name;
  }

  /**
   * 任务类型ID，对应 sys_dict_type_item 表ID
   */
  public String getProjectTypeId() {
    return projectTypeId;
  }

  /**
   * 任务类型ID，对应 sys_dict_type_item 表ID
   */
  public void setProjectTypeId(String projectTypeId) {
    this.projectTypeId = projectTypeId;
  }

  /**
   * 任务类型名称，对应 sys_dict_type_item 表（type_code：marketing_project_type） item_name
   */
  public String getProjectTypeName() {
    return projectTypeName;
  }

  /**
   * 任务类型名称，对应 sys_dict_type_item 表（type_code：marketing_project_type） item_name
   */
  public void setProjectTypeName(String projectTypeName) {
    this.projectTypeName = projectTypeName;
  }

  /**
   * 验收资料备注
   */
  public String getMaterialAcceptanceRemark() {
    return materialAcceptanceRemark;
  }

  /**
   * 验收资料备注
   */
  public void setMaterialAcceptanceRemark(String materialAcceptanceRemark) {
    this.materialAcceptanceRemark = materialAcceptanceRemark;
  }

  /**
   * 申请人ID，对应user表ID
   */
  public Integer getApplyUserId() {
    return applyUserId;
  }

  /**
   * 申请人ID，对应user表ID
   */
  public void setApplyUserId(Integer applyUserId) {
    this.applyUserId = applyUserId;
  }

  /**
   * 申请人
   */
  public String getApplyName() {
    return applyName;
  }

  /**
   * 申请人
   */
  public void setApplyName(String applyName) {
    this.applyName = applyName;
  }

  /**
   * 申请手机号
   */
  public String getApplyMobile() {
    return applyMobile;
  }

  /**
   * 申请手机号
   */
  public void setApplyMobile(String applyMobile) {
    this.applyMobile = applyMobile;
  }

  /**
   * 任务申请审核状态，0-待审核、1-审核通过、2-审核不通过
   */
  public Integer getApplyAuditStatus() {
    return applyAuditStatus;
  }

  /**
   * 任务申请审核状态，0-待审核、1-审核通过、2-审核不通过
   */
  public void setApplyAuditStatus(Integer applyAuditStatus) {
    this.applyAuditStatus = applyAuditStatus;
  }

  /**
   * 任务申请审核备注
   */
  public String getApplyAuditRemark() {
    return applyAuditRemark;
  }

  /**
   * 任务申请审核备注
   */
  public void setApplyAuditRemark(String applyAuditRemark) {
    this.applyAuditRemark = applyAuditRemark;
  }

  /**
   * 资料验收审核状态，0-待审核、1-审核通过、2-审核不通过
   */
  public Integer getMaterialAcceptanceStatus() {
    return materialAcceptanceStatus;
  }

  /**
   * 资料验收审核状态，0-待审核、1-审核通过、2-审核不通过
   */
  public void setMaterialAcceptanceStatus(Integer materialAcceptanceStatus) {
    this.materialAcceptanceStatus = materialAcceptanceStatus;
  }

  /**
   * 资料验收审核状态备注
   */
  public String getMaterialAcceptanceAuditRemark() {
    return materialAcceptanceAuditRemark;
  }

  /**
   * 资料验收审核状态备注
   */
  public void setMaterialAcceptanceAuditRemark(String materialAcceptanceAuditRemark) {
    this.materialAcceptanceAuditRemark = materialAcceptanceAuditRemark;
  }

  /**
   * 是否删除，0-否，1-是
   */
  public Integer getDeleted() {
    return deleted;
  }

  /**
   * 是否删除，0-否，1-是
   */
  public void setDeleted(Integer deleted) {
    this.deleted = deleted;
  }

  /**
   * 创建时间
   */
  public Date getCreateTime() {
    return createTime;
  }

  /**
   * 创建时间
   */
  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  /**
   * 修改时间
   */
  public Date getUpdateTime() {
    return updateTime;
  }

  /**
   * 修改时间
   */
  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  /**
   * 审核人姓名
   */
  public String getCheckName() {
    return checkName;
  }

  /**
   * 审核人姓名
   */
  public void setCheckName(String checkName) {
    this.checkName = checkName;
  }

  /**
   * 验收人姓名
   */
  public String getAcceptName() {
    return acceptName;
  }

  /**
   * 验收人姓名
   */
  public void setAcceptName(String acceptName) {
    this.acceptName = acceptName;
  }

  /**
   * 上一次申请的id，对应marketing_apply 主键 id
   */
  public Integer getBeforeApplyId() {
    return beforeApplyId;
  }

  /**
   * 上一次申请的id，对应marketing_apply 主键 id
   */
  public void setBeforeApplyId(Integer beforeApplyId) {
    this.beforeApplyId = beforeApplyId;
  }

  /**
   * 企业id
   */
  public Integer getEnterpriseId() {
    return enterpriseId;
  }

  /**
   * 企业id
   */
  public void setEnterpriseId(Integer enterpriseId) {
    this.enterpriseId = enterpriseId;
  }

  /**
   * 是否需要认证资料，0-否，1-是
   */
  public Integer getNeedCertification() {
    return needCertification;
  }

  /**
   * 是否需要认证资料，0-否，1-是
   */
  public void setNeedCertification(Integer needCertification) {
    this.needCertification = needCertification;
  }

  /**
   * 提交验收资料时间时间
   */
  public Date getSubmitTime() {
    return submitTime;
  }

  /**
   * 提交验收资料时间时间
   */
  public void setSubmitTime(Date submitTime) {
    this.submitTime = submitTime;
  }

  /**
   * 年龄要求，如：20岁≤年龄≤40岁
   */
  public String getApplyAgeRequirements() {
    return applyAgeRequirements;
  }

  /**
   * 年龄要求，如：20岁≤年龄≤40岁
   */
  public void setApplyAgeRequirements(String applyAgeRequirements) {
    this.applyAgeRequirements = applyAgeRequirements;
  }

  /**
   * 经验要求
   */
  public String getApplyExperienceRequirements() {
    return applyExperienceRequirements;
  }

  /**
   * 经验要求
   */
  public void setApplyExperienceRequirements(String applyExperienceRequirements) {
    this.applyExperienceRequirements = applyExperienceRequirements;
  }

  /**
   * 学历要求名称，中间用","隔开，对应 sys_dict_type_item 表（type_code：marketing_degree_type） item_name
   */
  public String getDegreeTypeName() {
    return degreeTypeName;
  }

  /**
   * 学历要求名称，中间用","隔开，对应 sys_dict_type_item 表（type_code：marketing_degree_type） item_name
   */
  public void setDegreeTypeName(String degreeTypeName) {
    this.degreeTypeName = degreeTypeName;
  }

  /**
   * 发布时间
   */
  public Date getReleaseTime() {
    return releaseTime;
  }

  /**
   * 发布时间
   */
  public void setReleaseTime(Date releaseTime) {
    this.releaseTime = releaseTime;
  }

  /**
   * 截止时间
   */
  public Date getEndTime() {
    return endTime;
  }

  /**
   * 截止时间
   */
  public void setEndTime(Date endTime) {
    this.endTime = endTime;
  }

  /**
   * 工作方式名称，对应 sys_dict_type_item 表（type_code：marketing_work_way） item_name
   */
  public String getMarketingWorkWayName() {
    return marketingWorkWayName;
  }

  /**
   * 工作方式名称，对应 sys_dict_type_item 表（type_code：marketing_work_way） item_name
   */
  public void setMarketingWorkWayName(String marketingWorkWayName) {
    this.marketingWorkWayName = marketingWorkWayName;
  }

  /**
   * 工作时间名称，对应 sys_dict_type_item 表（type_code：marketing_work_time） item_name
   */
  public String getMarketingWorkTimeName() {
    return marketingWorkTimeName;
  }

  /**
   * 工作时间名称，对应 sys_dict_type_item 表（type_code：marketing_work_time） item_name
   */
  public void setMarketingWorkTimeName(String marketingWorkTimeName) {
    this.marketingWorkTimeName = marketingWorkTimeName;
  }

  /**
   * 任务周期-开始时间
   */
  public Date getTaskCycleStart() {
    return taskCycleStart;
  }

  /**
   * 任务周期-开始时间
   */
  public void setTaskCycleStart(Date taskCycleStart) {
    this.taskCycleStart = taskCycleStart;
  }

  /**
   * 任务周期-截止时间
   */
  public Date getTaskCycleEnd() {
    return taskCycleEnd;
  }

  /**
   * 任务周期-截止时间
   */
  public void setTaskCycleEnd(Date taskCycleEnd) {
    this.taskCycleEnd = taskCycleEnd;
  }

  /**
   * 项目备注
   */
  public String getProjectRemark() {
    return projectRemark;
  }

  /**
   * 项目备注
   */
  public void setProjectRemark(String projectRemark) {
    this.projectRemark = projectRemark;
  }

  /**
   * 是否正常，0-正常，1-禁用
   */
  public Integer getProjectStatus() {
    return projectStatus;
  }

  /**
   * 是否正常，0-正常，1-禁用
   */
  public void setProjectStatus(Integer projectStatus) {
    this.projectStatus = projectStatus;
  }

  /**
   * 项目手机号
   */
  public String getProjectMobile() {
    return projectMobile;
  }

  /**
   * 项目手机号
   */
  public void setProjectMobile(String projectMobile) {
    this.projectMobile = projectMobile;
  }

  /**
   * 任务描述
   */
  public String getProjectDescribe() {
    return projectDescribe;
  }

  /**
   * 任务描述
   */
  public void setProjectDescribe(String projectDescribe) {
    this.projectDescribe = projectDescribe;
  }

  /**
   * 金额，格式：2k~4k、面谈等
   */
  public String getTotal() {
    return total;
  }

  /**
   * 金额，格式：2k~4k、面谈等
   */
  public void setTotal(String total) {
    this.total = total;
  }

  /**
   * 名额，如：100人
   */
  public String getPlaces() {
    return places;
  }

  /**
   * 名额，如：100人
   */
  public void setPlaces(String places) {
    this.places = places;
  }

  /**
   * 性别要求名称，对应 sys_dict_type_item 表（type_code：marketing_gender_requirements） item_name
   */
  public String getApplyGenderRequirementsName() {
    return applyGenderRequirementsName;
  }

  /**
   * 性别要求名称，对应 sys_dict_type_item 表（type_code：marketing_gender_requirements） item_name
   */
  public void setApplyGenderRequirementsName(String applyGenderRequirementsName) {
    this.applyGenderRequirementsName = applyGenderRequirementsName;
  }

  /**
   * 附件id, 对应marketing_image 主键id
   */
  public String getFileIds() {
    return fileIds;
  }

  /**
   * 附件id, 对应marketing_image 主键id
   */
  public void setFileIds(String fileIds) {
    this.fileIds = fileIds;
  }

  /**
   * 工作地点
   */
  public String getWorkAddress() {
    return workAddress;
  }

  /**
   * 工作地点
   */
  public void setWorkAddress(String workAddress) {
    this.workAddress = workAddress;
  }

  /**
   * 创建企业
   */
  public String getEnterpriseName() {
    return enterpriseName;
  }

  /**
   * 创建企业
   */
  public void setEnterpriseName(String enterpriseName) {
    this.enterpriseName = enterpriseName;
  }

  /**
   * 工种详情
   */
  public String getJobDetail() {
    return jobDetail;
  }

  /**
   * 工种详情
   */
  public void setJobDetail(String jobDetail) {
    this.jobDetail = jobDetail;
  }

  /**
   * 辨别是否是后台上传的验收资料，0为用户上传，1为后台上传
   */
  public Integer getUpload() {
    return upload;
  }

  /**
   * 辨别是否是后台上传的验收资料，0为用户上传，1为后台上传
   */
  public void setUpload(Integer upload) {
    this.upload = upload;
  }

  public String toString() {
    return "MarketingApply{id=" + id + 
      ", marketingProjectId=" + marketingProjectId + 
      ", marketingJobTypeUserIds=" + marketingJobTypeUserIds + 
      ", bizNo=" + bizNo + 
      ", name=" + name + 
      ", projectTypeId=" + projectTypeId + 
      ", projectTypeName=" + projectTypeName + 
      ", materialAcceptanceRemark=" + materialAcceptanceRemark + 
      ", applyUserId=" + applyUserId + 
      ", applyName=" + applyName + 
      ", applyMobile=" + applyMobile + 
      ", applyAuditStatus=" + applyAuditStatus + 
      ", applyAuditRemark=" + applyAuditRemark + 
      ", materialAcceptanceStatus=" + materialAcceptanceStatus + 
      ", materialAcceptanceAuditRemark=" + materialAcceptanceAuditRemark + 
      ", deleted=" + deleted + 
      ", createTime=" + createTime + 
      ", updateTime=" + updateTime + 
      ", checkName=" + checkName + 
      ", acceptName=" + acceptName + 
      ", beforeApplyId=" + beforeApplyId + 
      ", enterpriseId=" + enterpriseId + 
      ", needCertification=" + needCertification + 
      ", submitTime=" + submitTime + 
      ", applyAgeRequirements=" + applyAgeRequirements + 
      ", applyExperienceRequirements=" + applyExperienceRequirements + 
      ", degreeTypeName=" + degreeTypeName + 
      ", releaseTime=" + releaseTime + 
      ", endTime=" + endTime + 
      ", marketingWorkWayName=" + marketingWorkWayName + 
      ", marketingWorkTimeName=" + marketingWorkTimeName + 
      ", taskCycleStart=" + taskCycleStart + 
      ", taskCycleEnd=" + taskCycleEnd + 
      ", projectRemark=" + projectRemark + 
      ", projectStatus=" + projectStatus + 
      ", projectMobile=" + projectMobile + 
      ", projectDescribe=" + projectDescribe + 
      ", total=" + total + 
      ", places=" + places + 
      ", applyGenderRequirementsName=" + applyGenderRequirementsName + 
      ", fileIds=" + fileIds + 
      ", workAddress=" + workAddress + 
      ", enterpriseName=" + enterpriseName + 
      ", jobDetail=" + jobDetail + 
      ", upload=" + upload + 
      "}";
  }
}