/*
 *    Copyright (c) 2018-2025, lengleng All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the yifu4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: lengleng (wangiegie@gmail.com)
 */

package com.yifu.cloud.plus.v1.yifu.archives.entity;

import cn.hutool.core.date.DateTime;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 合同续签预派单信息
 *
 * @author fxj
 * @date 2026-02-05 15:45:40
 */
@Data
@TableName("t_employee_contract_pre_new")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "合同续签预派单信息")
public class TEmployeeContractPreNew extends BaseEntity {

	/**
	 * id
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@ExcelProperty("id")
	@Schema(description = "id")
	private String id;
	/**
	 * 项目名称
	 */
	@ExcelAttribute(name = "项目名称", maxLength = 50)
	@Length(max = 50, message = "项目名称不能超过50个字符")
	@ExcelProperty("项目名称")
	@Schema(description = "项目名称")
	private String deptName;
	/**
	 * 项目编码
	 */
	@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码不能为空", maxLength = 30)
	@NotBlank(message = "项目编码不能为空")
	@Length(max = 30, message = "项目编码不能超过30个字符")
	@ExcelProperty("项目编码")
	@Schema(description = "项目编码")
	private String deptNo;
	/**
	 * 项目id
	 */
	@ExcelAttribute(name = "项目id", maxLength = 36)
	@Length(max = 36, message = "项目id不能超过36个字符")
	@ExcelProperty("项目id")
	@Schema(description = "项目id")
	private String deptId;
	/**
	 * 员工姓名
	 */
	@ExcelAttribute(name = "员工姓名", maxLength = 30)
	@Length(max = 30, message = "员工姓名不能超过30个字符")
	@ExcelProperty("员工姓名")
	@Schema(description = "员工姓名")
	private String employeeName;
	/**
	 * 身份证号
	 */
	@ExcelAttribute(name = "身份证号", isNotEmpty = true, errorInfo = "身份证号不能为空", maxLength = 18)
	@NotBlank(message = "身份证号不能为空")
	@Length(max = 18, message = "身份证号不能超过18个字符")
	@ExcelProperty("身份证号")
	@Schema(description = "身份证号")
	private String empIdcard;
	/**
	 * 手机号码
	 */
	@ExcelAttribute(name = "手机号码", maxLength = 11)
	@Length(max = 11, message = "手机号码不能超过11个字符")
	@ExcelProperty("手机号码")
	@Schema(description = "手机号码")
	private String empPhone;
	/**
	 * 员工类型
	 */
	@ExcelAttribute(name = "员工类型", maxLength = 30)
	@Length(max = 30, message = "员工类型不能超过30个字符")
	@ExcelProperty("员工类型")
	@Schema(description = "员工类型")
	private String employeeNature;
	/**
	 * 就职岗位
	 */
	@ExcelAttribute(name = "就职岗位", maxLength = 50)
	@Length(max = 50, message = "就职岗位不能超过50个字符")
	@ExcelProperty("就职岗位")
	@Schema(description = "就职岗位")
	private String position;
	/**
	 * 入职日期
	 */
	@ExcelAttribute(name = "入职日期", isDate = true)
	@ExcelProperty("入职日期")
	@Schema(description = "入职日期")
	private Date joinLeaveDate;
	/**
	 * 前端客服
	 */
	@ExcelAttribute(name = "前端客服", maxLength = 30)
	@Length(max = 30, message = "前端客服不能超过30个字符")
	@ExcelProperty("前端客服")
	@Schema(description = "前端客服")
	private String customerUsername;
	/**
	 * 前端客服登录名
	 */
	@ExcelAttribute(name = "前端客服登录名", maxLength = 30)
	@Length(max = 30, message = "前端客服登录名不能超过30个字符")
	@ExcelProperty("前端客服登录名")
	@Schema(description = "前端客服登录名")
	private String customerUserLoginname;
	/**
	 * 签署方式1线下签0电子签
	 */
	@ExcelAttribute(name = "签署方式", maxLength = 1)
	@Length(max = 1, message = "签署方式不能超过1个字符")
	@ExcelProperty("签署方式")
	@Schema(description = "签署方式1线下签0电子签")
	private String signType;
	/**
	 * 合同签订内容：0项目配置、1自定义、2上一份合同
	 */
	@ExcelAttribute(name = "合同签订内容", maxLength = 100)
	@Length(max = 100, message = "合同签订内容同不能超过100个字符")
	@ExcelProperty("合同签订内容")
	@Schema(description = "合同签订内容：0项目配置、1自定义、2上一份合同")
	private String contractContent;
	/**
	 * 法大大模版名称
	 */
	@ExcelAttribute(name = "法大大模版名称", maxLength = 100)
	@Length(max = 100, message = "法大大模版名称不能超过100个字符")
	@ExcelProperty("法大大模版名称")
	@Schema(description = "法大大模版名称")
	private String fadadaTemplate;
	/**
	 * 数据来源1客户端 2客服端
	 */
	@ExcelAttribute(name = "数据来源", maxLength = 1)
	@Length(max = 1, message = "数据来源不能超过1个字符")
	@ExcelProperty("数据来源")
	@Schema(description = "数据来源1客户端 2客服端")
	private String dataSource;
	/**
	 * 续签状态,0待确认,1待发起,2线下签待审核,3线下签审核不通过4线下签待归档5发起失败6签署中7签署失败8电子待归档9（已归档-电子签+线下签）已完结10撤销签署
	 */
	@ExcelAttribute(name = "续签状态", maxLength = 2)
	@Length(max = 2, message = "续签状态不能超过2个字符")
	@ExcelProperty("续签状态")
	@Schema(description = "续签状态,0待确认,1待发起,2线下签待审核,3线下签审核不通过4线下签待归档5发起失败6签署中7签署失败8电子待归档9（已归档-电子签+线下签）已完结10撤销签署-客服撤销 11撤销签署-系统自动撤销")
	private String processStatus;
	/**
	 * 配置名称
	 */
	@ExcelAttribute(name = "配置名称", maxLength = 100)
	@Length(max = 100, message = "配置名称不能超过100个字符")
	@ExcelProperty("配置名称")
	@Schema(description = "配置名称")
	private String configName;
	/**
	 * 是否允许修改 0是 1否
	 */
	@ExcelAttribute(name = "是否允许修改 0是 1否", maxLength = 1)
	@Length(max = 1, message = "是否允许修改 0是 1否不能超过1个字符")
	@ExcelProperty("是否允许修改 0是 1否")
	@Schema(description = "是否允许修改 0是 1否")
	private String updateFlag;
	/**
	 * 合同类型  标准合同/劳务协议/实习协议/劳务派遣合同/非全日制/其他合同
	 */
	@ExcelAttribute(name = "合同类型", maxLength = 8)
	@Length(max = 8, message = "合同类型不能超过8个字符")
	@ExcelProperty("合同类型")
	@Schema(description = "合同类型  标准合同/劳务协议/实习协议/劳务派遣合同/非全日制/其他合同")
	private String contractType;

