2 天以前 eccad5a129106377a275be4f7cdc58e99e9b95d4
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
-- =============================================
-- 销售报价模块数据库表
-- =============================================
 
-- 1. 报价单主表
CREATE TABLE IF NOT EXISTS `crm_sale_quotation` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  `no` varchar(32) NOT NULL COMMENT '报价单号',
  `name` varchar(128) NOT NULL COMMENT '报价单名称',
  `customer_id` bigint NOT NULL COMMENT '客户编号',
  `business_id` bigint DEFAULT NULL COMMENT '商机编号',
  `contact_id` bigint DEFAULT NULL COMMENT '联系人编号',
  `owner_user_id` bigint NOT NULL COMMENT '负责人编号',
  `status` int NOT NULL DEFAULT 0 COMMENT '状态(0草稿 10审批中 20已通过 30已拒绝 40已取消 50已转合同)',
  `process_instance_id` varchar(64) DEFAULT NULL COMMENT '工作流编号',
  `quotation_time` datetime DEFAULT NULL COMMENT '报价日期',
  `valid_until` datetime DEFAULT NULL COMMENT '有效期至',
  `total_product_price` decimal(24,6) DEFAULT NULL COMMENT '产品总金额',
  `discount_percent` decimal(10,2) DEFAULT 0 COMMENT '整单折扣(%)',
  `discount_price` decimal(24,6) DEFAULT 0 COMMENT '优惠金额',
  `total_price` decimal(24,6) DEFAULT NULL COMMENT '报价总金额',
  `tax_rate` decimal(10,2) DEFAULT NULL COMMENT '税率(%)',
  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '税额',
  `contract_id` bigint DEFAULT NULL COMMENT '关联合同编号',
  `contract_no` varchar(32) DEFAULT NULL COMMENT '关联合同单号',
  `file_url` varchar(512) DEFAULT NULL COMMENT '附件地址',
  `remark` varchar(1024) DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) DEFAULT NULL COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) DEFAULT NULL COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_no` (`no`),
  KEY `idx_customer_id` (`customer_id`),
  KEY `idx_business_id` (`business_id`),
  KEY `idx_owner_user_id` (`owner_user_id`)
) ENGINE=InnoDB COMMENT='CRM 销售报价单';
 
-- 2. 报价单产品明细表
CREATE TABLE IF NOT EXISTS `crm_sale_quotation_product` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  `quotation_id` bigint NOT NULL COMMENT '报价单编号',
  `item_id` bigint NOT NULL COMMENT 'MDM物料编号',
  `item_unit_id` bigint DEFAULT NULL COMMENT '计量单位编号',
  `item_price` decimal(24,6) NOT NULL COMMENT '物料原价(冗余)',
  `quotation_price` decimal(24,6) NOT NULL COMMENT '报价单价',
  `count` decimal(24,6) NOT NULL COMMENT '数量',
  `total_price` decimal(24,6) NOT NULL COMMENT '小计金额',
  `tax_percent` decimal(10,2) DEFAULT NULL COMMENT '税率(%)',
  `tax_price` decimal(24,6) DEFAULT NULL COMMENT '税额',
  `remark` varchar(256) DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) DEFAULT NULL COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) DEFAULT NULL COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
  PRIMARY KEY (`id`),
  KEY `idx_quotation_id` (`quotation_id`)
) ENGINE=InnoDB COMMENT='CRM 销售报价单产品明细';
 
-- =============================================
-- 合同产品表修改(使用 MDM 物料)
-- =============================================
 
-- 3. 修改合同产品表结构
-- 注意:如果已有数据,需要先处理数据迁移
-- ALTER TABLE `crm_contract_product` DROP COLUMN `product_id`;
-- ALTER TABLE `crm_contract_product` DROP COLUMN `product_price`;
 
ALTER TABLE `crm_contract_product`
  ADD COLUMN `item_id` bigint DEFAULT NULL COMMENT 'MDM物料编号' AFTER `contract_id`,
  ADD COLUMN `item_unit_id` bigint DEFAULT NULL COMMENT '计量单位编号' AFTER `item_id`,
  ADD COLUMN `item_price` decimal(24,6) DEFAULT NULL COMMENT '物料原价(冗余)' AFTER `item_unit_id`;
 
-- 数据迁移:将 product_id 重命名为 item_id(如果需要保留原有数据)
-- UPDATE `crm_contract_product` SET `item_id` = `product_id`, `item_price` = `product_price`;
 
-- =============================================
-- BPM 分类(需要在 BPM 管理后台创建,这里提供 SQL 参考)
-- =============================================
 
-- INSERT INTO `bpm_category` (`name`, `code`, `description`, `status`, `sort`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
-- VALUES ('销售报价审批', 'sale_quotation_approve', '销售报价单审批流程分类', 0, 0, '1', NOW(), '1', NOW(), b'0');