package com.jeeplus.finance.reimbursementApproval.approvalInfo.service.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.sys.service.dto.UserDTO;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 数电发票信息及附件
 */
@Data
public class CwReimAmountAndFileDto extends BaseEntity {

    /**
     * 关联id
     */
    private String infoId;

    /**
     * 发票代码
     */
    private String code;

    /**
     * 发票编号
     */
    private String number;

    /**
     * 金额
     */
    private String amount;

    /**
     * 税额
     */
    private String taxAmount;

    /**
     * 价税合计
     */
    private String count;

    /**
     * 报销类型（0：普通报销；1：电子发票报销）
     */
    private String reimbursementType;

    /**
     * 发票类型（01：增值税发票；02：普通发票）
     */
    private String invoiceType;

    /**
     * 发票项目名
     */
    private String invoiceProjectName;

    /**
     * 开票时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private String invoiceDate;

    /**
     * 开票单位
     */
    private String invoiceUnit;

    /**
     * 购买方名称
     */
    private String buyerName;

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

    /**
     * 对应附件url
     */
    private String fileUrl;


    /**
     * 附件信息
      */
    private String by;

    private UserDTO createBy;

    private String name;

    private String size;

    /**
     * 附件地址
     */
    private String url;

    /**
     * 文件类型（文件后缀名）
     */
    private String type;

    /**
     * 附件对应父节点id(记录是谁的id)
     */
    private String attachmentId;

    /**
     * 文件名
     */
    private String attachmentName;

    /**
     * 文件所属业务模块（数据字典配置）
     */
    private String attachmentFlag;

    /**
     * 所属模块子模块
     */
    private String moduleType;

    /**
     * 附件类型
     */
    private String attachmentType;

    /**
     * 附件大小
     */
    private String fileSize;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 文件描述
     */
    private String description;

    /**
     * 附件临时地址
     *该属性不是实体字段
     */
    @TableField(exist = false)
    private String temporaryUrl;

    /*8
    数电发票id
     */
    private String amountId;
}
