package com.cpop.oam.business.bo;

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;

/**
 * @author DB
 * @createTime 2023/09/21 15:50
 * @description 报销申请
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "ReimburseStatusBo", description = "报销申请请求参数")
public class ReimburseApplicationBo implements Serializable {

    /**
     * 申请类型
     */
    @NotBlank(message = "申请类型不能为空")
    @ApiModelProperty(value = "申请类型",required = true)
    private String typeId;

    /**
     * 报销日期
     */
    @NotNull(message = "报销日期不能为空")
    @ApiModelProperty(value = "报销日期",required = true)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date reportDate;

    /**
     * 申请说明
     */
    @NotBlank(message = "申请说明不能为空")
    @ApiModelProperty(value = "申请说明",required = true)
    private String remarks;

    /**
     * 申请金额
     */
    @NotNull(message = "申请金额不能为空")
    @ApiModelProperty(value = "申请金额",required = true)
    private BigDecimal price;

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

    /**
     * 报销申请id
     */
    @ApiModelProperty(value = "报销申请id")
    private String id;

}
