package cn.iocoder.yudao.module.bpm.controller.admin.financialpayment.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import java.math.BigDecimal;

@Schema(description = "管理后台 - 财务支付管理新增/修改 Request VO")
@Data
public class FinancialPaymentSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "81")
    private Long id;

    @Schema(description = "申请人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13599")
    @NotNull(message = "申请人的用户编号不能为空")
    private Long userId;

    @Schema(description = "流程实例id", example = "8972")
    private String processInstanceId;

    @Schema(description = "申请费用原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不好")
    @NotEmpty(message = "申请费用原因不能为空")
    private String reason;

    @Schema(description = "流程类型 1现金支出 2备用金 3采购付款 4报销", example = "2")
    private Integer type;

    @Schema(description = "支付状态 0待支付 1分批支付中 2已支付 3拒绝", example = "1")
    private Integer status;

    @Schema(description = "领取的财务用户id", example = "16852")
    private Long receiveUserId;

    @Schema(description = "应该支付金额")
    private BigDecimal amountPayable;

    @Schema(description = "实际支付")
    private BigDecimal actualPayment;

}
