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

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
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 javax.validation.constraints.NotBlank;

/**
 * 电子档案任务表
 *
 * @author huych
 * @date 2025-12-17 11:03:07
 */
@Data
@TableName("t_electronic_archive_task")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "电子档案任务表")
public class TElectronicArchiveTask extends BaseEntity {

	/**
	 * 主键
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@ExcelProperty("主键")
	@Schema(description = "主键")
	private String id;

	/**
	 * 任务编号
	 */
	@ExcelAttribute(name = "任务编号")
	@NotBlank(message = "任务编号不能为空")
	@ExcelProperty("任务编号")
	@Schema(description = "任务编号")
	private String taskCode;

	/**
	 * 上传表格名称
	 */
	@ExcelAttribute(name = "上传表格名称")
	@ExcelProperty("上传表格名称")
	@Schema(description = "上传表格名称")
	private String uploadFileName;

	/**
	 * 上传压缩包名称
	 */
	@ExcelAttribute(name = "上传压缩包名称")
	@ExcelProperty("上传压缩包名称")
	@Schema(description = "上传压缩包名称")
	private String uploadZipName;

	@Schema(description = "状态（未上传，生成电子档案中，已生成电子档案）")
	private String status;

	@Schema(description = "是否删除 0否/1是")
	private String deleteFlag;

	@Schema(description = "反馈表附件名称")
	@TableField(exist = false)
	private String backAttaName;
}
