package com.cpop.oam.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.time.LocalDateTime;

/**
 * @author DB
 * @createTime 2023/09/20 16:43
 * @description 财务报销请求参数
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "FinanceReimbursePageVo对象", description = "财务报销返回参数")
public class FinanceReimbursePageVo implements Serializable {

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    private String id;

    /**
     * 提交人
     */
    @ApiModelProperty("提交人id")
    private String staffId;

    /**
     * 提交人
     */
    @ApiModelProperty("提交人")
    private String staffName;

    /**
     * 状态：0:审批中;1:下款中;2:已下发-1:驳回
     */
    @ApiModelProperty("状态：0:审批中;1:下款中;2:已下发-1:驳回")
    private Integer status;

    /**
     * 申请类型id
     */
    @ApiModelProperty("申请类型id")
    private String typeId;

    /**
     * 申请类型
     */
    @ApiModelProperty("申请类型")
    private String typeName;

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

    /**
     * 申请说明
     */
    @ApiModelProperty("申请说明")
    private String remarks;

    /**
     * 申请金额
     */
    @ApiModelProperty("申请金额")
    private BigDecimal price;

    /**
     * 附件
     */
    @ApiModelProperty("附件")
    private String attachmentUrl;

    /**
     * 驳回原因
     */
    @ApiModelProperty("驳回原因")
    private String rejectReason;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private LocalDateTime createTime;

}
