28 lines
1.6 KiB
SQL
28 lines
1.6 KiB
SQL
-- 收据申请单业务表(可重复执行)
|
||
-- 目标库:db_gxtyzx(master)
|
||
-- 执行顺序:01-approval.sql -> 02-approval_menu.sql -> 03-approval_orgs_roles.sql
|
||
-- -> 04-approval_role_grants.sql -> 05-approval_phase2.sql -> 07-approval-receipt.sql
|
||
--
|
||
-- 覆盖 ADR 0014(收据申请单):金额、付款方(检索主语)、事由、收据号(出纳回填)、申请日期;
|
||
-- 不设「用途分类」等模板之外的自造字段。1:1 审批实例,业务表不随引擎回滚,
|
||
-- 撤回/驳回由单据服务显式清空 receipt_no 并写 approval_field_change。
|
||
--
|
||
-- 收据号唯一性范围是「同租户 + 同 flow_code + 实例状态非 REJECTED/WITHDRAWN」,
|
||
-- 跨表条件无法用唯一索引表达,因此这里只建普通索引供占用查询。
|
||
|
||
CREATE TABLE IF NOT EXISTS approval_receipt_form (
|
||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||
tenant_id INT NOT NULL DEFAULT 10150,
|
||
instance_id BIGINT NOT NULL,
|
||
amount DECIMAL(12,2) NOT NULL COMMENT '金额(元),0~99999999.99',
|
||
payer_name VARCHAR(200) NOT NULL COMMENT '付款方,检索主语',
|
||
reason VARCHAR(500) NOT NULL COMMENT '事由',
|
||
receipt_no VARCHAR(64) DEFAULT NULL COMMENT '收据号,出纳回填;撤回/驳回清空',
|
||
apply_date DATE DEFAULT 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),
|
||
KEY idx_tenant_receipt_no (tenant_id, receipt_no)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='收据申请单';
|