-- 数据仓库建表语句 (Doris)
-- 表中文描述：供应商信息表，存储供应商基本信息、联系方式和状态信息
-- 源表：供应商表 (A_PARTNER_SUPPLIER)
CREATE TABLE IF NOT EXISTS dw_supplier (
    supplier_id VARCHAR(40) COMMENT '供应商唯一标识符，系统生成的主键ID',
    supplier_name VARCHAR(200) COMMENT '供应商名称，用于业务识别和显示',
    supplier_cname VARCHAR(200) COMMENT '供应商简称，用于简写显示',
    supplier_full_name VARCHAR(200) COMMENT '供应商全称，正式注册名称',
    supplier_state BIGINT COMMENT '供应商状态：1-正常，其他值表示不同状态',
    supplier_category VARCHAR(40) COMMENT '供应商类别，如女装、默认经营范围等',
    supplier_score BIGINT COMMENT '供应商评分，用于评估供应商绩效',
    supplier_contact VARCHAR(100) COMMENT '业务对接联系人姓名',
    represent_name VARCHAR(100) COMMENT '法人代表姓名',
    represent_tel VARCHAR(40) COMMENT '法人代表联系电话',
    represent_idcard VARCHAR(40) COMMENT '法人代表身份证号码',
    supplier_tel VARCHAR(64) COMMENT '供应商固定电话',
    supplier_mobile VARCHAR(40) COMMENT '供应商手机号码',
    supplier_email VARCHAR(100) COMMENT '供应商电子邮箱地址',
    supplier_bank VARCHAR(100) COMMENT '供应商银行账户信息',
    supplier_business_buyer VARCHAR(100) COMMENT '业务采购负责人',
    supplier_business_tel VARCHAR(40) COMMENT '业务联系电话',
    area_province VARCHAR(40) COMMENT '所在省份名称',
    area_province_code VARCHAR(40) COMMENT '省份代码',
    area_city VARCHAR(40) COMMENT '所在城市名称',
    area_city_code VARCHAR(16) COMMENT '城市代码',
    area_district VARCHAR(40) COMMENT '所在区县名称',
    area_district_code VARCHAR(40) COMMENT '区县代码',
    area_town VARCHAR(40) COMMENT '所在乡镇/街道名称',
    area_town_code VARCHAR(40) COMMENT '乡镇/街道代码',
    common_cooperate VARCHAR(40) COMMENT '合作类型，如现货等',
    common_cooperate_code VARCHAR(24) COMMENT '合作类型代码',
    common_level VARCHAR(40) COMMENT '供应商等级，如A级',
    common_level_code VARCHAR(16) COMMENT '供应商等级代码',
    common_manage_type VARCHAR(40) COMMENT '管理类型，如成衣供应商',
    common_manage_type_code VARCHAR(16) COMMENT '管理类型代码',
    common_production_type VARCHAR(16) COMMENT '生产类型',
    common_production_type_name VARCHAR(40) COMMENT '生产类型名称',
    common_quality VARCHAR(40) COMMENT '质量等级',
    common_quality_code VARCHAR(16) COMMENT '质量等级代码',
    cooperation_brand VARCHAR(60) COMMENT '合作品牌信息',
    annual_output BIGINT COMMENT '年产量，单位可能为件或金额',
    month_output BIGINT COMMENT '月产量，单位可能为件或金额',
    month_new_goods_count BIGINT COMMENT '每月新品数量',
    machines_number BIGINT COMMENT '机器数量',
    edition_making_time BIGINT COMMENT '版单制作时间，可能为天数',
    introduction_year BIGINT COMMENT '引入年份',
    supplier_factory_nums BIGINT COMMENT '工厂数量',
    supplier_company_life BIGINT COMMENT '公司成立年限',
    supplier_area BIGINT COMMENT '供应商区域代码',
    supplier_factory BIGINT COMMENT '是否为工厂：1-是，0-否',
    supplier_material BIGINT COMMENT '是否为物料供应商：1-是，0-否',
    supplier_mwarehouse BIGINT COMMENT '是否为物料仓库：1-是，0-否',
    supplier_gwarehouse BIGINT COMMENT '是否为成品仓库：1-是，0-否',
    supplier_sales_customer BIGINT COMMENT '是否为销售客户：1-是，0-否',
    system_is_scm BIGINT COMMENT '是否为SCM系统供应商：1-是，0-否',
    retail_now_discount BIGINT COMMENT '零售现款折扣',
    wholesale_now_discount BIGINT COMMENT '批发现款折扣',
    wholesale_futures_discount BIGINT COMMENT '批发期货折扣',
    supplier_assessment_code BIGINT COMMENT '供应商评估代码',
    supplier_assessment_name VARCHAR(64) COMMENT '供应商评估名称',
    tax_ratio BIGINT COMMENT '税率',
    tax_ratio_id VARCHAR(16) COMMENT '税率ID',
    currency_id VARCHAR(32) COMMENT '货币ID',
    payment_scheme_id VARCHAR(8) COMMENT '付款方案ID',
    factory_id VARCHAR(32) COMMENT '工厂ID',
    contract_template_id VARCHAR(32) COMMENT '合同模板ID',
    electron_sign_platform VARCHAR(32) COMMENT '电子签章平台',
    sign_mode VARCHAR(8) COMMENT '签章模式',
    society_credit_code VARCHAR(128) COMMENT '社会信用代码',
    supplier_outside_id VARCHAR(128) COMMENT '外部系统供应商ID',
    tenant_id VARCHAR(64) COMMENT '租户ID',
    supplier_company_id VARCHAR(64) COMMENT '供应商公司ID',
    supplier_depot_id VARCHAR(64) COMMENT '供应商仓库ID',
    create_date DATETIME COMMENT '创建时间，记录供应商信息创建时间戳',
    create_userid VARCHAR(64) COMMENT '创建用户ID',
    create_username VARCHAR(64) COMMENT '创建用户名',
    update_date DATETIME COMMENT '最后更新时间，记录供应商信息修改时间',
    update_userid VARCHAR(64) COMMENT '更新用户ID',
    update_username VARCHAR(64) COMMENT '更新用户名',
    time_begin DATETIME COMMENT '有效开始时间',
    time_end DATETIME COMMENT '有效结束时间',
    time_import DATETIME COMMENT '数据导入时间'
)
-- 使用UNIQUE KEY模型实现主键去重，相同supplier_id的数据会自动覆盖
UNIQUE KEY(supplier_id)
DISTRIBUTED BY HASH(supplier_id) BUCKETS 10
PROPERTIES (
    "replication_num" = "1",
    -- 启用写时合并模式以获得最佳查询性能
    "enable_unique_key_merge_on_write" = "true"
);

-- 表注释：此表用于存储供应商核心信息，支持供应商管理和供应链协同功能
COMMENT ON TABLE dw_supplier IS '供应商信息表，包含供应商基本信息、联系信息、状态和评估信息';