package com.sckw.system.model;

import com.sckw.core.model.base.BaseModel;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 部门机构
 * @author zk
 * @date 2023-05-31
 */
@Data
public class KwsDept extends BaseModel {

    /**
     * 机构类型(1系统管理机构、2平台企业机构)
     */
    private Integer systemType;

    /**
     * 企业id
     */
    @NotNull(message = "企业不能为空")
    private Long entId;

    /**
     * 机构名称
     */
    @NotBlank(message = "机构名称不能为空")
    @Size(max = 50, message = "机构名称长度不能超过50")
    private String name;

    /**
     * 是否是公司（0 机构部门/1 公司）
     */
    @NotNull(message = "是否是公司类型不能为空")
    private Integer company;

    /**
     * 上级机构ID，一级机构为0
     */
    @NotNull(message = "上级机构不能为空")
    private Long parentId;

    /**
     * 所有上级机构id
     */
    private String parentIds;

    /**
     * 机构层级(1更目录、...递增)
     */
    private Integer level;

    /**
     * 排序
     */
    private Integer sort;

}