	/**
	 * 合同名称  标准合同/劳务协议/实习协议/劳务派遣合同/非全日制/其他合同
	 */
	@ExcelAttribute(name = "合同名称", maxLength = 8)
	@Length(max = 8, message = "合同名称不能超过8个字符")
	@ExcelProperty("合同名称")
	@Schema(description = "合同名称  标准合同/劳务协议/实习协议/劳务派遣合同/非全日制/其他合同")
	private String contractName;
	/**
	 * 签署甲方
	 */
	@ExcelAttribute(name = "签署甲方", maxLength = 50)
	@Length(max = 50, message = "签署甲方不能超过50个字符")
	@ExcelProperty("签署甲方")
	@Schema(description = "签署甲方")
	private String signatory;
	/**
	 * 预计确认时间
	 */
	@ExcelAttribute(name = "预计确认时间", isDate = true)
	@ExcelProperty("预计确认时间")
	@Schema(description = "预计确认时间")
	private Date expectedConfirmTime;
	/**
	 * 预计合同发起时间
	 */
	@ExcelAttribute(name = "预计合同发起时间", isDate = true)
	@ExcelProperty("预计合同发起时间")
	@Schema(description = "预计合同发起时间")
	private Date expectedCollectionTime;

	/**
	 * 续签合同发起时间类型 0 上一份合同到期前一个月  最新更新为：0 上一份合同到期前第5个工作日 1 上一份合同到期后第10个工作日
	 */
	@TableField(exist = false)
	@ExcelAttribute(name = "续签合同发起时间类型 ")
	@ExcelProperty("续签合同发起时间类型 ")
	@Schema(description = "续签合同发起时间类型 0 上一份合同到期前一个月")
	private String renewalDateType;
	/**
	 * 签订类型-续签、新签等
	 */
	@ExcelAttribute(name = "签订类型", maxLength = 20)
	@Length(max = 20, message = "签订类型不能超过20个字符")
	@ExcelProperty("签订类型")
	@Schema(description = "签订类型-续签、新签等")
	private String situation;
	/**
	 * 签订期限 0已完成一定工作任务为期限、1固定期限、2无固定期限
	 */
	@ExcelAttribute(name = "签订期限", maxLength = 1)
	@Length(max = 1, message = "签订期限不能超过1个字符")
	@ExcelProperty("签订期限")
	@Schema(description = "签订期限 0已完成一定工作任务为期限、1固定期限、2无固定期限")
	private String contractTerm;
	/**
	 * 合同开始日期
	 */
	@ExcelAttribute(name = "合同开始日期", isDate = true)
	@ExcelProperty("合同开始日期")
	@Schema(description = "合同开始日期")
	private Date contractStart;

