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;
import java.util.List;

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

    /** 关闭工单(0-不关,1-关闭) */
    private Integer closeApply;
    private String applyStatus;
    /** 科研成果信息主键ID */
    private String achievementInfoId;

    /** 科研成果分类ID */
    // @Excel(name = "科研成果分类ID")
    private String achievementClassId;

    /** 科研成果分类名 */
    // @Excel(name = "科研成果分类名")
    private String achievementClassName;

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

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

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

    /** 应用领域 */
    @Excel(name = "应用领域",sort = 6)
    private String applicationArea;

    /** 使用超算平台软件 */
    @Excel(name = "使用超算平台软件",sort = 7)
    private String platformSoftware;

    /** 自主安装软件名 */
    @Excel(name = "自主安装软件名",sort = 8)
    private String softwareName;

    /** 是否同意宣传：0-否，1-是 */
    // @Excel(name = "是否同意宣传：0-否，1-是")
    private String isPublicize;

    /** 用户主账号ID */
    // @Excel(name = "用户主账号ID")
    private String userInfoId;

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

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

    /** 单位ID */
    // @Excel(name = "单位ID")
    private String companyId;

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

    /** 部门/院系D */
    // @Excel(name = "部门/院系D")
    private String deptId;

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

    /** 单位类别ID */
    // @Excel(name = "单位类别ID")
    private String companyClassId;

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

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

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

    /** 附件 */
    // @Excel(name = "附件")
    private String annexUrl;

    /** 备注 */
    // @Excel(name = "备注")
    private String remarks;

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

    /** 状态：0-正常，1-隐藏 */
    // @Excel(name = "状态：0-正常，1-隐藏")
    private String status;

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

    /** 创建时间 */
    @Excel(name = "上传时间",sort = 9)
    private String createAt;


    /** 修改时间 */
    @Excel(name = "修改时间",sort = 10)
    private String updateAt;

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

    /** 用户主账号 */
    private String userAccount;

    /** 主账号姓名 */
    private String userAccountName;

    /** 单位名称 */
    private String registerCompanyName;

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

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

    /** 成果详情列表 */
    private List<CsAchievementInfoDetails> patentAchievementList;

}
