package com.unis.crk.basic.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;

import java.util.ArrayList;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 组织机构信息表
 * </p>
 *
 * @author ghh
 * @since 2021-12-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="OrgInfo对象", description="组织机构信息表")
public class OrgInfo implements Serializable {

private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "组织编号")
    @TableId(value = "org_id", type = IdType.AUTO)
    private String orgId;

    @ApiModelProperty(value = "组织名称")
    private String orgName;

    @ApiModelProperty(value = "组织简称")
    private String shortName;

    @ApiModelProperty(value = "组织代码")
    private String orgCode;

    @ApiModelProperty(value = "组织类别")
    private String orgClassId;

    @TableField(exist = false)
    @ApiModelProperty(value = "组织类别名称")
    private String orgClassIdName;

    @ApiModelProperty(value = "企业性质")
    private String companyNature;

    @ApiModelProperty(value = "业务类型")
    private String busiType;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "电话")
    private String contact;

    @ApiModelProperty(value = "库点传真")
    private String fax;

    @ApiModelProperty(value = "负责人")
    private String chargePerson;

    @ApiModelProperty(value = "经度")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    private String latitude;

    @ApiModelProperty(value = "注册资本")
    private Integer registCapital;

    @ApiModelProperty(value = "在岗人数")
    private Integer workNumber;

    @ApiModelProperty(value = "行政区划代码")
    private Integer areaCode;

    @ApiModelProperty(value = "行政区划名称")
    private String areaName;

    @ApiModelProperty(value = "邮政编码")
    private Integer post;

    @ApiModelProperty(value = "库点类别")
    private Integer depotClass;

    @ApiModelProperty(value = "设计仓容")
    private BigDecimal designCapacity;

    @ApiModelProperty(value = "有效仓容")
    private BigDecimal effectiveCapacity;

    @ApiModelProperty(value = "库点面积")
    private BigDecimal depotArea;

    @ApiModelProperty(value = "建成日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date completeDate;

    @ApiModelProperty(value = "启用日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date useDate;

    @ApiModelProperty(value = "组织机构代码")
    private String companyOrgCode;

    @ApiModelProperty(value = "社会信用代码")
    private String creditCode;

    @ApiModelProperty(value = "企业登记注册类型")
    private String registType;

    @ApiModelProperty(value = "是否具有独立法人资格")
    private Integer qualification;

    private Integer independentCorporation;

    @ApiModelProperty(value = "法人")
    private String legalPerson;

    @ApiModelProperty(value = "是否租库")
    private Integer whetherRent;

    @ApiModelProperty(value = "信息登记人")
    private String infoRegist;

    @ApiModelProperty(value = "注册日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date registDate;

    @ApiModelProperty(value = "注释信息")
    private String remark;

    @ApiModelProperty(value = "父编号")
    private String parentId;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "删除标记")
    private Integer delFlag;

    @ApiModelProperty(value = "首页的鸟瞰图，2.5D图")
    private String birdsEye;

    @ApiModelProperty(value = "远程监管的鸟瞰图，2.5D图")
    @TableField("birds_Remote")
    private String birdsRemote;

    @ApiModelProperty(value = "简介")
    private String briefIntroduction;

    @ApiModelProperty(value = "开票信息（发票抬头）")
    private String invoiceTitle;

    @ApiModelProperty(value = "工商登记编号")
    private String registNumber;

    @ApiModelProperty(value = "开户行名称")
    private String bankName;

    @ApiModelProperty(value = "银行账户名称")
    private String accountName;

    @ApiModelProperty(value = "开户账号")
    private String accountNumber;

    @ApiModelProperty(value = "资产总额")
    private Integer totalAssets;

    @ApiModelProperty(value = "法人身份证号")
    private String corporateCapacity;

    @ApiModelProperty(value = "办公电话")
    private String officePhone;

    @ApiModelProperty(value = "注册地址")
    private String registeredAddress;

    @ApiModelProperty(value = "电子邮箱")
    private String mailBox;

    @ApiModelProperty(value = "企业官方网站地址")
    private String officialWebsite;

    @ApiModelProperty(value = "仓房数")
    private Integer houseNumber;

    @ApiModelProperty(value = "油罐数")
    private Integer tankNumber;

    @ApiModelProperty(value = "库区产权")
    private String depotProperty;

    private Date updatetime;

    @ApiModelProperty(value = "级次")
    private String levelCode;

    @ApiModelProperty(value = "市局对应机构编码")
    @TableField("cityCouncil_code")
    private String citycouncilCode;

    @TableField(exist = false)
    @ApiModelProperty(value = "子单位")
    private List<OrgInfo> children = new ArrayList<OrgInfo>();

    @ApiModelProperty(value = "是否有子节点")
    @TableField(exist = false)
    Boolean subset;
}