	/**
	 * 合同截止日期类型
	 */
	@ExcelAttribute(name = "合同截止日期类型", maxLength = 1)
	@Length(max = 1, message = "合同截止日期类型不能超过1个字符")
	@ExcelProperty("合同截止日期类型")
	@Schema(description = "合同截止日期类型： 0 合同年限推算 1 同商务合同一致 2 工作任务完成时止 3 指定日期 ")
	private String contractEndType;

	/**
	 * 合同截止日期
	 */
	@ExcelAttribute(name = "合同截止日期", isDate = true)
	@ExcelProperty("合同截止日期")
	@Schema(description = "合同截止日期")
	private Date contractEnd;
	/**
	 * 合同岗位 0 固定岗位 1 等于档案处维护 2 自定义  -冗余字段
	 */
	@ExcelAttribute(name = "合同岗位", maxLength = 1)
	@Length(max = 1, message = "合同岗位不能超过1个字符")
	@ExcelProperty("合同岗位")
	@Schema(description = "合同岗位 0 固定岗位 1 等于档案处维护 2 自定义  -冗余字段")
	private String postType;
	/**
	 * 合同岗位名称
	 */
	@ExcelAttribute(name = "合同岗位名称", maxLength = 50)
	@Length(max = 50, message = "合同岗位名称不能超过50个字符")
	@ExcelProperty("合同岗位名称")
	@Schema(description = "合同岗位名称")
	private String post;
	/**
	 * 工作部门
	 */
	@ExcelAttribute(name = "工作部门", maxLength = 50)
	@Length(max = 50, message = "工作部门不能超过50个字符")
	@ExcelProperty("工作部门")
	@Schema(description = "工作部门")
	private String workingDept;
	/**
	 * 工作地点
	 */
	@ExcelAttribute(name = "工作地点", maxLength = 200)
	@Length(max = 200, message = "工作地点不能超过200个字符")
	@ExcelProperty("工作地点")
	@Schema(description = "工作地点")
	private String workAddress;
	/**
	 * 工时制  0 标准工时 1综合工时 2 不定时工时制
	 */
	@ExcelAttribute(name = "工时制 ", maxLength = 1)
	@Length(max = 1, message = "工时制不能超过1个字符")
	@ExcelProperty("工时制 ")
	@Schema(description = "工时制  0 标准工时 1综合工时 2 不定时工时制")
	private String workingHours;
	/**
	 * 工资形式 1.计时工资 2.计件工资 3.其他
	 */
	@ExcelAttribute(name = "工资形式 ", maxLength = 1)
	@Length(max = 1, message = "工资形式不能超过1个字符")
	@ExcelProperty("工资形式")
	@Schema(description = "工资形式 1.计时工资 2.计件工资 3.其他")
	private String salaryType;
	/**
	 * 其他  (工资形式其他时的工资)
	 */
	@ExcelAttribute(name = "其他  (工资形式其他时的工资)", maxLength = 50)
	@Length(max = 50, message = "其他  (工资形式其他时的工资)不能超过50个字符")
	@ExcelProperty("其他  (工资形式其他时的工资)")
	@Schema(description = "其他  (工资形式其他时的工资)")
	private String otherWage;
	/**
	 * 违约责任（金额）
	 */
	@ExcelAttribute(name = "违约责任（金额）", maxLength = 20)
	@Length(max = 20, message = "违约责任（金额）不能超过20个字符")
	@ExcelProperty("违约责任（金额）")
	@Schema(description = "违约责任（金额）")
	private String defaultAmount;
	/**
	 * 合同年限-年
	 */
	@ExcelAttribute(name = "合同年限-年", maxLength = 50)
	@Length(max = 50, message = "合同年限-年不能超过50个字符")
	@ExcelProperty("合同年限-年")
	@Schema(description = "合同年限-年")
	private String contractDurationYear;
	/**
	 * 合同年限-月
	 */
	@ExcelAttribute(name = "合同年限-月", maxLength = 50)
	@Length(max = 50, message = "合同年限-月不能超过50个字符")
	@ExcelProperty("合同年限-月")
	@Schema(description = "合同年限-月")
	private String contractDurationMonth;

