fix: sql脚本
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
-- 收票登记新增所属合同编号:页面去掉手选结算组织,改为选择承运商合同带出承办部门
|
||||
-- 口径:仅落 contract_no,合同名称/承办部门按编号实时带出;
|
||||
-- 结算组织 = 合同承办部门(dept_id/dept_name 取合同 organization_id/organization_name),
|
||||
-- 金蝶结算组织编码沿承办部门对应平台公司派生(KingdeeApBillSyncSupport#bfiOrgNumber)
|
||||
-- 幂等可重复执行:列已存在时重复执行报 Duplicate column 属预期,跳过即可
|
||||
|
||||
ALTER TABLE `blade_invoice_receipt`
|
||||
ADD COLUMN `contract_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属合同编号(承运商合同)' AFTER `payee_name`;
|
||||
|
||||
-- 存量已审批未推送数据无所属合同,推送前需编辑补录(推送预检按 contract_no 拦截)
|
||||
SELECT COUNT(*) AS approved_receipts_without_contract
|
||||
FROM `blade_invoice_receipt`
|
||||
WHERE `is_deleted` = 0
|
||||
AND `approval_status` = 'approved'
|
||||
AND (`contract_no` IS NULL OR `contract_no` = '');
|
||||
+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