package com.sy.coinage.sys.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 组织机构实体类
 */
@Data
@EqualsAndHashCode(callSuper = false)

@TableName("sys_org")
// @ApiModel(value = "组织机构对象", description = "组织机构")
public class Org implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键 -10
     */
    @ApiModelProperty(value = "自增主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;


    /**
     * 状态 1可用 2禁用 -3
     */
    @ApiModelProperty(value = "状态 1可用 2禁用")
    @TableField(value = "status")
    private Integer status;

    /**
     * 删除标记 1未删除 2已删除 -3
     */
    @ApiModelProperty(value = "删除标记 1未删除 2已删除")
    @TableField(value = "del_flag")
    private Integer delFlag;

    /**
     * 排序 -5
     */
    @ApiModelProperty(value = "排序")
    @TableField(value = "sorted")
    private Integer sorted;

    /**
     * 上级id -10
     */
    @ApiModelProperty(value = "上级id")
    @TableField(value = "pid")
    private Integer pid;

    /**
     * 负责人 -10
     */
    @ApiModelProperty(value = "负责人")
    @TableField(value = "director_name")
    private String directorName;

    /**
     * 机构简称 -10
     */
    @ApiModelProperty(value = "机构简称")
    @TableField(value = "short_name")
    private String shortName;

    /**
     * 联系人 -10
     */
    @ApiModelProperty(value = "联系人")
    @TableField(value = "linkman")
    private String linkman;

    /**
     * 联系电话 -20
     */
    @ApiModelProperty(value = "联系电话")
    @TableField(value = "telephone")
    private String telephone;

    /**
     * 省编号 -10
     */
    @ApiModelProperty(value = "省编号")
    @TableField(value = "province_code")
    private Integer provinceCode;

    /**
     * 市编号 -10
     */
    @ApiModelProperty(value = "市编号")
    @TableField(value = "city_code")
    private Integer cityCode;

    /**
     * 区编号 -10
     */
    @ApiModelProperty(value = "区编号")
    @TableField(value = "district_code")
    private Integer districtCode;

    /**
     * 创建人 -16
     */
    @ApiModelProperty(value = "创建人")
    @TableField(value = "create_by")
    private String createBy;

    /**
     * 省名称 -20
     */
    @ApiModelProperty(value = "省名称")
    @TableField(value = "province_name")
    private String provinceName;

    /**
     * 市名称 -20
     */
    @ApiModelProperty(value = "市名称")
    @TableField(value = "city_name")
    private String cityName;

    /**
     * 区名称 -20
     */
    @ApiModelProperty(value = "区名称")
    @TableField(value = "district_name")
    private String districtName;

    /**
     * 组织机构代码/编号 -20
     */
    @ApiModelProperty(value = "组织机构代码/编号")
    @TableField(value = "code")
    private String code;

    /**
     * 创建时间 -19
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 机构名称 -50
     */
    @ApiModelProperty(value = "机构名称")
    @TableField(value = "name")
    private String name;

    /**
     * 详细地址/无省市区信息 -50
     */
    @ApiModelProperty(value = "详细地址/无省市区信息")
    @TableField(value = "address")
    private String address;

    /**
     * 租户id -10
     */
    @ApiModelProperty(value = "租户id")
    @TableField(value = "tenant_id")
    private Integer tenantId;

}
