package cn.iocoder.yudao.module.finance.controller.admin.reimbursement.vo;
|
|
import cn.iocoder.yudao.module.finance.controller.admin.reimbursement.vo.item.FinanceReimbursementItemSaveReqVO;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.Size;
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.List;
|
|
@Schema(description = "管理后台 - 报销单新增/修改 Request VO")
|
@Data
|
public class FinanceReimbursementSaveReqVO {
|
|
@Schema(description = "编号", example = "1")
|
private Long id;
|
|
@Schema(description = "报销单号。留空(含只填空格)则由系统按 BX+日期+6位流水自动生成;"
|
+ "修改时不传或留空表示保持原单号不变", example = "BX20260928000001")
|
@Size(max = 36, message = "报销单号长度不能超过 36 个字符")
|
private String no;
|
|
@Schema(description = "报销标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "9月差旅报销")
|
@NotEmpty(message = "报销标题不能为空")
|
private String title;
|
|
@Schema(description = "报销总金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000.00")
|
@NotNull(message = "报销总金额不能为空")
|
private BigDecimal totalAmount;
|
|
@Schema(description = "申请日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
@NotNull(message = "申请日期不能为空")
|
private LocalDate applyDate;
|
|
@Schema(description = "备注", example = "出差北京")
|
private String remark;
|
|
@Schema(description = "发票附件BlobId列表")
|
private List<Long> blobIds;
|
|
@Schema(description = "报销明细列表")
|
@NotEmpty(message = "报销明细不能为空")
|
private List<FinanceReimbursementItemSaveReqVO> items;
|
|
}
|