	/**
	 * 劳务费（元/月）
	 */
	@ExcelAttribute(name = "劳务费（元/月）", maxLength = 20)
	@Length(max = 20, message = "劳务费（元/月）不能超过20个字符")
	@ExcelProperty("劳务费（元/月）")
	@Schema(description = "劳务费（元/月）")
	private String laborCost;
	/**
	 * 购买补充保险说明
	 */
	@ExcelAttribute(name = "购买补充保险说明", maxLength = 50)
	@Length(max = 50, message = "购买补充保险说明不能超过50个字符")
	@ExcelProperty("购买补充保险说明")
	@Schema(description = "购买补充保险说明")
	private String riskBuyDesc;
	/**
	 * 计时工资工资标准 元/月
	 */
	@ExcelAttribute(name = "计时工资工资标准 元/月 ", maxLength = 20)
	@Length(max = 20, message = "计时工资工资标准 元/月 不能超过20个字符")
	@ExcelProperty("计时工资工资标准 元/月 ")
	@Schema(description = "计时工资工资标准 元/月 ")
	private String salaryStandardPerHour;
	/**
	 * 计件工资工资标准单价/元
	 */
	@ExcelAttribute(name = "计件工资工资标准单价/元 ", maxLength = 20)
	@Length(max = 20, message = "计件工资工资标准单价/元 不能超过20个字符")
	@ExcelProperty("计件工资工资标准单价/元 ")
	@Schema(description = "计件工资工资标准单价/元 ")
	private String salaryStandardPerPiece;
	/**
	 * 配置id
	 */
	@ExcelAttribute(name = "配置id", maxLength = 36)
	@Length(max = 36, message = "配置id不能超过36个字符")
	@ExcelProperty("配置id")
	@Schema(description = "配置id")
	private String configId;
	/**
	 * 工作方式 0 第一种方式 1 第二种方式
	 */
	@ExcelAttribute(name = "工作方式", maxLength = 5)
	@Length(max = 5, message = "工作方式不能超过5个字符")
	@ExcelProperty("工作方式 ")
	@Schema(description = "工作方式 0 第一种方式 1 第二种方式")
	private String workType;
	/**
	 * 每周工作天数
	 */
	@ExcelAttribute(name = "每周工作天数", maxLength = 20)
	@Length(max = 20, message = "每周工作天数不能超过20个字符")
	@ExcelProperty("每周工作天数")
	@Schema(description = "每周工作天数")
	private String workDayCount;
	/**
	 * 每周工作日
	 */
	@ExcelAttribute(name = "每周工作日", maxLength = 50)
	@Length(max = 50, message = "每周工作日不能超过50个字符")
	@ExcelProperty("每周工作日")
	@Schema(description = "每周工作日")
	private String workDay;
	/**
	 * 每日工作时长
	 */
	@ExcelAttribute(name = "每日工作时长", maxLength = 20)
	@Length(max = 20, message = "每日工作时长不能超过20个字符")
	@ExcelProperty("每日工作时长")
	@Schema(description = "每日工作时长")
	private String workHours;
	/**
	 * 工资结算周期
	 */
	@ExcelAttribute(name = "工资结算周期", maxLength = 20)
	@Length(max = 20, message = "工资结算周期不能超过20个字符")
	@ExcelProperty("工资结算周期")
	@Schema(description = "工资结算周期")
	private String settlementCycle;
	/**
	 * 工资发放时间
	 */
	@ExcelAttribute(name = "工资发放时间", maxLength = 50)
	@Length(max = 50, message = "工资发放时间不能超过50个字符")
	@ExcelProperty("工资发放时间")
	@Schema(description = "工资发放时间")
	private String paymentTime;
	/**
	 * 工资发放方式 0 直接发放/委托银行代发
	 */
	@ExcelAttribute(name = "工资发放方式 ", maxLength = 1)
	@Length(max = 1, message = "工资发放方式不能超过1个字符")
	@ExcelProperty("工资发放方式")
	@Schema(description = "工资发放方式 0 直接发放/委托银行代发")
	private String paymentType;
	/**
	 * 用工单位名称
	 */
	@ExcelAttribute(name = "用工单位名称", maxLength = 50)
	@Length(max = 50, message = "用工单位名称不能超过50个字符")
	@ExcelProperty("用工单位名称")
	@Schema(description = "用工单位名称")
	private String workingCompany;
	/**
	 * 派遣期限-年
	 */
	@ExcelAttribute(name = "派遣期限-年", maxLength = 3)
	@Length(max = 3, message = "派遣期限-年不能超过3个字符")
	@ExcelProperty("派遣期限-年")
	@Schema(description = "派遣期限-年")
	private String dispatchPeriodYear;
	/**
	 * 派遣期限-月
	 */
	@ExcelAttribute(name = "派遣期限-月", maxLength = 3)
	@Length(max = 3, message = "派遣期限-月不能超过3个字符")
	@ExcelProperty("派遣期限-月")
	@Schema(description = "派遣期限-月")
	private String dispatchPeriodMonth;
	/**
	 * 派遣开始日期
	 */
	@ExcelAttribute(name = "派遣开始日期", isDate = true)
	@ExcelProperty("派遣开始日期")
	@Schema(description = "派遣开始日期")
	private Date dispatchPeriodStart;
	/**
	 * 派遣结束日期
	 */
	@ExcelAttribute(name = "派遣结束日期", isDate = true)
	@ExcelProperty("派遣结束日期")
	@Schema(description = "派遣结束日期")
	private Date dispatchPeriodEnd;
	/**
	 * 其他工作时间 （工作方式为第二种方式）
	 */
	@ExcelAttribute(name = "其他工作时间", maxLength = 50)
	@Length(max = 50, message = "其他工作时间不能超过50个字符")
	@ExcelProperty("其他工作时间")
	@Schema(description = "其他工作时间 （工作方式为第二种方式）")
	private String otherWorkDay;
	/**
	 * 实习期限 无/一个月/两个月.../十二个月
	 */
	@ExcelAttribute(name = "实习期限", maxLength = 5)
	@Length(max = 5, message = "实习期限不能超过5个字符")
	@ExcelProperty("实习期限")
	@Schema(description = "实习期限 无/一个月/两个月.../十二个月")
	private String internshipPeriod;
	/**
	 * 实习开始日期
	 */
	@ExcelAttribute(name = "实习开始日期", isDate = true)
	@ExcelProperty("实习开始日期")
	@Schema(description = "实习开始日期")
	private Date internshipPeriodStart;
	/**
	 * 实习结束日期
	 */
	@ExcelAttribute(name = "实习结束日期", isDate = true)
	@ExcelProperty("实习结束日期")
	@Schema(description = "实习结束日期")
	private Date internshipPeriodEnd;
	/**
	 * 是否撤销签署0是1否
	 */
	@ExcelAttribute(name = "是否撤销签署0是1否", maxLength = 1)
	@Length(max = 1, message = "是否撤销签署0是1否不能超过1个字符")
	@ExcelProperty("是否撤销签署0是1否")
	@Schema(description = "是否撤销签署0是1否")
	private String signFlag;
	/**
	 * 异常原因说明
	 */
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	@ExcelAttribute(name = "异常原因说明", maxLength = 200)
	@Length(max = 200, message = "异常原因说明不能超过200个字符")
	@ExcelProperty("异常原因说明")
	@Schema(description = "异常原因说明")
	private String errorInfo;
	/**
	 * 关联合同id
	 */
	@ExcelAttribute(name = "关联合同id", maxLength = 36)
	@Length(max = 36, message = "关联合同id不能超过36个字符")
	@ExcelProperty("关联合同id")
	@Schema(description = "关联合同id")
	private String contractId;
	/**
	 * 撤销签署原因
	 */
	@ExcelAttribute(name = "撤销签署原因", maxLength = 255)
	@Length(max = 255, message = "撤销签署原因不能超过255个字符")
	@ExcelProperty("撤销签署原因")
	@Schema(description = "撤销签署原因")
	private String revokeReason;

