调整字段prc_order_bill_id → prc_order_bill.bill_id
prc_income_bill_fee_id → prc_income_bill_fee.fee_id
This commit is contained in:
@@ -43,7 +43,7 @@ CREATE TABLE IF NOT EXISTS ar_bill (
|
||||
CREATE TABLE IF NOT EXISTS ar_bill_detail (
|
||||
detail_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账单订单明细ID',
|
||||
ar_bill_id BIGINT(20) NOT NULL COMMENT '应收账单ID',
|
||||
prc_bill_id VARCHAR(36) NOT NULL COMMENT '来源订单计费ID,保持来源类型',
|
||||
prc_order_bill_id VARCHAR(36) NOT NULL COMMENT '来源计费订单ID,对应 prc_order_bill.bill_id',
|
||||
detail_no INT(11) NOT NULL COMMENT '账单内顺序号',
|
||||
order_no VARCHAR(64) NOT NULL COMMENT '订单号快照',
|
||||
tracking_no VARCHAR(64) DEFAULT NULL COMMENT '运单号快照',
|
||||
@@ -66,16 +66,16 @@ CREATE TABLE IF NOT EXISTS ar_bill_detail (
|
||||
create_by VARCHAR(64) NOT NULL COMMENT '创建人',
|
||||
create_time DATETIME NOT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (detail_id),
|
||||
UNIQUE KEY uk_ar_bill_detail_source (ar_bill_id, prc_bill_id),
|
||||
UNIQUE KEY uk_ar_bill_detail_source (ar_bill_id, prc_order_bill_id),
|
||||
UNIQUE KEY uk_ar_bill_detail_no (ar_bill_id, detail_no),
|
||||
KEY idx_ar_bill_detail_source (prc_bill_id),
|
||||
KEY idx_ar_bill_detail_source (prc_order_bill_id),
|
||||
CONSTRAINT fk_ar_bill_detail_bill FOREIGN KEY (ar_bill_id) REFERENCES ar_bill (ar_bill_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单订单快照';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ar_bill_detail_fee (
|
||||
detail_fee_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '账单费用明细ID',
|
||||
detail_id BIGINT(20) NOT NULL COMMENT '账单订单明细ID',
|
||||
prc_fee_id VARCHAR(36) NOT NULL COMMENT '来源费用ID,保持来源类型',
|
||||
prc_income_bill_fee_id VARCHAR(36) NOT NULL COMMENT '来源收入费用ID,对应 prc_income_bill_fee.fee_id',
|
||||
fee_no INT(11) NOT NULL COMMENT '订单内费用顺序号',
|
||||
fee_type VARCHAR(30) NOT NULL COMMENT '费用类型快照',
|
||||
fee_name VARCHAR(100) DEFAULT NULL COMMENT '费用名称快照',
|
||||
@@ -91,9 +91,9 @@ CREATE TABLE IF NOT EXISTS ar_bill_detail_fee (
|
||||
create_by VARCHAR(64) NOT NULL COMMENT '创建人',
|
||||
create_time DATETIME NOT NULL COMMENT '创建时间',
|
||||
PRIMARY KEY (detail_fee_id),
|
||||
UNIQUE KEY uk_ar_detail_prc_fee (detail_id, prc_fee_id),
|
||||
UNIQUE KEY uk_ar_detail_prc_income_fee (detail_id, prc_income_bill_fee_id),
|
||||
KEY idx_ar_detail_fee_type (fee_type),
|
||||
KEY idx_ar_detail_prc_fee (prc_fee_id),
|
||||
KEY idx_ar_detail_prc_income_fee (prc_income_bill_fee_id),
|
||||
KEY idx_ar_detail_fee_order (detail_id, fee_no, detail_fee_id),
|
||||
CONSTRAINT fk_ar_detail_fee_detail FOREIGN KEY (detail_id) REFERENCES ar_bill_detail (detail_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='应收账单费用快照';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
-- 应收账单:订单占用状态 + 单日期截止日迁移
|
||||
-- 适用于已经执行过 ar/ar_bill.sql、price/bill.sql 的数据库。
|
||||
-- 若数据库中的应收明细仍使用旧来源ID列名,请先执行 ar_bill_source_id_rename.sql。
|
||||
-- 请在业务低峰期执行;本脚本只做字段、索引和历史状态初始化,不删除账单明细。
|
||||
SET NAMES utf8mb4;
|
||||
SET @db_name := DATABASE();
|
||||
@@ -60,11 +61,11 @@ DEALLOCATE PREPARE stmt;
|
||||
-- 3. 根据已有账单明细回填历史订单状态。作废账单不占用订单。
|
||||
UPDATE prc_order_bill o
|
||||
JOIN (
|
||||
SELECT DISTINCT d.prc_bill_id
|
||||
SELECT DISTINCT d.prc_order_bill_id
|
||||
FROM ar_bill_detail d
|
||||
JOIN ar_bill b ON b.ar_bill_id = d.ar_bill_id
|
||||
WHERE b.status <> 'VOID'
|
||||
) billed ON billed.prc_bill_id = o.bill_id
|
||||
) billed ON billed.prc_order_bill_id = o.bill_id
|
||||
SET o.ar_bill_status = 'BILLED'
|
||||
WHERE COALESCE(o.ar_bill_status, 'UNBILLED') <> 'BILLED';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user