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_income_details
 *
 * @author ruoyi
 * @date 2024-05-07
 */
@Getter
@Setter
@ToString
public class CsIncomeDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 收入明细主键ID */
    private String incomeDetailsId;

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

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

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

    /** 资源类型ID */
    // @Excel(name = "资源类型ID")
    private String resourceClassId;

    /** 资源类型 */
    // @Excel(name = "资源类型")
    private String resourceClass;

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

    /** 付款人 */
    // @Excel(name = "付款人")
    private String paymentPerson;

    /** 账户信息 */
    // @Excel(name = "账户信息")
    private String accountInfo;

    /** 入账类别ID */
    // @Excel(name = "入账类别ID")
    private String accountingClassId;

    /** 入账类别 */
    // @Excel(name = "入账类别")
    private String accountingClass;

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

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

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

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

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

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

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

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

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

    /** 项目/合同名称 */
    @Excel(name = "项目/合同名称",sort = 4)
    private String projectName;

    /** 需方 */
    @Excel(name = "需方",sort = 5)
    private String demandingSide;

    /** 需方VPN */
    @Excel(name = "需方VPN",sort = 6)
    private String demandingSideVpn;

    /** 需方AC */
    @Excel(name = "需方AC")
    private String demandingSideAc;

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

    /** 经办人 */
    @Excel(name = "经办人",sort = 7)
    private String operatorUser;

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

    /** 摘要 */
    @Excel(name = "摘要")
    private String accountingAbstract;

    /** 入账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入账日期", width = 30, dateFormat = "yyyy-MM-dd",sort = 8)
    private Date accountingTime;

    /** 金额(元) */
    @Excel(name = "金额(元)",sort = 9)
    private String price;

    /** AC充值额度 */
    @Excel(name = "AC充值额度",sort = 10)
    private String acRecharge;

    /** AC赠送额度 */
    @Excel(name = "AC赠送额度")
    private String acGive;

    /** 状态 */
    @Excel(name = "状态",sort = 11)
    private String detailedStatus;

    /** 凭证编号 */
    @Excel(name = "凭证编号")
    private String documentNumber;

    /** 到账地点 */
    @Excel(name = "到账地点",sort = 12)
    private String deliveryLocation;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 资源备注 */
    @Excel(name = "资源备注",sort = 13)
    private String resourceRemarks;

    /** 资源到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "资源到期时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 14)
    private Date expirationTime;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String deviceNumber;

    /** 付款单位 */
    @Excel(name = "付款单位")
    private String paymentCompany;

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

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

    /** 收入来源分类 */
    @Excel(name = "收入来源分类")
    private String incomeClass;

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

    /** 是否提供凭证原件 */
    @Excel(name = "是否提供凭证原件")
    private String isOriginal;

    /** 材料完备性自检情况说明 */
    @Excel(name = "材料完备性自检情况说明")
    private String situationExplain;

    /** 付费用户编号 */
    @Excel(name = "付费用户编号")
    private String payUserNumber;

    /** 是否提供服务清单 */
    @Excel(name = "是否提供服务清单")
    private String isServiceList;

    /** 资源到期剩余天数 */
    @Excel(name = "资源到期剩余天数")
    private String surplusDays;

    /** 服务对象类型 */
    @Excel(name = "服务对象类型")
    private String serviceType;

    /** 服务对象类型-细分 */
    @Excel(name = "服务对象类型-细分")
    private String serviceTypeDetailed;

    /** 产业院转入情况 */
    @Excel(name = "产业院转入情况")
    private String transferSituation;

    /** 剩余金额（元） */
    @Excel(name = "剩余金额（元）")
    private String surplusPrice;

    /** 充值工单标题 */
    @Excel(name = "充值工单标题")
    private String orderTitle;

    /** 工单附件是否齐全 */
    @Excel(name = "工单附件是否齐全")
    private String isComplete;

    /** 单位 */
    @Excel(name = "一级单位")
    private String unit;

    /** 二级单位 */
    @Excel(name = "二级单位")
    private String secondUnit;

    /** 单位类型 */
    @Excel(name = "单位类型")
    private String unitType;

    /** 服务清单编号 */
    // @Excel(name = "服务清单编号")
    private String inventoryNumber;

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

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

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

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

}
