package com.jeeplus.ccpm.approvalInfo.service.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.ccpm.approvalInfo.domain.*;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.sys.domain.WorkAttachmentInfo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class CcpmSaveInfoDto extends BaseEntity {

    //合同编号类型（字典值）
    public static final String BIZ_CODE = "5";

    /**
     * 经办人id
     */
    private String userId;

    /**
     * 经办人名称
     */
    private String userName;

    /**
     * 报销编号
     */
    private String no;

    /**
     * 所属部门
     */
    private String department;

    /**
     * 报销日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date reimDate;

    /**
     * 备注
     */
    private String remarks;

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

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

    /**
     *
     */
    private String processInstanceId;

    private List<CcpmReimbursementDetailInfo> detailInfos;
    private List<CcpmReimbursementDetailInfoContract> detailInfoContracts;
    private List<CcpmReimbursementDetailInfoReport> detailInfoReports;
    private List<CcpmReimbursementDetailInfoOther> detailInfoOthers;
    private List<CcpmReimbursementDetailInfoProcured> detailInfoProcured;

    private List<CcpmReimbursementAmountInfo> amountInfos;
    private List<CcpmReimbursementAmountInfo> invoiceReimbursements;

    private List<WorkAttachmentInfo> files;
    private List<CcpmReimAmountAndFileDto> invoiceReimbursementFiles;

    /**
     * 报销类型
     */
    private String sourceType;

    /**
     * 采购编号
     */
    private String purchaseNo;

    private String purchaseId;

    private String departmentName;
    /**
     * 报销类型
     */
    private String reimbursementType;
    /**
     * 付款时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date paymentTime;
    /**
     * 付款状态  0:未付款  1:已付款
     */
    private String paymentStatus;

    /**
     * 文件补充
     */
    private String fileSuppleId; //文件补充id
    private String fileStatus;
    /**
     * 流程id
     */
    private String procInsIdFile;

    /**
     *
     */
    private String processInstanceIdFile;

}
