package net.lab1024.sa.admin.module.business.wms.base.location.domain.form;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import net.lab1024.sa.admin.constant.UsageStatusEnum;
import net.lab1024.sa.base.common.json.deserializer.DictDataDeserializer;
import net.lab1024.sa.base.common.swagger.SchemaEnum;
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;

/**
 * 库位信息 新建表单
 *
 * @author 霍锦
 * @since 2024-11-18 14:17:31
 * copyright 友仓
 */

@Data
public class LocationAddForm {

    @Schema(description = "库位编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "库位编码 不能为空")
    private String locationCode;

    @Schema(description = "库位类型")
    @NotBlank(message = "库位类型 不能为空 ")
    private String locationType;

    @SchemaEnum(UsageStatusEnum.class)
    @CheckEnum(message = "商品状态错误", value = UsageStatusEnum.class, required = true)
    private String status;

    @Schema(description = "库区", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "库区 不能为空")
    private Long areaId;

    @Schema(description = "是否启用")
    @NotNull(message = "启用状态不能为空")
    private Boolean disabledFlag;

    @Schema(hidden = true)
    private Long createUserId;

    @Schema(hidden = true)
    private String createUserName;


}