feat: 付款记录落库金蝶付款处理单内码
This commit is contained in:
+2
@@ -40,4 +40,6 @@ public class PaymentApplicationRecord extends TenantEntity {
|
||||
private String paymentNo;
|
||||
private String voucherJson;
|
||||
private String kingdeeBillNo;
|
||||
/** 金蝶付款处理单id(cas_paybill.id,A103-4 回写,应付单 preentry 预付抵扣取数用) */
|
||||
private String kingdeeBillId;
|
||||
}
|
||||
|
||||
+2
@@ -1146,6 +1146,8 @@ public class PaymentApplicationServiceImpl extends BaseServiceImpl<PaymentApplic
|
||||
}
|
||||
record.setPaidDate(this.parseKingdeeDate(payBill.getPaydate()));
|
||||
record.setKingdeeBillNo(billNo);
|
||||
// 金蝶付款处理单内码(cas_paybill.id)落库:财务应付单 preentry 预付抵扣(y_billid)取数用
|
||||
record.setKingdeeBillId(payBill.getId() == null ? null : String.valueOf(payBill.getId()));
|
||||
// 付款处理单查询结果整体留档(凭证号、银行流水、电子回单等信息),便于追溯
|
||||
record.setVoucherJson(JsonUtil.toJson(payBill));
|
||||
if (isNew) {
|
||||
|
||||
+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