	/**
	 * 撤销签署时间
	 */
	@ExcelAttribute(name = "撤销签署时间")
	@ExcelProperty("撤销签署时间")
	@Schema(description = "撤销签署时间")
	private Date revokeTime;
	/**
	 * 发起失败时间
	 */
	@TableField(updateStrategy = FieldStrategy.IGNORED)
	@ExcelAttribute(name = "发起失败时间", isDate = true)
	@ExcelProperty("发起失败时间")
	@Schema(description = "发起失败时间")
	private LocalDateTime errorTime;

	/**
	 * 入职确认选择 0 配置方案内选择、1 自定义 2 配置方案+自定义
	 */
	@ExcelAttribute(name = "入职确认选择", maxLength = 2)
	@Length(max = 2, message = "入职确认选择不能超过2个字符")
	@ExcelProperty("入职确认选择 ")
	@Schema(description = "入职确认选择 0 配置方案内选择、1 自定义 2 配置方案+自定义")
	private String confirmEmpSelect;
	/**
	 * 超时未确认是否触发签署任务(电子签) 0 自动触发 1 不触发  -- 冗余
	 */
	@ExcelAttribute(name = "超时未确认是否触发签署任务(电子签) ", maxLength = 2)
	@Length(max = 2, message = "超时未确认是否触发签署任务(电子签)不触发不能超过2个字符")
	@ExcelProperty("超时未确认是否触发签署任务(电子签)")
	@Schema(description = "超时未确认是否触发签署任务(电子签) 0 自动触发 1 不触发--冗余")
	private String timeoutElecSign;
	/**
	 * 工作任务
	 */
	@ExcelAttribute(name = "工作任务", maxLength = 200)
	@Length(max = 200, message = "工作任务不能超过200个字符")
	@ExcelProperty("工作任务")
	@Schema(description = "工作任务")
	private String task;
	/**
	 * 任务类型： 0 不同员工不同任务自定义 1 所有员工任务相同
	 */
	@ExcelAttribute(name = "任务类型：", maxLength = 2)
	@Length(max = 2, message = "任务类型不能超过2个字符")
	@ExcelProperty("任务类型")
	@Schema(description = "任务类型： 0 不同员工不同任务自定义 1 所有员工任务相同")
	private String taskType;
	/**
	 * 结束任务标准
	 */
	@ExcelAttribute(name = "结束任务标准", maxLength = 200)
	@Length(max = 200, message = "结束任务标准不能超过200个字符")
	@ExcelProperty("结束任务标准")
	@Schema(description = "结束任务标准")
	private String taskEndStandard;
	/**
	 * 是否已签署合同 0是1否
	 */
	@ExcelAttribute(name = "是否已签署合同", maxLength = 1)
	@Length(max = 1, message = "是否已签署合同不能超过1个字符")
	@ExcelProperty("是否已签署合同")
	@Schema(description = "是否已签署合同 0是1否")
	private String contractFlag;
	/**
	 * 业务细分
	 */
	@ExcelAttribute(name = "业务细分", maxLength = 50)
	@Length(max = 50, message = "业务细分不能超过50个字符")
	@ExcelProperty("业务细分")
	@Schema(description = "业务细分")
	private String contractSubName;
	/**
	 * 法大大模版ID
	 */
	@ExcelAttribute(name = "法大大模版ID", maxLength = 100)
	@Length(max = 100, message = "法大大模版ID不能超过100个字符")
	@ExcelProperty("法大大模版ID")
	@Schema(description = "法大大模版ID")
	private String fadadaTemplateId;
	/**
	 * 任务ID
	 */
	@ExcelAttribute(name = "任务ID", maxLength = 100)
	@Length(max = 100, message = "任务ID不能超过100个字符")
	@ExcelProperty("任务ID")
	@Schema(description = "任务ID")
	private String requestId;
	/**
	 * 任务反馈
	 */
	@ExcelAttribute(name = "任务反馈", maxLength = 500)
	@Length(max = 500, message = "任务反馈不能超过500个字符")
	@ExcelProperty("任务反馈")
	@Schema(description = "任务反馈")
	private String requestMsg;
	/**
	 * 超期标识 0已超期 1未超期
	 */
	@ExcelAttribute(name = "超期标识", maxLength = 1)
	@Length(max = 1, message = "超期标识不能超过1个字符")
	@ExcelProperty("超期标识 ")
	@Schema(description = "超期标识 0已超期 1未超期")
	private String overFlag;
	/**
	 * 电子签转线下签的原因
	 */
	@ExcelAttribute(name = "电子签转线下签的原因", maxLength = 200)
	@Length(max = 200, message = "电子签转线下签的原因不能超过200个字符")
	@ExcelProperty("电子签转线下签的原因")
	@Schema(description = "电子签转线下签的原因")
	private String changeTypeReason;
	/**
	 * 电子签转线下签的操作人
	 */
	@ExcelAttribute(name = "电子签转线下签的操作人", maxLength = 50)
	@Length(max = 50, message = "电子签转线下签的操作人不能超过50个字符")
	@ExcelProperty("电子签转线下签的操作人")
	@Schema(description = "电子签转线下签的操作人")
	private String changeTypeUser;
	/**
	 * 电子签转线下签时间
	 */
	@ExcelAttribute(name = "电子签转线下签时间", isDate = true)
	@ExcelProperty("电子签转线下签时间")
	@Schema(description = "电子签转线下签时间")
	private Date changeTypeTime;
	/**
	 * 催办标识 0已催办 1未催办
	 */
	@ExcelAttribute(name = "催办标识", maxLength = 1)
	@Length(max = 1, message = "催办标识 不能超过1个字符")
	@ExcelProperty("催办标识 0已催办 1未催办")
	@Schema(description = "催办标识 0已催办 1未催办")
	private String isUrg;

