feat: 设施价格表(四部门会签 + 生效日期 + 实例即版本)#57

This commit is contained in:
weicw
2026-10-31 07:42:22 +08:00
parent 7c47d4f9ac
commit 82042d3725
12 changed files with 1361 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
-- 设施价格表(设施损坏修复与租用价格表)业务表(可重复执行)
-- 目标库:db_gxtyzx(master)
-- 执行顺序:05-approval_phase2.sql -> ... -> 11-approval-facility.sql
--
-- ADR 0012:审批实例即版本,不建独立价格表主数据表。
-- approval_facility_form 每个审批实例一行,业务字段只有生效日期(必填)
-- approval_facility_item 实例的明细行,行即该版本条目,金额服务端重算
--
-- 当前生效版本 = 同租户同 flow_code 下 status=ARCHIVED 且 effective_date <= today
-- 中 effective_date 最大者;历史版本按 effective_date 倒序(查询时算,不落库)。
CREATE TABLE IF NOT EXISTS approval_facility_form (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
effective_date 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 (instance_id),
KEY idx_effective (tenant_id, effective_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设施价格表';
CREATE TABLE IF NOT EXISTS approval_facility_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',
item_name VARCHAR(200) NOT NULL COMMENT '名称',
location VARCHAR(200) DEFAULT NULL COMMENT '位置',
unit VARCHAR(20) NOT NULL COMMENT '单位',
quantity DECIMAL(12,3) NOT NULL COMMENT '数量',
unit_price DECIMAL(12,2) NOT NULL COMMENT '单价',
amount DECIMAL(12,2) NOT NULL COMMENT '金额,服务端按 quantity × unit_price 重算',
remark VARCHAR(200) 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_line (instance_id, line_no),
KEY idx_instance (instance_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设施价格表明细';