登记收款选择账单直接核销,附件上传支持拖动上传

This commit is contained in:
wuweihua
2026-10-09 10:09:50 +08:00
parent c95a9861cc
commit 95df65b4f6
14 changed files with 800 additions and 20 deletions
@@ -0,0 +1,38 @@
-- ============================================================
-- 功能:登记收款时选择核销账单,审核通过后一并核销
-- 日期: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`);