-- =============================================
|
-- SRM 供应商关系管理模块 - 数据库初始化脚本
|
-- MySQL 8.4+
|
--
|
-- 保留范围:供应商档案(含多联系人/多银行账户)、询价比价、投标保证金
|
-- 已移除:供应商准入、资质、绩效、招投标、统计分析(对应表已在
|
-- sql/mysql/srm_procurement_refactor_20261103.sql 中 DROP)
|
-- =============================================
|
|
-- 1. 供应商主表
|
CREATE TABLE IF NOT EXISTS srm_supplier (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '供应商ID',
|
code VARCHAR(64) NOT NULL COMMENT '供应商编码',
|
name VARCHAR(255) NOT NULL COMMENT '供应商名称',
|
short_name VARCHAR(100) DEFAULT NULL COMMENT '供应商简称',
|
type VARCHAR(50) DEFAULT NULL COMMENT '供应商类型(生产型/贸易型/服务型)',
|
company_nature VARCHAR(50) DEFAULT NULL COMMENT '企业性质(国企/民营/外资/合资)',
|
registered_capital DECIMAL(24,6) DEFAULT NULL COMMENT '注册资金(万元)',
|
business_license_no VARCHAR(100) DEFAULT NULL COMMENT '营业执照编号',
|
tax_no VARCHAR(100) DEFAULT NULL COMMENT '税号',
|
legal_person VARCHAR(50) DEFAULT NULL COMMENT '法人代表',
|
address VARCHAR(500) DEFAULT NULL COMMENT '公司地址',
|
website VARCHAR(200) DEFAULT NULL COMMENT '公司网址',
|
contact_name VARCHAR(50) DEFAULT NULL COMMENT '默认联系人(主表冗余)',
|
contact_mobile VARCHAR(20) DEFAULT NULL COMMENT '默认联系电话(主表冗余)',
|
contact_email VARCHAR(100) DEFAULT NULL COMMENT '默认邮箱(主表冗余)',
|
bank_name VARCHAR(255) DEFAULT NULL COMMENT '默认开户银行(主表冗余)',
|
bank_account VARCHAR(100) DEFAULT NULL COMMENT '默认银行账号(主表冗余)',
|
status INT NOT NULL DEFAULT 0 COMMENT '状态(0启用 1禁用)',
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
erp_supplier_id BIGINT DEFAULT NULL COMMENT '关联ERP供应商ID',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
UNIQUE KEY uk_code (code),
|
KEY idx_name (name),
|
KEY idx_status (status),
|
KEY idx_erp_supplier_id (erp_supplier_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='供应商主表';
|
|
-- 2. 供应商联系人表(支持多个联系人,仅一个默认)
|
CREATE TABLE IF NOT EXISTS srm_supplier_contact (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '联系人ID',
|
supplier_id BIGINT NOT NULL COMMENT '供应商ID',
|
name VARCHAR(50) NOT NULL COMMENT '联系人姓名',
|
position VARCHAR(50) DEFAULT NULL COMMENT '职位',
|
mobile VARCHAR(20) DEFAULT NULL COMMENT '手机号码',
|
telephone VARCHAR(20) DEFAULT NULL COMMENT '固定电话',
|
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
|
wechat VARCHAR(50) DEFAULT NULL COMMENT '微信号',
|
is_default BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否默认联系人',
|
sort INT NOT NULL DEFAULT 0 COMMENT '排序',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
KEY idx_supplier_id (supplier_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='供应商联系人表';
|
|
-- 3. 供应商银行账户表(支持多个开户行,仅一个默认)
|
CREATE TABLE IF NOT EXISTS srm_supplier_bank (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '银行账户ID',
|
supplier_id BIGINT NOT NULL COMMENT '供应商ID',
|
bank_name VARCHAR(128) NOT NULL COMMENT '开户行',
|
bank_account VARCHAR(64) NOT NULL COMMENT '银行账号',
|
bank_no VARCHAR(64) DEFAULT NULL COMMENT '银行行号',
|
bank_address VARCHAR(255) DEFAULT NULL COMMENT '开户行地址',
|
is_default BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否默认银行账户',
|
sort INT NOT NULL DEFAULT 0 COMMENT '排序',
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
KEY idx_supplier_id (supplier_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='供应商银行账户表';
|
|
-- 4. 供应商分类关联表
|
CREATE TABLE IF NOT EXISTS srm_supplier_category (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '关联ID',
|
supplier_id BIGINT NOT NULL COMMENT '供应商ID',
|
category_id BIGINT NOT NULL COMMENT '分类ID',
|
category_name VARCHAR(100) DEFAULT NULL COMMENT '分类名称(冗余)',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted INT NOT NULL DEFAULT 0 COMMENT '是否删除 0=否 1=是',
|
PRIMARY KEY (id),
|
KEY idx_supplier_id (supplier_id),
|
KEY idx_category_id (category_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='供应商分类关联表';
|
|
-- 5. 询价单
|
CREATE TABLE IF NOT EXISTS srm_inquiry (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '询价单ID',
|
no VARCHAR(32) NOT NULL COMMENT '询价单号',
|
title VARCHAR(128) NOT NULL COMMENT '询价标题',
|
status TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0草稿 10询价中 20已转订单 30已取消',
|
inquiry_date DATE DEFAULT NULL COMMENT '询价日期',
|
deadline DATE DEFAULT NULL COMMENT '报价截止日期',
|
purchaser_user_id BIGINT DEFAULT NULL COMMENT '采购员用户ID',
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
UNIQUE KEY uk_no (no),
|
KEY idx_status (status),
|
KEY idx_inquiry_date (inquiry_date)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SRM询价单';
|
|
-- 6. 询价单产品行
|
CREATE TABLE IF NOT EXISTS srm_inquiry_item (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '询价产品行ID',
|
inquiry_id BIGINT NOT NULL COMMENT '询价单ID',
|
product_id BIGINT DEFAULT NULL COMMENT '产品ID',
|
product_unit_id BIGINT DEFAULT NULL COMMENT '产品单位ID',
|
product_code VARCHAR(64) DEFAULT NULL COMMENT '产品编码',
|
product_name VARCHAR(255) DEFAULT NULL COMMENT '产品名称',
|
product_spec VARCHAR(200) DEFAULT NULL COMMENT '规格型号',
|
unit_name VARCHAR(50) DEFAULT NULL COMMENT '单位名称',
|
quantity DECIMAL(24,6) NOT NULL DEFAULT 0 COMMENT '采购数量',
|
estimated_price DECIMAL(24,6) DEFAULT NULL COMMENT '预估单价',
|
selected_supplier_id BIGINT DEFAULT NULL COMMENT '中标供应商ID',
|
selected_quote_id BIGINT DEFAULT NULL COMMENT '中标报价ID',
|
selected_price DECIMAL(24,6) DEFAULT NULL COMMENT '中标单价',
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
sort INT NOT NULL DEFAULT 0 COMMENT '排序',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
KEY idx_inquiry_id (inquiry_id),
|
KEY idx_product_id (product_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SRM询价单产品行';
|
|
-- 7. 询价参与供应商
|
CREATE TABLE IF NOT EXISTS srm_inquiry_supplier (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '询价参与供应商ID',
|
inquiry_id BIGINT NOT NULL COMMENT '询价单ID',
|
supplier_id BIGINT NOT NULL COMMENT '供应商ID',
|
quote_status TINYINT NOT NULL DEFAULT 0 COMMENT '报价状态:0未报价 10已报价',
|
quote_time DATETIME DEFAULT NULL COMMENT '最近报价时间',
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
KEY idx_inquiry_id (inquiry_id),
|
KEY idx_supplier_id (supplier_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SRM询价参与供应商';
|
|
-- 8. 询价报价明细
|
CREATE TABLE IF NOT EXISTS srm_inquiry_quote (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '询价报价ID',
|
inquiry_id BIGINT NOT NULL COMMENT '询价单ID',
|
inquiry_item_id BIGINT NOT NULL COMMENT '询价产品行ID',
|
supplier_id BIGINT NOT NULL COMMENT '供应商ID',
|
price DECIMAL(24,6) NOT NULL COMMENT '报价单价',
|
tax_rate DECIMAL(24,6) DEFAULT NULL COMMENT '税率(%)',
|
delivery_cycle INT DEFAULT NULL COMMENT '交货周期(天)',
|
payment_terms VARCHAR(128) DEFAULT NULL COMMENT '付款条件',
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
is_selected BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否中标报价',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
KEY idx_inquiry_id (inquiry_id),
|
KEY idx_inquiry_item_id (inquiry_item_id),
|
KEY idx_supplier_id (supplier_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SRM询价报价明细';
|
|
-- 9. 询价转订单记录
|
CREATE TABLE IF NOT EXISTS srm_inquiry_order (
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '询价转订单记录ID',
|
inquiry_id BIGINT NOT NULL COMMENT '询价单ID',
|
supplier_id BIGINT NOT NULL COMMENT '中标供应商ID',
|
purchase_order_id BIGINT DEFAULT NULL COMMENT '生成的采购订单ID',
|
purchase_order_no VARCHAR(64) DEFAULT NULL COMMENT '生成的采购订单号',
|
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
deleted BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
PRIMARY KEY (id),
|
KEY idx_inquiry_id (inquiry_id),
|
KEY idx_supplier_id (supplier_id),
|
KEY idx_purchase_order_id (purchase_order_id)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='SRM询价转采购订单记录';
|
|
-- 10. 投标保证金已迁至 CRM 销售管理(表 crm_bid_bond,见 sql/mysql/20261105_crm_bid_bond.sql)
|