103 lines
4.4 KiB
SQL
103 lines
4.4 KiB
SQL
-- 收款认领金蝶对接(A301-2 认领公告同步 / A301-3 认领结果推送 / A301-1 收款单回写)
|
||
-- 支持重复执行,兼容已执行 DDL 的场景
|
||
|
||
-- 1. 收款流水表新增金蝶认领公告字段
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `bill_id` bigint(20) DEFAULT NULL COMMENT ''金蝶认领公告id(A301-2返回,A301-3推送必填)'' AFTER `source_updated_time`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'bill_id'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `payer_id` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''金蝶付款人id(A301-3推送用)'' AFTER `bill_id`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'payer_id'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `kingdee_claim_status` varchar(30) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''公告认领状态(A301-2 claimstatus:0未认领/1已认领)'' AFTER `payer_id`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'kingdee_claim_status'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `claim_me` tinyint(1) DEFAULT NULL COMMENT ''我已认领(A301-2 claimme)'' AFTER `kingdee_claim_status`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'claim_me'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `unclaimed_amount` decimal(18,2) NOT NULL DEFAULT ''0.00'' COMMENT ''未认领金额(A301-2 unclaimamount)'' AFTER `claim_me`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'unclaimed_amount'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `fee` decimal(18,2) DEFAULT NULL COMMENT ''手续费(A301-2 fee)'' AFTER `unclaimed_amount`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'fee'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_kingdee_receipt_flow` ADD COLUMN `payee_name` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''收款人(A301-2 recpayee)'' AFTER `fee`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_kingdee_receipt_flow' AND COLUMN_NAME = 'payee_name'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
-- 2. 认领主单新增来源单据编码(A301-3 awrp_src_code,A301-1 回写匹配键)
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_receipt_claim` ADD COLUMN `awrp_src_code` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''金蝶认领结果推送来源单据编码(awrp_src_code)'' AFTER `kingdee_bill_status`',
|
||
'SELECT 1')
|
||
FROM information_schema.COLUMNS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_receipt_claim' AND COLUMN_NAME = 'awrp_src_code'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt;
|
||
|
||
SET @ddl_sql = (
|
||
SELECT IF(COUNT(*) = 0,
|
||
'ALTER TABLE `blade_receipt_claim` ADD KEY `idx_receipt_claim_src_code` (`tenant_id`,`awrp_src_code`)',
|
||
'SELECT 1')
|
||
FROM information_schema.STATISTICS
|
||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_receipt_claim' AND INDEX_NAME = 'idx_receipt_claim_src_code'
|
||
);
|
||
PREPARE ddl_stmt FROM @ddl_sql;
|
||
EXECUTE ddl_stmt;
|
||
DEALLOCATE PREPARE ddl_stmt; |