Compare commits

...

1 Commits

Author SHA1 Message Date
zhanglei e21595bb7d feat: initv1 2026-06-18 17:09:48 +08:00
2 changed files with 895 additions and 0 deletions

645
docs/init-v2.sql Normal file
View File

@ -0,0 +1,645 @@
-- ============================================================
-- 字符集: utf8mb4 排序规则: utf8mb4_0900_ai_ci
-- 禁止外键,关联由应用层维护
-- ============================================================
CREATE DATABASE IF NOT EXISTS `jjb_saas_safety_eval`
CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci;
USE `jjb_saas_safety_eval`;
-- ------------------------------------------------------------
-- 1. org_info 机构信息表
-- 作用: 机构基本信息及认证状态(填写信息/审核中/通过)
-- ------------------------------------------------------------
create table org_info (
id bigint not null auto_increment comment '主键',
unit_name varchar(200) not null comment '生产经营单位名称',
credit_code varchar(18) not null comment '统一社会信用代码',
safety_industry_category_code varchar(32) default null comment '安全生产监管行业类别编码',
safety_industry_category_name varchar(50) default null comment '安全生产监管行业类别名称',
district_code varchar(32) default null comment '所属县区编码',
district_name varchar(50) default null comment '所属县区名称',
town_street varchar(200) default null comment '所属镇街道',
village_community varchar(200) default null comment '属村社区',
longitude decimal(10,6) default null comment '经度',
latitude decimal(10,6) default null comment '纬度',
register_address varchar(500) default null comment '注册地址',
business_address varchar(500) default null comment '经营地址',
ownership_type_code varchar(32) default null comment '归属类型编码',
ownership_type_name varchar(50) default null comment '归属类型名称',
legal_representative varchar(50) default null comment '法定代表人',
legal_representative_phone varchar(20) default null comment '法定代表人联系电话',
principal_name varchar(50) default null comment '主要负责人',
principal_phone varchar(20) default null comment '主要负责人联系电话',
safety_dept_manager varchar(50) default null comment '安全管理部门负责人',
safety_dept_manager_phone varchar(20) default null comment '安全管理部门负责人联系电话',
safety_deputy_phone varchar(20) default null comment '主管安全副总联系电话',
production_date date default null comment '投产日期',
business_status_code int default null comment '企业经营状态编码',
business_status_name varchar(50) default null comment '企业经营状态名称',
info_disclosure_url varchar(500) default null comment '信息公开网址',
workplace_area decimal(12,2) default null comment '工作场所建筑面积(平方米)',
archive_room_area decimal(12,2) default null comment '档案室面积(平方米)',
fulltime_evaluator_count int default null comment '专职安全评价师数量',
registered_engineer_count int default null comment '注册安全工程师数量',
economy_industry_code varchar(32) default null comment '国民经济行业分类编码',
economy_industry_name varchar(100) default null comment '国民经济行业分类名称',
auth_status_code int default null comment '认证状态编码(1填写信息2审核中3通过)',
auth_status_name varchar(50) default null comment '认证状态名称',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_info_tenant_id (tenant_id),
key idx_org_info_credit_code (credit_code),
key idx_org_info_auth_status (auth_status_code)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='机构信息表';
-- ------------------------------------------------------------
-- 2. org_qualification 机构资质证书表
-- 作用: 机构资质证书维护(证照类型、有效期、发证机关等)
-- 关联: org_id -> org_info.id
-- ------------------------------------------------------------
create table org_qualification (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
license_type_code varchar(32) default null comment '证照类型编码',
license_type_name varchar(50) default null comment '证照类型名称',
cert_name varchar(200) default null comment '证书名称',
cert_no varchar(100) default null comment '证书编号',
issue_date date default null comment '发证日期',
issue_org varchar(200) default null comment '发证机关',
valid_start_date date default null comment '证书有效期开始日期',
valid_end_date date default null comment '证书有效期结束日期',
cert_image_url varchar(500) default null comment '证书图片地址',
enable_flag tinyint default 1 comment '启用标识(1启用2禁用)',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_qualification_org_id (org_id),
key idx_org_qualification_cert_no (cert_no)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='机构资质证书表';
-- ------------------------------------------------------------
-- 3. org_department 部门表
-- 作用: 部门树形维护
-- 关联: org_id -> org_info.id; parent_id 自关联
-- ------------------------------------------------------------
create table org_department (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
parent_id bigint default 0 comment '上级部门id0为根',
dept_name varchar(100) not null comment '部门名称',
manager_name varchar(50) default null comment '负责人',
dept_level_code varchar(32) default null comment '部门级别编码',
dept_level_name varchar(50) default null comment '部门级别名称',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_department_org_id (org_id),
key idx_org_department_parent_id (parent_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='部门表';
-- ------------------------------------------------------------
-- 4. org_position 岗位表
-- 作用: 部门下岗位维护
-- 关联: org_id -> org_info.id; dept_id -> org_department.id
-- ------------------------------------------------------------
create table org_position (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
dept_id bigint not null comment '部门id',
position_name varchar(100) not null comment '岗位名称',
duty_desc varchar(500) default null comment '岗位职责',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_position_org_id (org_id),
key idx_org_position_dept_id (dept_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='岗位表';
-- ------------------------------------------------------------
-- 5. org_personnel 人员信息表
-- 作用: 机构人员信息维护
-- 关联: org_id -> org_info.id; dept_id -> org_department.id; post_id -> org_position.id
-- ------------------------------------------------------------
create table org_personnel (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
dept_id bigint default null comment '部门id',
post_id bigint default null comment '岗位id',
user_name varchar(50) not null comment '用户名称/姓名',
account varchar(50) not null comment '账号',
gender_code tinyint default null comment '性别编码',
gender_name varchar(10) default null comment '性别名称',
birth_date date default null comment '出生日期',
id_card_no varchar(18) default null comment '身份证号',
current_address varchar(500) default null comment '现住地址',
office_address varchar(500) default null comment '办公地址',
education_code varchar(32) default null comment '学历编码',
education_name varchar(50) default null comment '学历名称',
graduate_school varchar(200) default null comment '毕业院校',
major varchar(100) default null comment '专业',
employment_status_code int default null comment '就职状态编码',
employment_status_name varchar(50) default null comment '就职状态名称',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_personnel_org_id (org_id),
key idx_org_personnel_dept_id (dept_id),
key idx_org_personnel_post_id (post_id),
key idx_org_personnel_account (account)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='人员信息表';
-- ------------------------------------------------------------
-- 6. org_personnel_cert 人员证书表
-- 作用: 人员持有的各类证书
-- 关联: personnel_id -> org_personnel.id
-- ------------------------------------------------------------
create table org_personnel_cert (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
personnel_id bigint not null comment '人员id',
cert_name varchar(200) default null comment '证照名称',
cert_type_code varchar(32) default null comment '证书类型编码',
cert_type_name varchar(50) default null comment '证书类型名称',
cert_category_code varchar(32) default null comment '证书类别编码',
cert_category_name varchar(50) default null comment '证书类别名称',
operation_category_code varchar(32) default null comment '证书作业类别编码',
operation_category_name varchar(50) default null comment '证书作业类别名称',
cert_no varchar(100) default null comment '证书编号',
issue_org varchar(200) default null comment '发证机关',
valid_start_date date default null comment '证书有效开始日期',
valid_end_date date default null comment '证书有效结束日期',
review_date date default null comment '复核日期',
cert_attachment_url varchar(500) default null comment '证书附件地址',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_personnel_cert_personnel_id (personnel_id),
key idx_org_personnel_cert_org_id (org_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='人员证书表';
-- ------------------------------------------------------------
-- 7. org_personnel_change 人员变更记录表
-- 作用: 人员信息修改历史
-- 关联: personnel_id -> org_personnel.id
-- ------------------------------------------------------------
create table org_personnel_change (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
personnel_id bigint not null comment '人员id',
change_item varchar(200) not null comment '变更事项',
change_time datetime not null comment '变更时间',
operator_name varchar(50) default null comment '操作人',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_personnel_change_personnel_id (personnel_id),
key idx_org_personnel_change_org_id (org_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='人员变更记录表';
-- ------------------------------------------------------------
-- 8. org_resign_apply 人员离职申请表
-- 作用: 离职申请及审核
-- 关联: personnel_id -> org_personnel.id
-- ------------------------------------------------------------
create table org_resign_apply (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
personnel_id bigint not null comment '人员id',
applicant_name varchar(50) not null comment '申请人',
apply_time datetime not null comment '申请时间',
resign_reason varchar(1000) default null comment '离职原因',
expected_resign_date date default null comment '预计离职日期',
report_file_url varchar(500) default null comment '离职通知报告附件地址',
audit_status_code int default null comment '离职申请审核状态编码',
audit_status_name varchar(50) default null comment '离职申请审核状态名称',
reject_reason varchar(500) default null comment '退回原因',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_resign_apply_personnel_id (personnel_id),
key idx_org_resign_apply_org_id (org_id),
key idx_org_resign_apply_audit_status (audit_status_code)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='人员离职申请表';
-- ------------------------------------------------------------
-- 9. org_equipment 装备信息表
-- 作用: 评价机构装备维护
-- 关联: org_id -> org_info.id
-- ------------------------------------------------------------
create table org_equipment (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
device_name varchar(200) not null comment '设备名称',
device_model varchar(100) default null comment '设备型号',
instrument_type_code varchar(32) default null comment '仪器类型编码',
instrument_type_name varchar(50) default null comment '仪器类型名称',
device_type_code varchar(32) default null comment '设备类型编码',
device_type_name varchar(50) default null comment '设备类型名称',
manufacturer varchar(200) default null comment '厂家',
flow_desc varchar(500) default null comment '设备流量说明',
min_flow decimal(12,4) default null comment '最小流量',
max_flow decimal(12,4) default null comment '最大流量',
calibration_unit varchar(200) default null comment '校准单位',
calibration_init_value varchar(100) default null comment '校准初始值',
field_calibration_type_code varchar(32) default null comment '现场校验类型编码',
field_calibration_type_name varchar(50) default null comment '现场校验类型名称',
dual_channel_flag tinyint default 2 comment '是否双路(1是2否)',
enable_flag tinyint default 1 comment '设备状态(1启用2禁用)',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_org_equipment_org_id (org_id),
key idx_org_equipment_device_name (device_name)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='装备信息表';
-- ------------------------------------------------------------
-- 10. qual_filing 资质备案申请表
-- 作用: 资质备案申请/已备案资质管理主表
-- 关联: org_id -> org_info.id
-- ------------------------------------------------------------
create table qual_filing (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
filing_territory_code varchar(32) default null comment '备案属地编码',
filing_territory_name varchar(100) default null comment '备案属地名称',
filing_unit_name varchar(200) default null comment '备案单位',
filing_unit_type_code varchar(32) default null comment '备案单位类型编码',
filing_unit_type_name varchar(50) default null comment '备案单位类型名称',
filing_no varchar(100) default null comment '备案编号',
business_scope varchar(1000) default null comment '备案安全评价业务范围',
register_address varchar(500) default null comment '注册地址',
office_address varchar(500) default null comment '办公地址',
credit_code varchar(18) default null comment '统一社会信用代码',
qual_cert_no varchar(100) default null comment '资质证书编号',
legal_person_phone varchar(100) default null comment '法人代表及电话',
contact_phone varchar(100) default null comment '联系人及电话',
info_disclosure_url varchar(500) default null comment '信息公开网址',
fixed_asset_amount bigint default null comment '固定资产总值(单位:分)',
archive_room_area decimal(12,2) default null comment '档案室面积(平方米)',
fulltime_evaluator_count int default null comment '专职安全评价师数量',
registered_engineer_count int default null comment '注册安全工程师数量',
workplace_area decimal(12,2) default null comment '工作场所建筑面积(平方米)',
unit_intro text default null comment '单位基本情况介绍',
attachment_url varchar(500) default null comment '单位基本情况附件地址',
filing_status_code int default null comment '备案状态编码',
filing_status_name varchar(50) default null comment '备案状态名称',
apply_type_code int default null comment '申请类型编码(1首次备案2变更备案)',
apply_type_name varchar(50) default null comment '申请类型名称',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_org_id (org_id),
key idx_qual_filing_no (filing_no),
key idx_qual_filing_status (filing_status_code)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='资质备案申请表';
-- ------------------------------------------------------------
-- 11. qual_filing_material 备案申请材料表
-- 作用: 备案申请材料清单
-- 关联: filing_id -> qual_filing.id
-- ------------------------------------------------------------
create table qual_filing_material (
id bigint not null auto_increment comment '主键',
filing_id bigint not null comment '备案申请id',
material_content varchar(500) not null comment '材料内容',
material_format varchar(20) default null comment '材料格式',
attachment_url varchar(500) default null comment '上传附件地址',
material_remark varchar(1000) default null comment '注释',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_material_filing_id (filing_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='备案申请材料表';
-- ------------------------------------------------------------
-- 12. qual_filing_commitment 法定代表人承诺书表
-- 作用: 备案流程法定代表人承诺书
-- 关联: filing_id -> qual_filing.id (1:1)
-- ------------------------------------------------------------
create table qual_filing_commitment (
id bigint not null auto_increment comment '主键',
filing_id bigint not null comment '备案申请id',
commitment_content text default null comment '承诺内容',
legal_rep_signature_url varchar(500) default null comment '法定代表人签名图片地址',
sign_date date default null comment '签署日期',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
unique key uk_qual_filing_commitment_filing_id (filing_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='法定代表人承诺书表';
-- ------------------------------------------------------------
-- 13. qual_filing_personnel 备案申请人员表
-- 作用: 备案流程人员信息快照
-- 关联: filing_id -> qual_filing.id; source_personnel_id -> org_personnel.id
-- ------------------------------------------------------------
create table qual_filing_personnel (
id bigint not null auto_increment comment '主键',
filing_id bigint not null comment '备案申请id',
source_personnel_id bigint default null comment '来源人员id',
person_name varchar(50) not null comment '人员姓名',
person_type_code varchar(32) default null comment '人员类型编码',
person_type_name varchar(50) default null comment '人员类型名称',
position_name varchar(50) default null comment '职务',
title_name varchar(50) default null comment '职称',
gender_code tinyint default null comment '性别编码',
gender_name varchar(10) default null comment '性别名称',
birth_date date default null comment '出生日期',
id_card_no varchar(18) default null comment '身份证号',
current_address varchar(500) default null comment '现住地址',
office_address varchar(500) default null comment '办公地址',
education_code varchar(32) default null comment '学历编码',
education_name varchar(50) default null comment '学历名称',
graduate_school varchar(200) default null comment '毕业院校',
major varchar(100) default null comment '专业',
qual_scope varchar(500) default null comment '资质范围',
publications varchar(1000) default null comment '出版学术专著专利获奖论文等',
professional_level_cert varchar(200) default null comment '职业等级及证书编号',
register_engineer_flag tinyint default 2 comment '是否具有注册安全工程师资格(1是2否)',
ability_declaration varchar(1000) default null comment '自我申报的专业能力及认定方式',
work_experience text default null comment '主要学习工作经历',
proof_material_url varchar(500) default null comment '申报专业能力证明材料地址',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_personnel_filing_id (filing_id),
key idx_qual_filing_personnel_source_id (source_personnel_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='备案申请人员表';
-- ------------------------------------------------------------
-- 14. qual_filing_personnel_cert 备案申请人员证书表
-- 作用: 备案流程人员证书快照
-- 关联: filing_personnel_id -> qual_filing_personnel.id
-- ------------------------------------------------------------
create table qual_filing_personnel_cert (
id bigint not null auto_increment comment '主键',
filing_id bigint not null comment '备案申请id',
filing_personnel_id bigint not null comment '备案人员id',
cert_name varchar(200) default null comment '证照名称',
cert_type_code varchar(32) default null comment '证书类型编码',
cert_type_name varchar(50) default null comment '证书类型名称',
cert_category_code varchar(32) default null comment '证书类别编码',
cert_category_name varchar(50) default null comment '证书类别名称',
operation_category_code varchar(32) default null comment '证书作业类别编码',
operation_category_name varchar(50) default null comment '证书作业类别名称',
cert_no varchar(100) default null comment '证书编号',
issue_org varchar(200) default null comment '发证机关',
valid_start_date date default null comment '证书有效开始日期',
valid_end_date date default null comment '证书有效结束日期',
review_date date default null comment '复核日期',
cert_attachment_url varchar(500) default null comment '证书附件地址',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_personnel_cert_filing_id (filing_id),
key idx_qual_filing_personnel_cert_personnel_id (filing_personnel_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='备案申请人员证书表';
-- ------------------------------------------------------------
-- 15. qual_filing_equipment 备案申请装备表
-- 作用: 备案流程装备信息快照
-- 关联: filing_id -> qual_filing.id; source_equipment_id -> org_equipment.id
-- ------------------------------------------------------------
create table qual_filing_equipment (
id bigint not null auto_increment comment '主键',
filing_id bigint not null comment '备案申请id',
source_equipment_id bigint default null comment '来源装备id',
device_name varchar(200) not null comment '设备名称',
device_model varchar(100) default null comment '设备型号',
instrument_type_code varchar(32) default null comment '仪器类型编码',
instrument_type_name varchar(50) default null comment '仪器类型名称',
device_type_code varchar(32) default null comment '设备类型编码',
device_type_name varchar(50) default null comment '设备类型名称',
manufacturer varchar(200) default null comment '厂家',
flow_desc varchar(500) default null comment '设备流量说明',
min_flow decimal(12,4) default null comment '最小流量',
max_flow decimal(12,4) default null comment '最大流量',
calibration_unit varchar(200) default null comment '校准单位',
calibration_init_value varchar(100) default null comment '校准初始值',
field_calibration_type_code varchar(32) default null comment '现场校验类型编码',
field_calibration_type_name varchar(50) default null comment '现场校验类型名称',
dual_channel_flag tinyint default 2 comment '是否双路(1是2否)',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_equipment_filing_id (filing_id),
key idx_qual_filing_equipment_source_id (source_equipment_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='备案申请装备表';
-- ------------------------------------------------------------
-- 16. qual_filing_change 备案变更表
-- 作用: 已备案信息变更申请
-- 关联: origin_filing_id -> qual_filing.id; org_id -> org_info.id
-- ------------------------------------------------------------
create table qual_filing_change (
id bigint not null auto_increment comment '主键',
org_id bigint not null comment '机构id',
origin_filing_id bigint not null comment '原备案申请id',
change_count int default 0 comment '变更次数',
filing_territory_code varchar(32) default null comment '备案属地编码',
filing_territory_name varchar(100) default null comment '备案属地名称',
filing_unit_name varchar(200) default null comment '备案单位',
filing_unit_type_code varchar(32) default null comment '备案单位类型编码',
filing_unit_type_name varchar(50) default null comment '备案单位类型名称',
filing_no varchar(100) default null comment '备案编号',
business_scope varchar(1000) default null comment '备案安全评价业务范围',
register_address varchar(500) default null comment '注册地址',
office_address varchar(500) default null comment '办公地址',
credit_code varchar(18) default null comment '统一社会信用代码',
qual_cert_no varchar(100) default null comment '资质证书编号',
legal_person_phone varchar(100) default null comment '法人代表及电话',
contact_phone varchar(100) default null comment '联系人及电话',
info_disclosure_url varchar(500) default null comment '信息公开网址',
fixed_asset_amount bigint default null comment '固定资产总值(单位:分)',
archive_room_area decimal(12,2) default null comment '档案室面积(平方米)',
fulltime_evaluator_count int default null comment '专职安全评价师数量',
registered_engineer_count int default null comment '注册安全工程师数量',
workplace_area decimal(12,2) default null comment '工作场所建筑面积(平方米)',
unit_intro text default null comment '单位基本情况介绍',
attachment_url varchar(500) default null comment '单位基本情况附件地址',
filing_status_code int default null comment '备案状态编码',
filing_status_name varchar(50) default null comment '备案状态名称',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_change_org_id (org_id),
key idx_qual_filing_change_origin_id (origin_filing_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='备案变更表';
-- ------------------------------------------------------------
-- 17. qual_filing_change_detail 备案变更明细表
-- 作用: 备案变更字段级明细如法人由A变更为B
-- 关联: change_id -> qual_filing_change.id
-- ------------------------------------------------------------
create table qual_filing_change_detail (
id bigint not null auto_increment comment '主键',
change_id bigint not null comment '备案变更id',
change_field varchar(100) not null comment '变更字段',
change_content varchar(1000) not null comment '变更内容',
delete_enum varchar(32) default null comment '删除标识true false',
remarks varchar(255) default null comment '备注',
create_name varchar(50) default null comment '创建人姓名',
update_name varchar(50) default null comment '更新人姓名',
tenant_id bigint default null comment '租户id',
org_id bigint default null comment '单位id',
version int default null comment '版本',
create_time datetime default null comment '创建时间',
update_time datetime default null comment '修改时间',
create_id bigint default null comment '创建人id',
update_id bigint default null comment '修改人id',
env varchar(50) default null comment '环境',
primary key (id),
key idx_qual_filing_change_detail_change_id (change_id)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='备案变更明细表';

View File

@ -0,0 +1,250 @@
## 一、设计说明
本设计依据产品原型(机构认证、企业信息管理、资质申请管理模块)产出,遵循《数据库规范.md》与 GBS 后端表结构约定:
- 字符集 `utf8mb4`,排序规则 `utf8mb4_0900_ai_ci`
- 库表字段小写 + 下划线命名,禁止外键,中文注释
- 字典类字段存编码 + 翻译字段
- 标识类字段使用 `xxx_flag`,类型 `tinyint`1=是2=否)
- 业务主表含 GBS 默认字段:`delete_enum`、`remarks`、`create_name`、`update_name`、`tenant_id`、`org_id`、`version`、`create_time`、`update_time`、`create_id`、`update_id`、`env`
- 纯关联表不含上述默认字段
---
## 二、表清单
| 序号 | 表名 | 作用 |
|------|------|------|
| 1 | org_info | 机构基本信息及认证状态 |
| 2 | org_qualification | 机构资质证书 |
| 3 | org_department | 部门(树形) |
| 4 | org_position | 岗位 |
| 5 | org_personnel | 人员信息 |
| 6 | org_personnel_cert | 人员证书 |
| 7 | org_personnel_change | 人员信息变更记录 |
| 8 | org_resign_apply | 人员离职申请 |
| 9 | org_equipment | 装备信息 |
| 10 | qual_filing | 资质备案申请主表 |
| 11 | qual_filing_material | 备案申请材料 |
| 12 | qual_filing_commitment | 法定代表人承诺书 |
| 13 | qual_filing_personnel | 备案申请关联人员 |
| 14 | qual_filing_personnel_cert | 备案申请关联人员证书 |
| 15 | qual_filing_equipment | 备案申请关联装备快照 |
| 16 | qual_filing_change | 备案变更申请 |
| 17 | qual_filing_change_detail | 备案变更明细 |
---
## 三、表关系ER 概览)
```
org_info (1) ──┬── (N) org_qualification
├── (N) org_department ── (N) org_position
├── (N) org_personnel ──┬── (N) org_personnel_cert
│ ├── (N) org_personnel_change
│ └── (N) org_resign_apply
├── (N) org_equipment
└── (N) qual_filing ──┬── (N) qual_filing_material
├── (1) qual_filing_commitment
├── (N) qual_filing_personnel ── (N) qual_filing_personnel_cert
└── (N) qual_filing_equipment
qual_filing (1) ── (N) qual_filing_change ── (N) qual_filing_change_detail
```
**关系说明:**
| 主表 | 从表 | 关系 | 说明 |
|------|------|------|------|
| org_info | org_qualification | 1:N | 一个机构拥有多张资质证书 |
| org_info | org_department | 1:N | 一个机构多个部门,部门通过 parent_id 自关联形成树 |
| org_department | org_position | 1:N | 一个部门多个岗位 |
| org_department | org_personnel | 1:N | 人员归属部门 |
| org_position | org_personnel | 1:N | 人员归属岗位 |
| org_personnel | org_personnel_cert | 1:N | 一个人员多张证书 |
| org_personnel | org_personnel_change | 1:N | 人员变更产生多条变更记录 |
| org_personnel | org_resign_apply | 1:N | 人员可有多条离职申请 |
| org_info | org_equipment | 1:N | 机构装备清单 |
| org_info | qual_filing | 1:N | 机构可多次发起备案申请 |
| qual_filing | qual_filing_material | 1:N | 备案申请材料清单 |
| qual_filing | qual_filing_commitment | 1:1 | 每条备案一条承诺书 |
| qual_filing | qual_filing_personnel | 1:N | 备案关联人员(可引用 org_personnel |
| qual_filing_personnel | qual_filing_personnel_cert | 1:N | 备案人员证书 |
| qual_filing | qual_filing_equipment | 1:N | 备案装备快照(引用 org_equipment |
| qual_filing | qual_filing_change | 1:N | 已备案记录发生变更时产生变更单 |
| qual_filing_change | qual_filing_change_detail | 1:N | 变更单字段级明细 |
---
## 四、各表详细说明
### 4.1 org_info — 机构信息表
**作用:** 存储安全评价机构基本信息,支撑「机构信息管理」「机构认证」模块;含认证流程状态(填写信息 → 审核中 → 通过)。
**主要字段:**
| 字段 | 说明 |
|------|------|
| unit_name | 生产经营单位名称 |
| credit_code | 统一社会信用代码 |
| auth_status / auth_status_name | 认证状态(字典) |
| longitude / latitude | 所在地坐标 |
| legal_representative | 法定代表人 |
| fulltime_evaluator_count | 专职安全评价师数量 |
| registered_engineer_count | 注册安全工程师数量 |
---
### 4.2 org_qualification — 机构资质证书表
**作用:** 机构资质信息管理,记录证照类型、证书名称、编号、有效期、发证机关、证书图片等;支持启用/禁用。
**关联:** `org_id` → org_info.id
---
### 4.3 org_department — 部门表
**作用:** 部门岗位管理之部门维护支持树形层级parent_id
**主要字段:** dept_name、manager_name、dept_level_code/dept_level_name
**关联:** `org_id` → org_info.id`parent_id` 自关联
---
### 4.4 org_position — 岗位表
**作用:** 部门下岗位维护,含岗位名称、职责、备注。
**关联:** `org_id` → org_info.id`dept_id` → org_department.id
---
### 4.5 org_personnel — 人员信息表
**作用:** 机构人员录入与维护,含账号、姓名、部门、岗位、性别、身份证、学历等;就职状态供人员变更管理使用。
**关联:** `org_id`、`dept_id`、`post_id`
---
### 4.6 org_personnel_cert — 人员证书表
**作用:** 人员持有的各类证书(证照名称、类别、作业类别、编号、有效期、复核日期、附件)。
**关联:** `personnel_id` → org_personnel.id
---
### 4.7 org_personnel_change — 人员变更记录表
**作用:** 记录人员在信息管理页面的修改历史(变更事项、变更时间、操作人),供人员变更管理查看变更次数与明细。
**关联:** `personnel_id` → org_personnel.id
---
### 4.8 org_resign_apply — 人员离职申请表
**作用:** 离职申请的新增、查看、审核(通过/退回);含离职原因、预计离职日期、离职通知报告附件。
**关联:** `personnel_id` → org_personnel.id
---
### 4.9 org_equipment — 装备信息表
**作用:** 评价机构装备维护(仪器分类、设备类型、型号、流量、校准信息、是否双路等),支持启用/停用。
**关联:** `org_id` → org_info.id
---
### 4.10 qual_filing — 资质备案申请表
**作用:** 资质备案申请与已备案资质管理的主表;含备案属地、备案单位、备案编号、业务范围、单位基本情况及备案状态(未备案/已备案/驳回)。
**关联:** `org_id` → org_info.id
---
### 4.11 qual_filing_material — 备案申请材料表
**作用:** 备案流程「申请材料清单」步骤,记录材料内容、格式、扫描件附件、注释。
**关联:** `filing_id` → qual_filing.id
---
### 4.12 qual_filing_commitment — 法定代表人承诺书表
**作用:** 备案流程承诺书步骤,存储承诺内容、法人签名图片地址、签署日期。
**关联:** `filing_id` → qual_filing.id1:1
---
### 4.13 qual_filing_personnel — 备案申请人员表
**作用:** 备案流程中的人员信息快照,字段较 org_personnel 扩展(人员类型、职称、资质范围、注册安全工程师资格、专业能力申报等);`source_personnel_id` 可关联原人员表。
**关联:** `filing_id` → qual_filing.id
---
### 4.14 qual_filing_personnel_cert — 备案申请人员证书表
**作用:** 备案流程中人员证书快照。
**关联:** `filing_personnel_id` → qual_filing_personnel.id
---
### 4.15 qual_filing_equipment — 备案申请装备表
**作用:** 备案流程中装备信息快照;`source_equipment_id` 可关联 org_equipment。
**关联:** `filing_id` → qual_filing.id
---
### 4.16 qual_filing_change — 备案变更表
**作用:** 已备案信息发生变更时的变更申请,结构与 qual_filing 类似,通过 `origin_filing_id` 关联原备案,`change_count` 记录变更次数。
**关联:** `origin_filing_id` → qual_filing.id
---
### 4.17 qual_filing_change_detail — 备案变更明细表
**作用:** 记录字段级变更内容(如「法人由张三变更为李四」),供历史变更记录查看。
**关联:** `change_id` → qual_filing_change.id
---
## 五、索引设计要点
- 各表主键 `id` 自增
- 业务查询字段:`org_id`、`personnel_id`、`filing_id`、`dept_id` 等建普通索引
- 唯一约束:`org_info.credit_code`(同租户下)、`org_personnel.account`(同机构下)等按业务需要建唯一索引
---
## 六、模块与表映射
| 产品模块 | 对应表 |
|----------|--------|
| 机构认证 / 机构信息管理 | org_info |
| 资质信息管理 | org_qualification |
| 部门岗位管理 | org_department、org_position |
| 人员信息管理 | org_personnel、org_personnel_cert |
| 人员变更管理 | org_personnel、org_personnel_change |
| 人员离职申请 | org_resign_apply |
| 装备信息管理 | org_equipment |
| 资质备案申请 | qual_filing 及子表 |
| 已备案资质管理 | qual_filingfiling_status=已备案) |
| 备案变更管理 | qual_filing_change、qual_filing_change_detail |