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

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 财务支付管理分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class FinancialPaymentPageReqVO extends PageParam {

    @Schema(description = "部门id", example = "13599")
    private Long deptId;

    @Schema(description = "申请人的用户名称", example = "13599")
    private String nickname;

    @Schema(description = "财务名称", example = "13599")
    private String financeName;

    @Schema(description = "原因", example = "13599")
    private String reason;

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

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

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

    @Schema(description = "领取类型 1未领取 2已领取 3我领取 4其他人领取", example = "16852")
    private Integer receiveType;

    @Schema(description = "当前登陆用户id(领取人) 前端不用传")
    private Long receiveUserId;

    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] beginTime;

    @Schema(description = "完成时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] endTime;

    @Schema(description = "部门ids")
    private List<Long> deptIds;
}
