package com.jeeplus.assess.reimbursement.reimbursementInfo.service.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.poi.hpsf.Decimal;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class RetureListDto {

    /**
     * 基础表主键值
     */
    private String id;

    /**
     * 报销编号
     */
    @Excel(name = "报销编号", width = 30, orderNum = "1")
    private String no;

    /**
     * 报销类别id
     */
    private String typeId;

    /**
     * 报销类别
     */
    @Excel(name = "报销类别", width = 30, orderNum = "3")
    private String typeName;

    /**
     * 报销项目id
     */
    private String projectId;

    /**
     * 报销项目
     */
    @Excel(name = "报销项目/合同", width = 30, orderNum = "4")
    private String projectName;

    /**
     * 报销合同
     */
    private String contractName;

    /**
     * 报告号
     */
    @Excel(name = "报告号", width = 30, orderNum = "6")
    private String reportNumber;

    /**
     * 经办人
     */
    @Excel(name = "经办人", width = 30, orderNum = "7")
    private String userName;

    /**
     * 报销人
     */
    @Excel(name = "报销人", width = 30, orderNum = "8")
    private String name;

    /**
     * 报销部门
     */
    @Excel(name = "报销部门", width = 30, orderNum = "9")
    private String deptName;

    /**
     * 报销日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报销日期", exportFormat="yyyy-MM-dd", width = 30, orderNum = "10")
    private Date reimDate;

    /**
     * 报销金额
     */
    @Excel(name = "报销金额", width = 30, orderNum = "11",type = 10)
    private BigDecimal number;

    /**
     * 报销状态
     */
    @Excel(name = "报销状态", width = 30, orderNum = "12")
    private String type;

    /**
     * 流程id
     */
    private String procInsId;

    /**
     *
     */
    private String processDefinitionId;

    @Excel(name = "报销类型", width = 30, orderNum = "2")
    private String sourceType;

    private String taskId;

    /**
     * 创建人id
     */
    private String createId;

    private String purchaseNo;

    private String purchaseId;
    /**
     * 报销类型
     */
    private String reimbursementType;

    /**
     * 数据审核人  报销
     */
    private List<String> auditUserIds;
    //送审日期
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date approvalTime;

    /**
     * 付款时间
     */
    @Excel(name = "付款时间",exportFormat="yyyy-MM-dd", width = 30, orderNum = "14")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date paymentTime;
    /**
     * 付款状态  0:未付款  1:已付款
     */
    @Excel(name = "付款状态", width = 30, orderNum = "13")
    private String paymentStatus;

    /**
     * 文件补充
     */
    private String fileSuppleId; //文件补充id
    private String fileStatus;
    /**
     * 流程id
     */
    private String procInsIdFile;
    private String taskIdFile;
    private List<String> auditFileUserIds;

    private Boolean applyFile;//是否发起文件补充
}
