39 lines
2.7 KiB
SQL
39 lines
2.7 KiB
SQL
-- ============================================================
|
||
-- 功能:登记收款时选择核销账单,审核通过后一并核销
|
||
-- 日期:2026-10-08
|
||
-- 说明:
|
||
-- 1) 新增收款核销计划表 ctr_receipt_writeoff_plan:登记时落 PENDING 计划,
|
||
-- 审核通过事务内逐张执行 ar_bill 核销并回写 EFFECTIVE/核销单ID,取消收款单则置 CANCELLED;
|
||
-- 联动核销单后续在余额核销页被反核销则置 REVERSED,并回退收款单 allocated/unallocated(不动余额/额度)。
|
||
-- 2) ar_balance_writeoff 增加 receipt_id:审核联动生成的核销单可溯源到收款单;
|
||
-- 手工余额核销保持为空。
|
||
-- ============================================================
|
||
|
||
-- 1. 收款核销计划表
|
||
CREATE TABLE IF NOT EXISTS `ctr_receipt_writeoff_plan` (
|
||
`plan_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '计划ID',
|
||
`receipt_id` bigint(20) NOT NULL COMMENT '收款单ID(ctr_customer_receipt.id)',
|
||
`ar_bill_id` bigint(20) NOT NULL COMMENT '应收账单ID',
|
||
`bill_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '账单号快照',
|
||
`customer_id` bigint(20) NOT NULL COMMENT '客户ID',
|
||
`currency` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'CNY' COMMENT '账单币种(当前仅支持CNY)',
|
||
`writeoff_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '本次核销金额(本位币CNY;当前仅支持人民币账单)',
|
||
`status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'PENDING' COMMENT '状态:PENDING待执行/EFFECTIVE已核销/CANCELLED已作废/REVERSED已反核销',
|
||
`writeoff_id` bigint(20) DEFAULT NULL COMMENT '审核后生成的余额核销单ID(ar_balance_writeoff.writeoff_id)',
|
||
`remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
|
||
`create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`del_flag` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
|
||
PRIMARY KEY (`plan_id`),
|
||
KEY `idx_crwp_receipt` (`receipt_id`,`status`),
|
||
KEY `idx_crwp_bill` (`ar_bill_id`),
|
||
KEY `idx_crwp_customer` (`customer_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收款单核销账单计划';
|
||
|
||
-- 2. 余额核销单关联收款单
|
||
ALTER TABLE `ar_balance_writeoff`
|
||
ADD COLUMN `receipt_id` bigint(20) DEFAULT NULL COMMENT '关联收款单ID(收款审核联动核销时写入)' AFTER `customer_id`,
|
||
ADD KEY `idx_abw_receipt` (`receipt_id`);
|