package com.jeeplus.finance.workClientInfo.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.core.query.Query;
import com.jeeplus.core.query.QueryType;
import lombok.Data;

import java.util.List;

/**
 * 客户管理Entity
 */
@Data
@TableName("work_client_info")
public class WorkClientInfo extends BaseEntity {

    /**
     * 客户名称
     */
    @Query(tableColumn = "a.name")
    private String name;

    /**
     * 法人代表
     */
    private String lawerPresint;

    /**
     * 组织机构代码
     */
    private String orUnicode;

    /**
     * 客户性质
     */
    @Query
    private String companyType;

    /**
     * 客户行业
     */
    @Query
    private String companyIndustry;

    /**
     * 客户类型
     */
    @Query
    private String clientType;

    /**
     * 信用等级
     */
    private String creditRank;

    /**
     * 地区Id
     */
    @Query(type = QueryType.EQ)
    private String areaId;

    /**
     * 地区名称
     */
    @TableField(exist = false)
    private String areaName;

    /**
     * 邮政编码
     */
    private String zipCode;

    /**
     * 传真
     */
    private String fax;

    /**
     * 税务号
     */
    private String taxId;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 注册地址
     */
    private String registerAddress;

    /**
     * 公司网址
     */
    private String companyUrl;

    /**
     * 单位简介
     */
    private String remarks;

    /**
     * 创建人所属公司id
     */
    private String companyId;

    /**
     * 创建人所属部门id
     */
    private String officeId;

    /**
     * 地区父节点
     */
    private String areaParentIds;

    /**
     * 公司电话
     */
    private String telephone;

    /**
     * 是否拥有统一社会信用代码  1:有，2无
     */
    private Integer hasUscc;

    /**
     * 统一社会信用代码
     */
    @Query
    private String uscCode;

    /**
     * 客户编号
     */
    private String number;

    /**
     * 代表方（以逗号分割）
     */
    @TableField(exist = false)
    @Query(type = QueryType.EQ, tableColumn = "f.job_type_id")
    private String deputy;

    @TableField(exist = false)
    private String[] createDates;

    @TableField(exist = false)
    private String createFlag;  //创建状态

    @TableField(exist = false)
    private List<WorkClientBank> backs;
}
