feat: 体验券领用申请单(每类券一行 + 相关部门与发放人)#56

This commit is contained in:
weicw
2026-10-31 07:10:54 +08:00
parent 45285952e9
commit 39692e9c90
8 changed files with 976 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
-- 体验券领用申请单业务表与明细子表(可重复执行)
-- 目标库:db_gxtyzx(master)
-- 执行顺序:01-approval.sql -> 02-approval_menu.sql -> 03-approval_orgs_roles.sql
-- -> 04-approval_role_grants.sql -> 05-approval_phase2.sql -> 10-approval-coupon.sql
--
-- 覆盖 ADR 0013(体验券领用):申请事由为唯一业务字段(经办人/经办部门复用实例快照),
-- 明细按券种每类最多一行(uk_instance_type 兜底),不记券号、不核销、不统计剩余数量。
CREATE TABLE IF NOT EXISTS approval_coupon_form (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
apply_reason VARCHAR(500) NOT NULL COMMENT '申请事由',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_instance (instance_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='体验券领用申请单';
CREATE TABLE IF NOT EXISTS approval_coupon_item (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
line_no INT NOT NULL COMMENT '行号,按提交顺序重排为 1..N',
coupon_type VARCHAR(40) NOT NULL COMMENT '券种编码:7 类固定编码(ADR 0013)',
quantity INT NOT NULL COMMENT '数量,≥1',
valid_until DATE NOT NULL COMMENT '有效期至(截止日单点)',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_instance_line (instance_id, line_no),
UNIQUE KEY uk_instance_type (instance_id, coupon_type)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='体验券领用明细';