feat: 车辆免收费登记表(逐车归属 + 车牌区间冲突)#54

This commit is contained in:
weicw
2026-10-31 07:56:54 +08:00
parent 184acfe7ef
commit 25b40d83c6
14 changed files with 1238 additions and 2 deletions
+39
View File
@@ -0,0 +1,39 @@
-- 车辆免收费登记表业务表与明细子表(可重复执行)
-- 目标库:db_gxtyzx(master)
-- 执行顺序:01-approval.sql -> 02-approval_menu.sql -> 03-approval_orgs_roles.sql
-- -> 04-approval_role_grants.sql -> 05-approval_phase2.sql -> 08-approval-vehicle.sql
--
-- 覆盖 ADR 0010(车辆免收费登记表):一单多车、一车一行、车辆归属逐车存储、
-- 有效期用起止日期区间。整单没有业务字段(统计时间即实例提交时间,不重复落库),
-- 主表只承担「实例 1:1 业务行」的挂载点;单据标题与检索文本由单据实现计算落库。
CREATE TABLE IF NOT EXISTS approval_vehicle_form (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
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_vehicle_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',
unit_name VARCHAR(100) NOT NULL COMMENT '单位名称',
person_info VARCHAR(50) NOT NULL COMMENT '人员信息',
plate_no VARCHAR(20) NOT NULL COMMENT '车牌号,统一存大写',
new_energy TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否新能源,0 否 1 是',
contact_phone VARCHAR(20) NOT NULL COMMENT '联系电话',
valid_start_date DATE NOT NULL COMMENT '有效期起',
valid_end_date DATE NOT NULL COMMENT '有效期止,不得早于有效期起',
remark VARCHAR(200) DEFAULT NULL COMMENT '备注',
vehicle_owner_type VARCHAR(40) NOT NULL COMMENT '车辆归属编码,8 类固定编码',
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_plate (tenant_id, plate_no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='车辆免收费登记明细(一车一行)';