package cn.cslg.pas.domain;

import cn.cslg.pas.common.model.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 任务表
 * </p>
 *
 * @author 王岩
 * @since 2022-02-27
 */
@Accessors(chain = true)
@Data
@TableName("os_task")
public class Task extends BaseEntity<Task> {

    /**
     * 任务类型 1.Excel导入 2.导出 3.EPO欧专局导入 4.专利之星导入
     */
    @TableField("type")
    private Integer type;

    /**
     * 创建人
     */
    @TableField("uid")
    private Integer createBy;

    /**
     * 开始时间
     */
    @TableField("ctime")
    private Integer startTime;

    /**
     * 专题库id
     */
    @TableField("tid")
    private Integer projectId;
    /**
     * 报告id
     */
    @TableField("report_id")
    private Integer reportId;

    /**
     * 导入导出字段数量
     */
    @TableField("mfields")
    private Integer fieldNum;

    /**
     * 专利数量
     */
    @TableField("mun")
    private Integer total;

    /**
     * 完成时间
     */
    @TableField("endtime")
    private Integer endTime;

    /**
     * 任务状态（0.队列中 1.进行中 2.已完成 4.已暂停 5.已取消）
     */
    @TableField("status")
    private Integer status;

    /**
     * 文件名
     */
    @TableField("filename")
    private String fileName;
    /**
     * 文件大小
     */
    @TableField("filesize")
    private Long fileSize;
    /**
     * 完成条数（非成功条数）
     */
    @TableField("success_num")
    private Integer successNum;
    /**
     * 成功条数
     */
    @TableField("true_success_num")
    private Integer trueSuccessNum;
    /**
     * 失败条数
     */
    @TableField("default_num")
    private Integer defaultNum;
    /**
     * 自定义字段文件夹信息json格式
     */
    @TableField("pram_json")
    private String pramJson;
    /**
     * 导入详细excel连接
     */
    @TableField("downexcel")
    private String url;

    @TableField("product_id")
    private Integer productId;
    /**
     * Excel文件原名称
     */
    @TableField("old_name")
    private String oldName;
    /**
     * 所属任务条件id
     */
    @TableField("task_condition_id")
    private Integer taskConditionId;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 任务类型1（0普通任务 1定时任务）
     */
    @TableField("task_type")
    private Integer taskType;


    @TableField(exist = false)
    private String createName;
    @TableField(exist = false)
    private String projectName;
    /**
     * 上一次的位置（代表保存到第几个专利）
     */
    @TableField(exist = false)
    private Integer lastIndex;
    /**
     * 下载字段类型数量
     */
    @TableField(exist = false)
    private Integer configCellsNum;
    /**
     * 下载字段
     */
    @TableField(exist = false)
    private List<String> configCells;
    /**
     * 排序字段
     */
    @TableField(exist = false)
    private String orderBy;
    /**
     * 排序类型
     */
    @TableField(exist = false)
    private String orderByType;
    /**
     * 检索数据库类型
     */
    @TableField(exist = false)
    private String DBType;
    /**
     * 下载起始条数位置
     */
    @TableField(exist = false)
    private Integer startNumber;
    /**
     * 下载终止条数位置
     */
    @TableField(exist = false)
    private Integer endNumber;
    /**
     * 需要额外下载的专利
     */
    @TableField(exist = false)
    private List<String> isAddPatentNos;
    /**
     * 起止条数中不需要下载的专利
     */
    @TableField(exist = false)
    private List<String> isDeletePatentNos;
    /**
     * 检索式
     */
    @TableField(exist = false)
    private String conditions;
    /**
     * 上一次遍历位置信息（检索式下标|检索页数下标|检索专利下标）
     */
    @TableField(exist = false)
    private String continueLastInformation;

}
