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

/**
 * 合同信息详情对象 cs_contract_details
 *
 * @author ruoyi
 * @date 2024-05-29
 */
@Getter
@Setter
@ToString
public class CsContractDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    // @Excel(name = "序号")
    private Integer serialNumber;

    /**合同信息详情主键ID */
    private String contractDetailsId;

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

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

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

    /** 部门合同编号 */
    @Excel(name = "部门合同编号")
    private String departmentContractNumber;

    /** 合同号 */
    // @Excel(name = "合同号")
    private String contractNumber;

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

    /** 终止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "终止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

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

    /** 合同金额(万元) */
    @Excel(name = "金额(万元)")
    private BigDecimal contractPrice;

    /** 合同类别名 */
    @Excel(name = "合同类别（机时费）")
    private String contractClassName;

    /** 需方(单位) */
    @Excel(name = "需方")
    private String demandingSide;

    /** 供方 */
    @Excel(name = "供方")
    private String supplier;

    /** 隶属部门 */
    @Excel(name = "隶属部门")
    private String affiliationDept;

    /** 需方经办人名(管理端用户名) */
    @Excel(name = "需方经办人")
    private String memberUserName;

    /** 供方经办人名(管理端用户名) */
    @Excel(name = "供方经办人")
    private String supplierUserName;

    /** 入库数量(份) */
    @Excel(name = "入库数量(份)")
    private Integer warehousingTotal;

    /** 是否原件：0-否，1-是 */
    @Excel(name = "是否原件",readConverterExp = "0=否,1=是")
    private String isOriginal;

    /** 原件缺失原因 */
    @Excel(name = "原件缺失原因")
    private String lackReason;

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

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

    /** 存档位置 */
    @Excel(name = "存档位置")
    private String archiveLocation;

    /** 合同状态 */
    // @Excel(name = "合同状态")
    private String contractStatus;

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

    /** 二级单位(部门/学院)ID */
    private String deptId;

    /** 二级单位(部门/学院)名称 */
    // @Excel(name = "二级单位 部门/学院名称")
    private String deptName;

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

    /** 单位属性名 */
    // @Excel(name = "单位属性名")
    private String companyClassName;

    /** 合同类别ID */
    // @Excel(name = "合同类别ID")
    private String contractClassId;

    /** 经办人(管理端用户ID) */
    // @Excel(name = "经办人(管理端用户ID)")
    private String memberUserId;

    private String supplierUserId;

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

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

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

    /** 创建时间 */
    // @Excel(name = "创建时间")
    private String createAt;

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

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

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

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

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

    /** 附件对象列表 */
    private List<CsAnnex> annexList;

}
