/*
* OrgainzeVO.java
* 版权所有 © 2011-2017 ??????????????
* Copyright © 2011-2017 All Rights Reserved    京ICP备13013562号
* 2019-11-21 09:54:16 created by lipenghe with LAPTOP-IJQ2SDFV
*/
package com.unis.user.common.vo.org;

import com.unis.common.vo.base.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * SYS_ORGAINZE-组织机构
 * @author lipenghe at 2019-11-21 09:54:16
 */
@ApiModel(value = "SYS_ORGAINZE:组织机构-OrgainzeVO",description="A")
@Data
@Table(name="SYS_ORGAINZE")
public class OrgainzeVO extends BaseVO implements Serializable{

    @ApiModelProperty(value = "机构编码#<主键><唯一><非空>（LS）在父节点上增加3位流水序号如北京分公司LS+001=LS001", notes ="机构编码", example = "string")
    @Id
    @Column(name="ORG_CODE",length=255)
    private String orgCode;

    @ApiModelProperty(value = "缺少注释", notes ="缺少注释", example = "0")
    @Column(name="STATE_CODE", length=10, precision=10, scale=0)
    private Long stateCode;

    @ApiModelProperty(value = "缺少注释", notes ="缺少注释", example = "0")
    @Column(name="VERSION", length=10, precision=10, scale=0)
    private Long version;

    @ApiModelProperty(value = "简介", notes ="简介", example = "string")
    @Column(name="BREIF", length=255)
    private String breif;

    @ApiModelProperty(value = "联系人", notes ="联系人", example = "string")
    @Column(name="CONTACT_MAN", length=255)
    private String contactMan;

    @ApiModelProperty(value = "所属区域编码#<检索>", notes ="所属区域编码", example = "string")
    @Column(name="COUNTY_CODE", length=255)
    private String countyCode;

    @ApiModelProperty(value = "维度", notes ="维度", example = "0")
    @Column(name="LATITUDE", length=126, precision=126, scale=0)
    private Double latitude;

    @ApiModelProperty(value = "经度", notes ="经度", example = "0")
    @Column(name="LONGITUDE", length=126, precision=126, scale=0)
    private Double longitude;

    @ApiModelProperty(value = "排序", notes ="排序", example = "0")
    @Column(name="ORDER_BY", length=10, precision=10, scale=0)
    private Long orderBy;

    @ApiModelProperty(value = "联系地址", notes ="联系地址", example = "string")
    @Column(name="ORG_ADDRESS", length=255)
    private String orgAddress;

    @ApiModelProperty(value = "电子邮箱", notes ="电子邮箱", example = "string")
    @Column(name="ORG_EMAIL", length=255)
    private String orgEmail;

    @ApiModelProperty(value = "传真", notes ="传真", example = "string")
    @Column(name="ORG_FAX", length=255)
    private String orgFax;

    @ApiModelProperty(value = "机构级别#<检索>'10180001:集团公司/国家局''10180003:公司/省局''10180005:分公司/市局''10180007:子公司/县局''10180007:粮库'", notes ="机构级别", example = "string")
    @Column(name="ORG_LEVEL", length=255)
    private String orgLevel;

    @ApiModelProperty(value = "联系手机", notes ="联系手机", example = "string")
    @Column(name="ORG_MOBILE", length=255)
    private String orgMobile;

    @ApiModelProperty(value = "机构名称#<检索>", notes ="机构名称", example = "string")
    @Column(name="ORG_NAME", length=255)
    private String orgName;

    @ApiModelProperty(value = "联系电话", notes ="联系电话", example = "string")
    @Column(name="ORG_PHONE", length=255)
    private String orgPhone;

    @ApiModelProperty(value = "邮编", notes ="邮编", example = "string")
    @Column(name="ORG_POST", length=255)
    private String orgPost;

    @ApiModelProperty(value = "机构类型#<检索>'10190001:粮食局''10190003:粮科院''10190005:企业''10190005:其他'", notes ="机构类型", example = "string")
    @Column(name="ORG_TYPE", length=255)
    private String orgType;

    @ApiModelProperty(value = "父节点#<检索>", notes ="父节点", example = "string")
    @Column(name="PARENT_CODE", length=255)
    private String parentCode;

    /**
     * 子集容器
     */
    @Transient
    private List<OrgainzeVO> children = new ArrayList<>();

    public OrgainzeVO(){
        super();
    }

}
