gaoluyang
5 天以前 cdaec80a5ffa474f69e5c36f0312be3c0abf2210
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
-- =============================================
-- 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)