package cn.iocoder.yudao.module.finance.controller.admin.voucher.vo; import cn.iocoder.yudao.module.finance.enums.FinAuxiliaryTypeEnum; import cn.iocoder.yudao.framework.common.validation.InEnum; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.Size; import lombok.Data; import java.math.BigDecimal; @Schema(description = "管理后台 - 凭证分录新增/修改 Request VO") @Data public class FinVoucherEntrySaveReqVO { @Schema(description = "科目编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001") @NotEmpty(message = "分录的科目编码不能为空") private String subjectCode; @Schema(description = "科目名称", example = "库存现金") private String subjectName; @Schema(description = "摘要", example = "收到货款") @Size(max = 500, message = "分录摘要长度不能超过 500 个字符") private String summary; @Schema(description = "借方金额", example = "1000.00") private BigDecimal debit; @Schema(description = "贷方金额", example = "0.00") private BigDecimal credit; @Schema(description = "辅助核算类型", example = "1") @InEnum(value = FinAuxiliaryTypeEnum.class, message = "辅助核算类型必须是 {value}") private Integer auxiliaryType; @Schema(description = "辅助核算对象编号", example = "1024") private String auxiliaryId; @Schema(description = "辅助核算对象名称", example = "杭州某某公司") private String auxiliaryName; }