package com.zt.plat.module.base.api.materialclasses.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

/**
 * 物料分类新增/修改 Request DTO
 */
@Data
public class MaterialClassesSaveReqDTO {

    @Schema(description = "主键ID", example = "4051")
    private Long id;

    @Schema(description = "父级ID", example = "20706")
    private Long parentId;

    @Schema(description = "分类编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "分类编码不能为空")
    private String code;

    @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "原材料")
    @NotEmpty(message = "分类名称不能为空")
    private String name;

    @Schema(description = "分类级别-用于类别层级(大/中/小类)")
    private Long level;

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