package com.jeeplus.business.reimbursement.service.dto;


import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.business.reimbursement.domain.*;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.sys.domain.WorkAttachmentInfo;
import lombok.Data;

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

@Data
public class JyReimbursementInfoDTO extends BaseEntity {

    //报销编号（字典值）
    public static final String BIZ_CODE = "40";

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

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

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

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

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

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


    /**
     * 报告号
     */

    private String reportNumber;

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

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

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

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

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

    /**
     * 报销状态
     */

    private String status;

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

    /**
     *
     */
    private String processDefinitionId;

    private String taskId;

    //报销类型
    @Excel(name = "报销类型", width = 30, orderNum = "2",dict = "jy_apply")
    private String applyType;

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

    private List<WorkAttachmentInfo> files;

    /**
     * 数据审核人  报销
     */
    private List<String> auditUserIds;


    /**
     * 报销项目
     */
    private String project;

    /**
     * 报销时间
     */
    private String[] dates;

    /**
     * 经办人
     */
    private String handled;

    /**
     * 报销人
     */
    private String reimBy;

    /**
     * 报销状态
     */
    private String type;

    /**
     * 报销部门
     */
    private String department;

    /**
     * 报销类别
     */
    private String remiType;

    /**
     * 报销金额
     */
    private String[] amounts;


    private List<JyReimbursementAmountInfo> amountInfos;

    private List<JyReimbursementDetailInfoBorrow> infoborrows;
    private List<JyReimbursementDetailInfoOther> infoOthers;
    private List<JyReimbursementDetailInfoPayment> infoPayments;
    private List<JyReimbursementDetailInfoProject> infoProjects;


    /**
     * 收据张数
     */
    private Integer receiptNumber;

    /**
     * 出差天数
     */
    private Integer days;

    /**
     * 内容
     */
    private String content;

    //备注
    private String remarks;

    /**
     * 借款金额
     */
    private Integer moneyLower;

    /**
     * 付款金额
     */
    private Integer paymentLower;

    private String userId;
    private String departmentName;


}
