package com.inkasso.factoring.org.model.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.inkasso.adapter.tree.TreeNode;
import lombok.Data;

import java.util.List;

/**
* @author liutao
* @date  2023-09-07
*/
@Data
public class OrgDTO implements TreeNode {

    private Long id;

    /**
    *父级组织机构id
    */
    private Long parentId;
    /**
    *组织机构类型id
    */
    @JsonIgnore
    private Long orgTypeId;
    /**
    *组织机构级别id
    */
    @JsonIgnore
    private Long orgLevelId;
    /**
    *名称
    */
    private String name;
    /**
    *组织机构编码
    */
    @JsonIgnore
    private String deptCode;
    /**
    *内置编码
    */
    @JsonIgnore
    private String internalCode;
    /**
    *子组织机构最大数
    */
    private Integer subCountMax;
    /**
    *子组织机构数
    */
    @JsonIgnore
    private Integer subCount;
    /**
    *显示顺序
    */
    @JsonIgnore
    private Integer gradation;
    /**
    *简拼
    */
    private String simplePinYin;
    /**
    *全拼
    */
    @JsonIgnore
    private String fullPinYin;
    /**
    *备注
    */
    @JsonIgnore
    private String remark;


    private List children;

    /**
     * 直辖市
     */
    @TableField(exist = false)
    private Boolean end = false;

    /**
     * 层级 1 省  2 市 。。。。。
     */
    @TableField(exist = false)
    private Integer level;


    @Override
    public Object getPid() {
        return parentId;
    }
}
