package com.ruoyi.cs.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 科研成果-成果详情信息对象 cs_achievement_info_details
 *
 * @author ruoyi
 * @date 2024-05-08
 */
@Getter
@Setter
@ToString
public class CsAchievementInfoDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    /** 关闭工单(0-不关,1-关闭) */
    private Integer closeApply;
    private String applyStatus;


    /** 成果详情信息主键ID */
    private String infoDetailsId;

    /** 相关资源ID */
    @Excel(name = "相关资源ID")
    private String resId;

    /** 相关资源名 */
    @Excel(name = "相关资源名")
    private String resName;

    /** 相关资源类型：0- */
    @Excel(name = "相关资源类型：0-")
    private String resType;

    /** 成果类型：0-论文成果，1-专利成果，2-专项成果，3-其他成果，4-预约成果，5-资源使用情况调研表 */
    @Excel(name = "成果类型",readConverterExp = "0=论文成果,1=专利成果,2=专项成果,3=其他成果,4=预约成果,5=资源使用情况调研表",sort = 1)
    private String achievementType;

    /** 发表日期、专利申请日期、获奖时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发表日期、专利申请日期、获奖时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 7)
    private Date allTime;

    /** 文章题目 */
    @Excel(name = "文章题目",sort = 9)
    private String articleTitle;

    /** 主要作者、参与者 */
    @Excel(name = "主要作者",sort = 14)
    private String leadAuthor;

    /** DOI */
    @Excel(name = "DOI",sort = 10)
    private String doi;

    /** 期刊名 */
    @Excel(name = "期刊名",sort = 11)
    private String journalName;

    /** 期刊分区ID */
    // @Excel(name = "期刊分区ID")
    private String journalPartitionId;

    /** 期刊分区 */
    @Excel(name = "期刊分区",sort = 12)
    private String journalPartition;

    /** 影响因子 */
    @Excel(name = "影响因子",sort = 13)
    private String impactFactors;

    /** 成果在发表时是否注明：0-否，1-是 */
    @Excel(name = "是否注明超算郑州中心支持",readConverterExp = "0=否,1=是",sort = 8)
    private String isNote;

    /** 专利类别ID */
    @Excel(name = "专利类别ID")
    private String patentClassId;

    /** 专利类别 */
    @Excel(name = "专利类别")
    private String patentClass;

    /** 专利名称 */
    @Excel(name = "专利名称")
    private String patentName;

    /** 专利号 */
    @Excel(name = "专利号")
    private String patentNumber;

    /** 奖项级别ID */
    @Excel(name = "奖项级别ID")
    private String prizeClassId;

    /** 奖项级别 */
    @Excel(name = "奖项级别")
    private String prizeClass;

    /** 奖项名称 */
    @Excel(name = "奖项名称")
    private String prizeName;

    /** 奖项题目 */
    @Excel(name = "奖项题目")
    private String prizeTitle;

    /** 成果类型ID */
    @Excel(name = "成果类型ID")
    private String otherClassId;

    /** 成果类型 */
    @Excel(name = "成果类型")
    private String otherClass;

    /** 成果名称 */
    @Excel(name = "成果名称")
    private String otherName;

    /** 成果编号 */
    @Excel(name = "成果编号")
    private String otherNumber;

    /** 研究领域 */
    @Excel(name = "研究领域")
    private String researchField;

    /** 研究进展 */
    @Excel(name = "研究进展")
    private String researchProgress;

    /** 拟产出成果时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拟产出成果时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reservationTime;

    /** 拟产出成果类别ID */
    @Excel(name = "拟产出成果类别ID")
    private String reservationClassId;

    /** 拟产出成果类别 */
    @Excel(name = "拟产出成果类别")
    private String reservationClass;

    /** 拟产出成果数量 */
    @Excel(name = "拟产出成果数量")
    private String reservationNum;

    /** 拟产出成果描述 */
    @Excel(name = "拟产出成果描述")
    private String reservationDescribe;

    /** 所属项目名称 */
    @Excel(name = "项目名称",sort = 15)
    private String projectName;

    /** 所属项目编号 */
    @Excel(name = "项目编号",sort = 16)
    private String projectNumber;

    /** 项目来源 */
    @Excel(name = "项目来源",sort = 17)
    private String projectSource;

    /** 项目类别ID */
    // @Excel(name = "项目类别ID")
    private String projectClassId;

    /** 项目类别 */
    @Excel(name = "项目类别",sort = 18)
    private String projectClass;

    /** 项目周期起始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目周期起始", width = 30, dateFormat = "yyyy-MM-dd",sort = 19)
    private Date projectCycleBegin;

    /** 项目周期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目周期结束", width = 30, dateFormat = "yyyy-MM-dd",sort = 20)
    private Date projectCycleEnd;

    /** 与郑州中心关联度ID */
    private String correlationClassId;

    /** 与郑州中心关联度 */
    private String correlationClass;

    /** 内容 */
    @Excel(name = "内容")
    private String content;

    /** 状态：0-待审核，1-已录入，2-驳回，3-已删除 */
    @Excel(name = "状态",sort = 23,readConverterExp = "0=待审核,1=已录入,2=驳回,3=已删除")
    private String status;

    /** 排序 */
    @Excel(name = "排序")
    private Integer sort;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 21)
    private Date uploadTime;
    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 22)
    private Date updateAt;

    /** 删除标记：0-正常，1-删除 */
    // @Excel(name = "删除标记：0-正常，1-删除")
    private String delFlag;

    /** 用户主账号 */
    @Excel(name = "用户主账号",sort = 2)
    private String userAccount;

    /** 主账号姓名 */
    @Excel(name = "主账号姓名",sort = 3)
    private String userAccountName;

    /** 单位名称 */
    @Excel(name = "单位名称",sort = 4)
    private String registerCompanyName;

    /** 部门/院系 */
    @Excel(name = "部门/院系",sort = 5)
    private String deptName;

    /** 单位类别 */
    @Excel(name = "单位类别",sort = 6)
    private String companyName;

    /** 是否同意宣传：0-否，1-是 */
    private String isPublicize;

    /** 发表时间起始 */
    private String allTimeBegin;

    /** 发表时间结束 */
    private String allTimeEnd;

    /** 上传时间起始 */
    private String createAtBegin;

    /** 上传时间结束 */
    private String createAtEnd;

    /** 关键词 */
    private String keyword;

    /** 科研成果信息主键ID */
    private String achievementInfoId;

}
