init.sql
7.94 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
-- AI 补货建议系统表结构
-- 版本: 2.0
-- 更新: 2026-01-27
-- 1. AI预计划明细表
DROP TABLE IF EXISTS ai_pre_plan_detail;
CREATE TABLE ai_pre_plan_detail (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
group_id BIGINT NOT NULL COMMENT '集团ID',
brand_grouping_id BIGINT COMMENT '品牌组合ID',
dealer_grouping_id BIGINT NOT NULL COMMENT '商家组合ID',
dealer_grouping_name VARCHAR(128) COMMENT '商家组合名称',
dealer_id BIGINT COMMENT '商家ID',
dealer_name VARCHAR(128) COMMENT '商家名称',
area_id BIGINT COMMENT '区域ID',
area_name VARCHAR(128) COMMENT '区域名称',
shop_id BIGINT NOT NULL COMMENT '库房ID',
shop_name VARCHAR(128) COMMENT '库房名称',
part_id BIGINT 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 COMMENT '成本价',
base_ratio DECIMAL(10,4) COMMENT '基准库销比',
current_ratio DECIMAL(10,4) COMMENT '当前库销比',
valid_storage_cnt DECIMAL(14,2) DEFAULT 0 COMMENT '有效库存数量(在库未锁+在途+计划数+调拨在途)',
avg_sales_cnt DECIMAL(14,2) DEFAULT 0 COMMENT '平均销量(月)',
target_storage_cnt DECIMAL(14,2) DEFAULT 0 COMMENT '目标库存数量',
plan_cnt INT DEFAULT 0 COMMENT '建议计划数量',
plan_amount DECIMAL(14,2) DEFAULT 0 COMMENT '建议计划金额',
part_biz_type TINYINT DEFAULT 1 COMMENT '配件业务类型: 1-配件 2-装饰',
statistics_date VARCHAR(16) NOT NULL COMMENT '统计日期(yyyy-MM-dd)',
yn TINYINT DEFAULT 1 COMMENT '是否有效: 1-是 0-否',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
INDEX idx_group_date (group_id, statistics_date),
INDEX idx_dealer_grouping (dealer_grouping_id),
INDEX idx_shop (shop_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI预计划明细表-存储每日计算的配件补货建议';
-- 2. 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补货任务表-记录每次补货建议任务执行';
-- 3. 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补货建议明细表-存储每次任务的配件分配结果';
-- 4. 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_title VARCHAR(256) COMMENT '报告标题',
executive_summary TEXT COMMENT '执行摘要',
inventory_analysis TEXT COMMENT '库存分析',
risk_assessment TEXT COMMENT '风险评估',
purchase_recommendations TEXT COMMENT '采购建议',
optimization_suggestions TEXT COMMENT '优化建议',
full_report_markdown LONGTEXT COMMENT '完整报告(Markdown)',
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生成的分析报告';