diff --git a/doc/sql/transport/blade_invoice_receipt_20260821.sql b/doc/sql/transport/blade_invoice_receipt_20260821.sql index d00db219..2c925ea9 100644 --- a/doc/sql/transport/blade_invoice_receipt_20260821.sql +++ b/doc/sql/transport/blade_invoice_receipt_20260821.sql @@ -67,8 +67,6 @@ CREATE TABLE IF NOT EXISTS `blade_invoice_receipt` ( `approval_status` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'draft', `current_node` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL, `current_processor` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, - `kingdee_bill_no` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL, - `kingdee_status` varchar(30) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'unsynced', `attachments_json` longtext COLLATE utf8mb4_general_ci, `remark` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, `void_reason` varchar(200) COLLATE utf8mb4_general_ci DEFAULT NULL, @@ -77,8 +75,7 @@ CREATE TABLE IF NOT EXISTS `blade_invoice_receipt` ( KEY `idx_invoice_receipt_no` (`tenant_id`,`invoice_no`), KEY `idx_invoice_receipt_project` (`project_id`), KEY `idx_invoice_receipt_date` (`invoice_date`), - KEY `idx_invoice_receipt_status` (`approval_status`), - KEY `idx_invoice_receipt_kingdee` (`kingdee_status`) + KEY `idx_invoice_receipt_status` (`approval_status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='收票登记'; CREATE TABLE IF NOT EXISTS `blade_invoice_receipt_settlement` ( diff --git a/doc/sql/transport/blade_invoice_receipt_drop_kingdee_sync_fields_20260923.sql b/doc/sql/transport/blade_invoice_receipt_drop_kingdee_sync_fields_20260923.sql new file mode 100644 index 00000000..80c0eda3 --- /dev/null +++ b/doc/sql/transport/blade_invoice_receipt_drop_kingdee_sync_fields_20260923.sql @@ -0,0 +1,33 @@ +-- 收票管理金蝶功能精简:删除 blade_invoice_receipt 冗余同步字段 +-- kingdee_bill_no 金蝶单据号(冗余,等于票池镜像 serialNo,可经 kingdee_invoice_pool_id 关联查询) +-- kingdee_status 金蝶同步状态(冗余,手动同步功能已下线,推送状态 kingdee_push_status 为唯一状态源) +-- 金蝶状态展示口径:kingdee_push_status 为 pushed/assigned 显示「已同步」,否则显示「未同步」 +-- 以下结构升级支持重复执行 + +-- ① blade_invoice_receipt.kingdee_bill_no +SET @ddl_sql = ( + SELECT IF(COUNT(*) > 0, + 'ALTER TABLE `blade_invoice_receipt` DROP COLUMN `kingdee_bill_no`', + 'SELECT 1') + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'blade_invoice_receipt' + AND COLUMN_NAME = 'kingdee_bill_no' +); +PREPARE ddl_stmt FROM @ddl_sql; +EXECUTE ddl_stmt; +DEALLOCATE PREPARE ddl_stmt; + +-- ② blade_invoice_receipt.kingdee_status(索引 idx_invoice_receipt_kingdee 随列自动删除) +SET @ddl_sql = ( + SELECT IF(COUNT(*) > 0, + 'ALTER TABLE `blade_invoice_receipt` DROP COLUMN `kingdee_status`', + 'SELECT 1') + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'blade_invoice_receipt' + AND COLUMN_NAME = 'kingdee_status' +); +PREPARE ddl_stmt FROM @ddl_sql; +EXECUTE ddl_stmt; +DEALLOCATE PREPARE ddl_stmt; diff --git a/doc/sql/transport/blade_invoice_receipt_kingdee_push_20260922.sql b/doc/sql/transport/blade_invoice_receipt_kingdee_push_20260922.sql index fee3d8f5..4e710484 100644 --- a/doc/sql/transport/blade_invoice_receipt_kingdee_push_20260922.sql +++ b/doc/sql/transport/blade_invoice_receipt_kingdee_push_20260922.sql @@ -40,7 +40,7 @@ DEALLOCATE PREPARE ddl_stmt; -- ③ blade_invoice_receipt.kingdee_received_invoice_no SET @ddl_sql = ( SELECT IF(COUNT(*) = 0, - 'ALTER TABLE `blade_invoice_receipt` ADD COLUMN `kingdee_received_invoice_no` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''金蝶收票单单据编号(A303-2生成)'' AFTER `kingdee_bill_no`', + 'ALTER TABLE `blade_invoice_receipt` ADD COLUMN `kingdee_received_invoice_no` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ''金蝶收票单单据编号(A303-2生成)'' AFTER `current_processor`', 'SELECT 1') FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() @@ -54,7 +54,7 @@ DEALLOCATE PREPARE ddl_stmt; -- ④ blade_invoice_receipt.kingdee_push_status SET @ddl_sql = ( SELECT IF(COUNT(*) = 0, - 'ALTER TABLE `blade_invoice_receipt` ADD COLUMN `kingdee_push_status` varchar(16) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''unsynced'' COMMENT ''收票单推送状态(unsynced未推送/pushed已保存/assigned已指定应付/failed推送失败)'' AFTER `kingdee_status`', + 'ALTER TABLE `blade_invoice_receipt` ADD COLUMN `kingdee_push_status` varchar(16) COLLATE utf8mb4_general_ci NOT NULL DEFAULT ''unsynced'' COMMENT ''收票单推送状态(unsynced未推送/pushed已保存/assigned已指定应付/failed推送失败)'' AFTER `kingdee_received_invoice_no`', 'SELECT 1') FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE()