package com.yifu.cloud.plus.v1.yifu.social.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @Author hgw
 * @Description 社保士兵自动办理导出
 * @Date 2024-5-13 10:56:51
 * @Param
 * @return
 **/
@Data
public class SocialSoldierExportVo implements Serializable {

	////@ExcelAttribute(name = "派单类型", errorInfo = "派单类型不能为空", maxLength = 1, isDataId = true, readConverterExp = "0=派增,1=派减", needExport = true)
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("派单类型")
	private String type;

	@Schema(description = "派单办理状态")
	//@ExcelAttribute(name = "办理状态", readConverterExp = "0=未办理,1=全部办理成功,2=全部办理失败,3=部分办理成功,4=办理中", needExport = true)
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("派单办理状态")
	private String socialHandleStatus;

	//@ExcelAttribute(name = "养老工伤失业-办理状态", readConverterExp = "0=无,1=待办理,2=自动办理中,3=继续办理,4=中止办理,5=人工处理,6=成功", needExport = true)
	@Schema(description = "养老工伤失业-办理状态")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("养老工伤失业-办理状态")
	private String ygsHandleStatus;

	//@ExcelAttribute(name = "医保生育大病-办理状态", readConverterExp = "0=无,1=待办理,2=自动办理中,3=继续办理,4=中止办理,5=人工处理,6=成功", needExport = true)
	@Schema(description = "医保生育大病-办理状态")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("医保生育大病-办理状态")
	private String ysdHandleStatus;

	//@ExcelAttribute(name = "养老工伤失业-失败原因", maxLength = 500, needExport = true)
	@Schema(description = "养老工伤失业-失败原因")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("养老工伤失业-失败原因")
	private String ygsRemark;

	//@ExcelAttribute(name = "医保生育大病-失败原因", maxLength = 500, needExport = true)
	@Schema(description = "医保生育大病-失败原因")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("医保生育大病-失败原因")
	private String ysdRemark;

	//@ExcelAttribute(name = "申请编码", maxLength = 30, needExport = true)
	@Schema(description = "申请编码")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("申请编码")
	private String dispatchCode;

	//@ExcelAttribute(name = "员工姓名", errorInfo = "员工姓名不能为空", maxLength = 50, needExport = true)
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("员工姓名")
	private String empName;

	//@ExcelAttribute(name = "身份证号", needExport = true)
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("身份证号")
	private String empIdcard;

	//@ExcelAttribute(name = "员工类型", errorInfo = "员工类型不能为空", isDataId = true, dataType = ExcelAttributeConstants.EMP_NATRUE, needExport = true)
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("员工类型")
	private String empType;
	/**
	 * 所属单位
	 */
	//@ExcelAttribute(name = "客户名称", isNotEmpty = true, needExport = true)
	@Schema(description = "客户名称（所属单位）")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("客户名称")
	private String belongUnit;

	/**
	 * 项目名称
	 */
	//@ExcelAttribute(name = "项目名称", isNotEmpty = true, needExport = true)
	@Schema(description = "项目名称（项目）")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("项目名称")
	private String settleDomain;

	//@ExcelAttribute(name = "项目编码", maxLength = 32, needExport = true)
	@Schema(description = "项目编码")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("项目编码")
	private String settleDomainCode;

	//@ExcelAttribute(name = "社保户", needExport = true)
	@Schema(description = "社保户")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("社保户")
	private String socialHouseholdName;

	/**
	 * 社保缴纳地
	 */
	//@ExcelAttribute(name = "社保缴纳地", maxLength = 32, isArea = true, needExport = true)
	@Schema(description = "社保缴纳地")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("社保缴纳地")
	private String socialProvince;


	//@ExcelAttribute(name = "离职日期", isDate = true, needExport = true)
	@Schema(description = "离职日期")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("离职日期")
	private Date leaveDate;


	//@ExcelAttribute(name = "派单项", maxLength = 50, needExport = true)
	@Schema(description = "派单项")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("派单项")
	private String dispatchItem;

	//@ExcelAttribute(name = "申请人", needExport = true)
	@Schema(description = "申请人")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("申请人")
	private String createUserName;


	//@ExcelAttribute(name = "申请人所在部门", maxLength = 50, needExport = true)
	@Schema(description = "申请人所在部门")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("申请人所在部门")
	private String organName;

	//@ExcelAttribute(name = "申请时间", isDate = true, needExport = true)
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("申请时间")
	private LocalDateTime createTime;


	//@ExcelAttribute(name = "审核人", maxLength = 50, needExport = true)
	@Schema(description = "审核人")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("审核人")
	private String auditUserName;

	//@DateTimeFormat("yyyy-MM-dd")
	//@ExcelAttribute(name = "审核时间", isDate = true, needExport = true)
	@Schema(description = "审核时间")
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("审核时间")
	private Date auditTime;
}
