feat: 付款记录落库金蝶付款处理单内码
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
-- 付款记录表:金蝶付款处理单内码(cas_paybill.id)落库
|
||||
-- 用途:财务应付单(A102-2)preentry 预付信息分录 y_billid 取数;A103-4 回写付款记录时同步写入
|
||||
-- 幂等可重复执行:逐列查 information_schema,已存在则跳过;存量数据从 voucher_json 回填(仅填空值)
|
||||
|
||||
-- ① 列 kingdee_bill_id
|
||||
SET @ddl = (SELECT IF(
|
||||
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'blade_payment_application_record' AND COLUMN_NAME = 'kingdee_bill_id') = 0,
|
||||
'ALTER TABLE `blade_payment_application_record` ADD COLUMN `kingdee_bill_id` varchar(64) DEFAULT NULL COMMENT ''金蝶付款处理单id(cas_paybill.id,A103-4回写,应付单preentry预付抵扣取数用)'' AFTER `kingdee_bill_no`',
|
||||
'SELECT 1'));
|
||||
PREPARE stmt FROM @ddl;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
|
||||
-- ② 存量回填:从 A103-4 留档报文 voucher_json 提取付款处理单 id(仅填空值,天然可重复执行)
|
||||
UPDATE `blade_payment_application_record`
|
||||
SET `kingdee_bill_id` = JSON_UNQUOTE(JSON_EXTRACT(`voucher_json`, '$.id'))
|
||||
WHERE `kingdee_bill_id` IS NULL
|
||||
AND `voucher_json` IS NOT NULL
|
||||
AND JSON_VALID(`voucher_json`)
|
||||
AND JSON_EXTRACT(`voucher_json`, '$.id') IS NOT NULL;
|
||||
Reference in New Issue
Block a user