final_schema.sql
9.36 KB
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
-- ============================================================================
-- AI 补货建议系统 - 表结构
-- ============================================================================
-- 版本: 1.0.0
-- 更新日期: 2026-01-31
-- ============================================================================
-- 1. AI补货任务表
DROP TABLE IF EXISTS ai_replenishment_task;
CREATE TABLE ai_replenishment_task (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
task_no VARCHAR(32) NOT NULL UNIQUE COMMENT '任务编号(AI-开头)',
group_id BIGINT NOT NULL COMMENT '集团ID',
dealer_grouping_id BIGINT NOT NULL COMMENT '商家组合ID',
dealer_grouping_name VARCHAR(128) COMMENT '商家组合名称',
brand_grouping_id BIGINT COMMENT '品牌组合ID',
plan_amount DECIMAL(14,2) DEFAULT 0 COMMENT '计划采购金额(预算)',
actual_amount DECIMAL(14,2) DEFAULT 0 COMMENT '实际分配金额',
part_count INT DEFAULT 0 COMMENT '分配配件数量',
base_ratio DECIMAL(10,4) COMMENT '基准库销比',
status TINYINT DEFAULT 0 COMMENT '状态: 0-运行中 1-成功 2-失败',
error_message TEXT COMMENT '错误信息',
llm_provider VARCHAR(32) COMMENT 'LLM提供商',
llm_model VARCHAR(64) COMMENT 'LLM模型名称',
llm_total_tokens INT DEFAULT 0 COMMENT 'LLM总Token数',
statistics_date VARCHAR(16) COMMENT '统计日期',
start_time DATETIME COMMENT '任务开始时间',
end_time DATETIME COMMENT '任务结束时间',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_group_date (group_id, statistics_date),
INDEX idx_dealer_grouping (dealer_grouping_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI补货任务表-记录每次补货建议任务执行';
-- 2. AI补货建议明细表
DROP TABLE IF EXISTS ai_replenishment_detail;
CREATE TABLE ai_replenishment_detail (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
task_no VARCHAR(32) NOT NULL COMMENT '任务编号',
group_id BIGINT NOT NULL COMMENT '集团ID',
dealer_grouping_id BIGINT NOT NULL COMMENT '商家组合ID',
brand_grouping_id BIGINT COMMENT '品牌组合ID',
shop_id BIGINT NOT NULL COMMENT '库房ID',
shop_name VARCHAR(128) COMMENT '库房名称',
part_code VARCHAR(64) NOT NULL COMMENT '配件编码',
part_name VARCHAR(256) COMMENT '配件名称',
unit VARCHAR(32) COMMENT '单位',
cost_price DECIMAL(14,2) DEFAULT 0 COMMENT '成本价',
current_ratio DECIMAL(10,4) COMMENT '当前库销比',
base_ratio DECIMAL(10,4) COMMENT '基准库销比',
post_plan_ratio DECIMAL(10,4) COMMENT '计划后预计库销比',
valid_storage_cnt DECIMAL(14,2) DEFAULT 0 COMMENT '有效库存数量',
avg_sales_cnt DECIMAL(14,2) DEFAULT 0 COMMENT '平均销量(月)',
suggest_cnt INT DEFAULT 0 COMMENT '建议采购数量',
suggest_amount DECIMAL(14,2) DEFAULT 0 COMMENT '建议采购金额',
suggestion_reason TEXT COMMENT '补货建议理由',
priority INT NOT NULL DEFAULT 2 COMMENT '优先级: 1-高, 2-中, 3-低',
llm_confidence FLOAT DEFAULT 0.8 COMMENT 'LLM置信度',
statistics_date VARCHAR(16) COMMENT '统计日期',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_task_no (task_no),
INDEX idx_shop_part (shop_id, part_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI补货建议明细表-存储每次任务的配件分配结果';
-- 3. AI补货分析报告表
DROP TABLE IF EXISTS ai_replenishment_report;
CREATE TABLE ai_replenishment_report (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
task_no VARCHAR(32) NOT NULL COMMENT '任务编号',
group_id BIGINT NOT NULL COMMENT '集团ID',
dealer_grouping_id BIGINT NOT NULL COMMENT '商家组合ID',
dealer_grouping_name VARCHAR(128) COMMENT '商家组合名称',
total_storage_amount DECIMAL(16,2) COMMENT '总库存金额',
total_sales_amount DECIMAL(16,2) COMMENT '总销售金额(90天)',
overall_ratio DECIMAL(10,4) COMMENT '整体库销比',
target_ratio DECIMAL(10,4) COMMENT '目标库销比',
total_part_count INT DEFAULT 0 COMMENT '配件总数',
shortage_part_count INT DEFAULT 0 COMMENT '缺货配件数',
overstock_part_count INT DEFAULT 0 COMMENT '超标配件数',
normal_part_count INT DEFAULT 0 COMMENT '正常配件数',
stagnant_part_count INT DEFAULT 0 COMMENT '呆滞配件数',
suggest_total_amount DECIMAL(14,2) COMMENT '建议采购总金额',
suggest_part_count INT DEFAULT 0 COMMENT '建议采购配件数',
top_priority_parts TEXT COMMENT '重点关注配件(JSON数组)',
report_content JSON COMMENT '结构化报告内容(JSON)',
llm_provider VARCHAR(32) COMMENT 'LLM提供商',
llm_model VARCHAR(64) COMMENT 'LLM模型',
generation_tokens INT DEFAULT 0 COMMENT '生成Token数',
statistics_date VARCHAR(16) COMMENT '统计日期',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_task_no (task_no),
INDEX idx_dealer_grouping (dealer_grouping_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI补货分析报告表-存储LLM生成的分析报告';
-- 4. AI任务执行日志表
DROP TABLE IF EXISTS ai_task_execution_log;
CREATE TABLE ai_task_execution_log (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
task_no VARCHAR(32) NOT NULL COMMENT '任务编号',
group_id BIGINT NOT NULL COMMENT '集团ID',
brand_grouping_id BIGINT COMMENT '品牌组合ID',
brand_grouping_name VARCHAR(128) COMMENT '品牌组合名称',
dealer_grouping_id BIGINT NOT NULL COMMENT '商家组合ID',
dealer_grouping_name VARCHAR(128) COMMENT '商家组合名称',
step_name VARCHAR(64) NOT NULL COMMENT '步骤名称',
step_order INT DEFAULT 0 COMMENT '步骤顺序',
status TINYINT DEFAULT 0 COMMENT '状态: 0-进行中 1-成功 2-失败 3-跳过',
input_data TEXT COMMENT '输入数据(JSON)',
output_data TEXT COMMENT '输出数据(JSON)',
error_message TEXT COMMENT '错误信息',
retry_count INT DEFAULT 0 COMMENT '重试次数',
sql_query TEXT COMMENT 'SQL查询语句(如有)',
llm_prompt TEXT COMMENT 'LLM提示词(如有)',
llm_response TEXT COMMENT 'LLM响应(如有)',
llm_tokens INT DEFAULT 0 COMMENT 'LLM Token消耗',
execution_time_ms INT DEFAULT 0 COMMENT '执行耗时(毫秒)',
start_time DATETIME COMMENT '开始时间',
end_time DATETIME COMMENT '结束时间',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_task_no (task_no),
INDEX idx_group_date (group_id, create_time),
INDEX idx_dealer_grouping (dealer_grouping_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI任务执行日志表-记录每个步骤的执行详情';
-- 5. AI补货配件汇总表
DROP TABLE IF EXISTS ai_replenishment_part_summary;
CREATE TABLE ai_replenishment_part_summary (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
task_no VARCHAR(32) NOT NULL COMMENT '任务编号',
group_id BIGINT NOT NULL COMMENT '集团ID',
dealer_grouping_id BIGINT NOT NULL COMMENT '商家组合ID',
part_code VARCHAR(64) NOT NULL COMMENT '配件编码',
part_name VARCHAR(256) COMMENT '配件名称',
unit VARCHAR(32) COMMENT '单位',
cost_price DECIMAL(14,2) DEFAULT 0.00 COMMENT '成本价',
total_storage_cnt DECIMAL(14,2) DEFAULT 0.00 COMMENT '商家组合内总库存数量',
total_avg_sales_cnt DECIMAL(14,2) DEFAULT 0.00 COMMENT '商家组合内总月均销量',
group_current_ratio DECIMAL(10,4) COMMENT '商家组合级库销比',
total_suggest_cnt INT DEFAULT 0 COMMENT '总建议数量',
total_suggest_amount DECIMAL(14,2) DEFAULT 0.00 COMMENT '总建议金额',
shop_count INT DEFAULT 0 COMMENT '涉及门店数',
need_replenishment_shop_count INT DEFAULT 0 COMMENT '需要补货的门店数',
part_decision_reason TEXT COMMENT '配件级补货决策理由',
priority INT NOT NULL DEFAULT 2 COMMENT '优先级: 1=高, 2=中, 3=低',
llm_confidence FLOAT DEFAULT 0.8 COMMENT 'LLM置信度',
statistics_date VARCHAR(16) COMMENT '统计日期',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_task_no (task_no),
INDEX idx_part_code (part_code),
INDEX idx_dealer_grouping (dealer_grouping_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI补货建议-配件汇总表';