package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.contract; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; @Schema(description = "管理后台 - ERP 供应商合同新增/修改 Request VO") @Data public class ErpSupplierContractSaveReqVO { @Schema(description = "合同编号", example = "1024") private Long id; @Schema(description = "合同编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "HT20261030001") @NotEmpty(message = "合同编码不能为空") private String code; @Schema(description = "合同名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026 年度钢材采购合同") @NotEmpty(message = "合同名称不能为空") private String name; @Schema(description = "供应商编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "供应商不能为空") private Long supplierId; @Schema(description = "合同类型(1 采购合同 2 合同模板)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "合同类型不能为空") private Integer type; @Schema(description = "签订日期") private LocalDate signDate; @Schema(description = "生效日期") private LocalDate beginDate; @Schema(description = "截止日期") private LocalDate endDate; @Schema(description = "合同金额", example = "100000.00") private BigDecimal totalAmount; @Schema(description = "合同状态(1 履行中 2 已完成 3 已终止)", example = "1") private Integer status; @Schema(description = "备注") private String remark; @Schema(description = "附件(blobId 列表)") private List blobIds; }