package com.ruoyi.cs.domain;

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

/**
 * 项目记录对象 cs_project_record
 *
 * @author ruoyi
 * @date 2024-05-29
 */
@Getter
@Setter
@ToString
public class CsProjectRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目记录主键ID */
    private String projectRecordId;

    /** 相关资源ID */
    private String resId;

    /** 相关资源名 */
    private String resName;

    /** 相关资源类型：0- */
    private String resType;

    /** 项目分类：0-合作项目，1-支持项目 */
    private String projectType;

    /** 资源类型ID */
    private String resourceClassId;

    /** 资源类型 */
    private String resourceClass;

    /** 用户ID */
    private String memberUserId;

    /** 邮箱 */
    private String email;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;

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

    /** 项目类别ID */
    private String projectClassId;

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

    /** 项目周期起始 */
    @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 applicationArea;

    /** 项目经费 */
    @Excel(name = "项目经费")
    private String projectFunds;

    /** 承担单位 */
    @Excel(name = "承担单位")
    private String bearCompany;

    /** 主管部门 */
    @Excel(name = "主管部门")
    private String manageDept;

    /** 项目负责人 */
    @Excel(name = "项目负责人")
    private String projectLeader;

    /** 项目对接人 */
    @Excel(name = "项目对接人")
    private String projectLiaison;

    /** 项目对接人联系方式 */
    @Excel(name = "项目对接人联系方式")
    private String projectLiaisonPhone;

    /** 项目资源 */
    @Excel(name = "项目资源")
    private String projectResource;

    /** 使用账户 */
    @Excel(name = "使用账户")
    private String useAccount;

    /** 项目状态：0-进行中，1-已结项，2-延期 */
    @Excel(name = "项目状态：0-进行中，1-已结项，2-延期")
    private String projectStatus;

    /** 机时费入账金额 */
    @Excel(name = "机时费入账金额")
    private String machinePrice;

    /** 机时费入账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "机时费入账时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date machinePriceTime;

    /** 附件 */
    private String annexUrl;

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

    /** 用户主账号ID */
    private String userInfoId;

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

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

    /** 手机号 */
    @Excel(name = "手机号")
    private String concatPhone;

    /** 单位ID */
    private String companyId;

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

    /** 部门/院系D */
    private String deptId;

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

    /** 单位类别ID */
    private String companyClassId;

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

    /** 专业领域 */
    @Excel(name = "专业领域")
    private String majorField;

    /** 上传时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadTime;

    /** 内容 */
    private String content;

    /** 排序 */
    private Integer sort;

    /** 状态：0-正常，1-隐藏 */
    private String status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createAt;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateAt;

    /** 删除标记：0-正常，1-删除 */
    private String delFlag;

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

    /** 提交时间开始 */
    private String beginCreateAt;

    /** 提交时间结束 */
    private String endCreateAt;

}
