/*
 *    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.social.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 审核信息表（社保、公积金、预估结算单、社保核准表、公积金核准表 、基数变更 审核记录）
 *
 * @author fxj
 * @date 2022-07-15 11:38:05
 */
@Data
public class TAuditInfoVo extends RowIndex implements Serializable {

	/**
	 * 主键
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@Schema(description = "主键" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("主键" )
	private String id;
	/**
	 * 社保ID
	 */
	@Length(max = 32, message = "社保ID 不能超过32 个字符" )
	@ExcelAttribute(name = "社保ID", maxLength = 32)
	@Schema(description = "社保ID" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("社保ID" )
	private String socialId;
	/**
	 * 审核状态（0wait/1success/2fail）
	 */
	@NotBlank(message = "审核状态（0wait/1success/2fail） 不能为空" )
	@Length(max = 1, message = "审核状态（0wait/1success/2fail） 不能超过1 个字符" )
	@ExcelAttribute(name = "审核状态（0wait/1success/2fail）", isNotEmpty = true, errorInfo = "审核状态（0wait/1success/2fail） 不能为空", maxLength = 1)
	@Schema(description = "审核状态（0wait/1success/2fail）" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("审核状态（0wait/1success/2fail）" )
	private String auditStatus;
	/**
	 * 审核意见
	 */
	@NotBlank(message = "审核意见 不能为空" )
	@Length(max = 200, message = "审核意见 不能超过200 个字符" )
	@ExcelAttribute(name = "审核意见", isNotEmpty = true, errorInfo = "审核意见 不能为空", maxLength = 200)
	@Schema(description = "审核意见" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("审核意见" )
	private String auditRemark;
	/**
	 * 审核人
	 */
	@NotBlank(message = "审核人 不能为空" )
	@Length(max = 32, message = "审核人 不能超过32 个字符" )
	@ExcelAttribute(name = "审核人", isNotEmpty = true, errorInfo = "审核人 不能为空", maxLength = 32)
	@Schema(description = "审核人" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("审核人" )
	private String auditUser;
	/**
	 * 审核时间
	 */
	@NotBlank(message = "审核时间 不能为空" )
	@ExcelAttribute(name = "审核时间", isNotEmpty = true, errorInfo = "审核时间 不能为空", isDate = true)
	@Schema(description = "审核时间" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("审核时间" )
	private Date auditTime;
	/**
	 * 是否委托（0是/1否）
	 */
	@NotBlank(message = "是否委托（0是/1否） 不能为空" )
	@Length(max = 1, message = "是否委托（0是/1否） 不能超过1 个字符" )
	@ExcelAttribute(name = "是否委托（0是/1否）", isNotEmpty = true, errorInfo = "是否委托（0是/1否） 不能为空", maxLength = 1)
	@Schema(description = "是否委托（0是/1否）" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("是否委托（0是/1否）" )
	private String isCommision;
	/**
	 * 公积金ID
	 */
	@Length(max = 32, message = "公积金ID 不能超过32 个字符" )
	@ExcelAttribute(name = "公积金ID", maxLength = 32)
	@Schema(description = "公积金ID" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("公积金ID" )
	private String providentId;
	/**
	 * 基数变更ID
	 */
	@Length(max = 32, message = "基数变更ID 不能超过32 个字符" )
	@ExcelAttribute(name = "基数变更ID", maxLength = 32)
	@Schema(description = "基数变更ID" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("基数变更ID" )
	private String cardinalId;
	/**
	 * 社保代理结算信息ID
	 */
	@Length(max = 32, message = "社保代理结算信息ID 不能超过32 个字符" )
	@ExcelAttribute(name = "社保代理结算信息ID", maxLength = 32)
	@Schema(description = "社保代理结算信息ID" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("社保代理结算信息ID" )
	private String forecastFormId;
	/**
	 * 人员离职派单ID
	 */
	@Length(max = 32, message = "人员离职派单ID 不能超过32 个字符" )
	@ExcelAttribute(name = "人员离职派单ID", maxLength = 32)
	@Schema(description = "人员离职派单ID" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("人员离职派单ID" )
	private String empLeaveId;
	/**
	 * 社保、公积金核准表
	 */
	@Length(max = 32, message = "社保、公积金核准表 不能超过32 个字符" )
	@ExcelAttribute(name = "社保、公积金核准表", maxLength = 32)
	@Schema(description = "社保、公积金核准表" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("社保、公积金核准表" )
	private String aprovalFormId;
	/**
	 * 派单id
	 */
	@Length(max = 32, message = "派单id 不能超过32 个字符" )
	@ExcelAttribute(name = "派单id", maxLength = 32)
	@Schema(description = "派单id" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("派单id" )
	private String dispatchInfoId;
	/**
	 * type类型：0：其他；1：社 保办理备注
	 */
	@NotBlank(message = "type类型：0：其他；1：社 保办理备注 不能为空" )
	@Length(max = 1, message = "type类型：0：其他；1：社 保办理备注 不能超过1 个字符" )
	@ExcelAttribute(name = "type类型：0：其他；1：社 保办理备注", isNotEmpty = true, errorInfo = "type类型：0：其他；1：社 保办理备注 不能为空", maxLength = 1)
	@Schema(description = "type类型：0：其他；1：社 保办理备注" )
	@HeadFontStyle(fontHeightInPoints = 11)
	@ExcelProperty("type类型：0：其他；1：社 保办理备注" )
	private String type;

}
