package com.zt.plat.module.base.controller.admin.departmentmaterial.vo;

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

@Schema(description = "管理后台 - 组织架构物料新增/修改 Request VO")
@Data
public class DepartmentMaterialSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5674")
    private Long id;

    @Schema(description = "部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001")
    @NotNull(message = "部门ID不能为空")
    private Long deptId;

    @Schema(description = "物料信息ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3923")
    @NotNull(message = "物料信息ID不能为空")
    private Long infomationId;

    @Schema(description = "物料分类ID", example = "30114")
    private Long classesId;

    @Schema(description = "字典数据值-物料类型", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "字典数据值-物料类型不能为空")
    private String dictionaryDataValue;

    @Schema(description = "状态编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    // 对应系统字典 base_material_status
    @NotEmpty(message = "状态不能为空")
    private String status;

    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "备注不能为空")
    private String remark;

}