	/**
	 * 试用期工资(元/月)
	 */
	@ExcelAttribute(name = "试用期工资(元/月)", maxLength = 20)
	@Length(max = 20, message = "试用期工资(元/月)不能超过20个字符")
	@ExcelProperty("试用期工资(元/月)")
	@Schema(description = "试用期工资(元/月)")
	private String workingReward;

	// 紧急联系人表
	@TableField(exist = false)
	@ExcelAttribute(name = "紧急联系人")
	private String contactEmpName;
	@TableField(exist = false)
	@ExcelAttribute(name = "紧急联系人电话")
	private String contactTel;
	// relationProvince,relationCity,relationTown
	// address
	@TableField(exist = false)
	@ExcelAttribute(name = "紧急联系人地址")
	private String contactAddress;

	// 电子签推送需要的新字段：——START
	@TableField(exist = false)
	@ExcelAttribute(name = "户籍所在地")
	private String huArea;

	// contactProvince,contactCity,contactTown,
	// contactAddress
	@TableField(exist = false)
	@ExcelAttribute(name = "通讯地址")
	private String contactArea;

	@TableField(exist = false)
	@ExcelAttribute(name = "邮箱")
	private String empEmail;

	// 1.7.22版本（档案字段）
	@TableField(exist = false)
	@ExcelProperty("微信号")
	private String weChatId;

	// MVP1.7.22版本新字段：
	@ExcelAttribute(name = "发薪日", maxLength = 2)
	@Length(max = 2, message = "发薪日不能超过2个字符")
	@ExcelProperty("发薪日")
	@Schema(description = "发薪日")
	private String salaryDay;

}
