package com.codvision.webapi.bean;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 系统组织
 *
 * @author lingee
 * @date 2023/7/27
 */
@Data
@ApiModel(value = "RemoteOrg", description = "系统组织")
public class RemoteOrg implements Serializable {

    private static final long serialVersionUID = -8195853779944467097L;

    @ApiModelProperty("组织ID")
    private Integer oid;

    @ApiModelProperty("组织名称")
    private String name;

    @ApiModelProperty("组织全称")
    private String fullname;

    @ApiModelProperty("组织类型")
    private Integer type;

    @ApiModelProperty("组织等级")
    private Integer level;

    @ApiModelProperty("父组织OID")
    private Integer poid;

    @ApiModelProperty("wkt边界数据")
    private String wkt;

    @ApiModelProperty("排序字段")
    private Integer orderby;

    @ApiModelProperty("oid路径")
    private String oidPath;

    @ApiModelProperty("组织名称路径")
    private String path;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("组织属性id")
    private Integer orgPropertyId;

    @ApiModelProperty("专有钉钉部门code")
    private String zzdOrgCode;

    @ApiModelProperty("行政区划编码")
    private String districtCode;

    @ApiModelProperty("部门所属的行政区划OID")
    private Integer districtOid;

    @ApiModelProperty("第三方数据ID")
    private String refOid;

    @ApiModelProperty("第三方数据编码")
    private String refCode;

    @ApiModelProperty("删除标记,1:已删除,0:正常")
    private Integer delFlag;

    @ApiModelProperty("逻辑删除辅助字段")
    private Integer delKey;

    @ApiModelProperty("创建时间")
    private String createTime;

    @ApiModelProperty("更新时间")
    private String updateTime;

    @ApiModelProperty(value = "属性名称")
    private String orgPropertyName;

    @ApiModelProperty(value = "属性图标")
    private String orgPropertyIcon;

    @ApiModelProperty(value = "行政区划编码长度")
    private Integer codeLength;

    @ApiModelProperty("子部门")
    private List<RemoteOrg> children = new ArrayList<>();
}
