safety-eval-service/docs/init-v2.sql

819 lines
62 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

-- ============================================================
-- 字符集: 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 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 '认证状态名称',
state int default 0 comment '状态(0启用1禁用)',
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),
key idx_org_info_state (state)
) 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 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 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 '负责人姓名',
manager_account 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 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 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),
unique key uk_org_personnel_org_account (org_id, 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 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 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 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 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 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 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 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 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 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 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 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 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='备案变更明细表';
-- ============================================================
-- 企业信息管理模块 - 联调测试数据(手动执行)
-- 执行前会清理本机构 org_id=1 下的旧联调数据,避免脏数据干扰
-- ============================================================
-- 已有库增量:机构信息 state 字段0启用1禁用
-- ALTER TABLE org_info ADD COLUMN state int DEFAULT 0 COMMENT '状态(0启用1禁用)' AFTER auth_status_name;
-- CREATE INDEX idx_org_info_state ON org_info (state);
SET @tenant_id = 1001;
SET @org_id = 1;
SET @now = NOW();
DELETE FROM org_personnel_change WHERE org_id = @org_id;
DELETE FROM org_personnel_cert WHERE org_id = @org_id;
DELETE FROM org_resign_apply WHERE org_id = @org_id;
DELETE FROM org_personnel WHERE org_id = @org_id;
DELETE FROM org_equipment WHERE org_id = @org_id;
DELETE FROM org_qualification WHERE org_id = @org_id;
DELETE FROM org_position WHERE org_id = @org_id;
DELETE FROM org_department WHERE org_id = @org_id;
DELETE FROM org_info WHERE id = @org_id;
-- ── 1. 机构信息 ──
INSERT INTO org_info (
id, unit_name, credit_code, safety_industry_category_name, district_name, town_street,
village_community, longitude, latitude, register_address, business_address,
ownership_type_name, legal_representative, legal_representative_phone,
principal_name, principal_phone, safety_dept_manager, safety_dept_manager_phone,
safety_deputy_phone, production_date, business_status_name, info_disclosure_url,
workplace_area, archive_room_area, fulltime_evaluator_count, registered_engineer_count,
economy_industry_code, auth_status_code, auth_status_name, state,
delete_enum, tenant_id, org_id, create_time, update_time
) VALUES (
@org_id, '秦皇岛示例安全评价有限公司', '91130300MA0XXXXXX1', '安全评价', '海港区', '白塔岭街道',
'文府里社区', 119.586000, 39.942000,
'河北省秦皇岛市海港区示例路88号', '河北省秦皇岛市海港区示例路88号',
'民营企业', '张三', '0335-88880001', '李四', '13800138001', '王五', '13800138002',
'13800138003', '2018-06-01', '正常经营', 'https://example.com/disclosure',
1200.00, 80.00, 12, 5, 'M7491', 3, '通过', 0,
'false', @tenant_id, @org_id, @now, @now
);
-- ── 2. 部门(含负责人账号,便于下拉回显) ──
INSERT INTO org_department (id, org_id, parent_id, dept_name, manager_name, manager_account, dept_level_name, delete_enum, tenant_id, create_time, update_time) VALUES
(101, @org_id, 0, '综合管理部', '冯行政', '13800138014', '一级', 'false', @tenant_id, @now, @now),
(102, @org_id, 0, '评价一部', '陈评价', '13800138010', '一级', 'false', @tenant_id, @now, @now),
(103, @org_id, 0, '评价二部', '郑专项', '13800138013', '一级', 'false', @tenant_id, @now, @now),
(104, @org_id, 0, '技术质量部', '吴质量', '13800138012', '一级', 'false', @tenant_id, @now, @now),
(105, @org_id, 0, '市场开发部', '褚采样', '13800138015', '一级', 'false', @tenant_id, @now, @now),
(106, @org_id, 101, '行政组', '冯行政', '13800138014', '二级', 'false', @tenant_id, @now, @now),
(107, @org_id, 101, '人事组', '冯行政', '13800138014', '二级', 'false', @tenant_id, @now, @now),
(108, @org_id, 102, '现场评价一组', '林项目', '13800138011', '二级', 'false', @tenant_id, @now, @now),
(109, @org_id, 102, '现场评价二组', '陈评价', '13800138010', '二级', 'false', @tenant_id, @now, @now),
(110, @org_id, 102, '报告编制组', '林项目', '13800138011', '二级', 'false', @tenant_id, @now, @now),
(111, @org_id, 103, '专项评价组', '郑专项', '13800138013', '二级', 'false', @tenant_id, @now, @now),
(112, @org_id, 103, '综合评价组', '郑专项', '13800138013', '二级', 'false', @tenant_id, @now, @now),
(113, @org_id, 104, '质检组', '吴质量', '13800138012', '二级', 'false', @tenant_id, @now, @now),
(114, @org_id, 104, '档案管理组', '吴质量', '13800138012', '二级', 'false', @tenant_id, @now, @now),
(115, @org_id, 104, '设备管理组', '吴质量', '13800138012', '二级', 'false', @tenant_id, @now, @now);
-- ── 3. 岗位24条 ──
INSERT INTO org_position (id, org_id, dept_id, position_name, duty_desc, delete_enum, tenant_id, create_time, update_time) VALUES
(201, @org_id, 101, '部门经理', '负责综合管理部全面工作', 'false', @tenant_id, @now, @now),
(202, @org_id, 106, '行政专员', '负责日常行政事务', 'false', @tenant_id, @now, @now),
(203, @org_id, 107, '人事专员', '负责招聘与员工关系', 'false', @tenant_id, @now, @now),
(204, @org_id, 102, '部门经理', '负责评价一部项目管理', 'false', @tenant_id, @now, @now),
(205, @org_id, 108, '评价师', '负责现场安全评价', 'false', @tenant_id, @now, @now),
(206, @org_id, 108, '项目负责人', '负责评价项目统筹', 'false', @tenant_id, @now, @now),
(207, @org_id, 109, '评价师', '负责现场安全评价', 'false', @tenant_id, @now, @now),
(208, @org_id, 109, '助理评价师', '协助现场评价工作', 'false', @tenant_id, @now, @now),
(209, @org_id, 110, '报告编制员', '负责评价报告编制', 'false', @tenant_id, @now, @now),
(210, @org_id, 110, '报告审核员', '负责报告质量审核', 'false', @tenant_id, @now, @now),
(211, @org_id, 103, '部门经理', '负责评价二部全面工作', 'false', @tenant_id, @now, @now),
(212, @org_id, 111, '专项评价师', '负责专项安全评价', 'false', @tenant_id, @now, @now),
(213, @org_id, 112, '综合评价师', '负责综合安全评价', 'false', @tenant_id, @now, @now),
(214, @org_id, 104, '质量管理员', '负责质量体系运行', 'false', @tenant_id, @now, @now),
(215, @org_id, 113, '质检工程师', '负责报告与过程质检', 'false', @tenant_id, @now, @now),
(216, @org_id, 114, '档案管理员', '负责档案归档与保管', 'false', @tenant_id, @now, @now),
(217, @org_id, 115, '设备管理员', '负责仪器设备管理', 'false', @tenant_id, @now, @now),
(218, @org_id, 105, '市场经理', '负责市场开拓', 'false', @tenant_id, @now, @now),
(219, @org_id, 105, '客户经理', '负责客户关系维护', 'false', @tenant_id, @now, @now),
(220, @org_id, 102, '技术负责人', '负责评价技术把关', 'false', @tenant_id, @now, @now),
(221, @org_id, 103, '技术负责人', '负责评价技术把关', 'false', @tenant_id, @now, @now),
(222, @org_id, 108, '采样员', '负责现场样品采集', 'false', @tenant_id, @now, @now),
(223, @org_id, 109, '采样员', '负责现场样品采集', 'false', @tenant_id, @now, @now),
(224, @org_id, 110, '资料员', '负责项目资料整理', 'false', @tenant_id, @now, @now);
-- ── 4. 机构资质证书 ──
INSERT INTO org_qualification (
id, org_id, license_type_name, cert_name, cert_no, issue_date, issue_org,
valid_start_date, valid_end_date, enable_flag, delete_enum, tenant_id, create_time, update_time
) VALUES
(301, @org_id, '安全评价机构资质证书', '安全评价机构资质证书(甲级)', 'AQPJ-2024-001', '2024-01-15', '河北省应急管理厅', '2024-01-15', '2027-01-14', 1, 'false', @tenant_id, @now, @now),
(302, @org_id, '营业执照', '营业执照', '91130300MA0XXXXXX1', '2018-06-01', '秦皇岛市行政审批局', '2018-06-01', '2099-12-31', 1, 'false', @tenant_id, @now, @now);
-- ── 5. 人员信息 ──
INSERT INTO org_personnel (
id, org_id, dept_id, post_id, user_name, account, gender_code, gender_name,
birth_date, id_card_no, current_address, office_address, education_name,
graduate_school, major, employment_status_code, employment_status_name,
delete_enum, tenant_id, create_time, update_time
) VALUES
(401, @org_id, 102, 205, '陈评价', '13800138010', 1, '', '1985-03-15', '130302198503151234', '秦皇岛市海港区', '秦皇岛市海港区示例路88号', '本科', '华北理工大学', '安全工程', 1, '在职', 'false', @tenant_id, @now, @now),
(402, @org_id, 102, 206, '林项目', '13800138011', 1, '', '1988-07-22', '130302198807221234', '秦皇岛市海港区', '秦皇岛市海港区示例路88号', '硕士', '中国矿业大学', '安全科学与工程', 1, '在职', 'false', @tenant_id, @now, @now),
(403, @org_id, 104, 215, '吴质量', '13800138012', 2, '', '1990-11-08', '130302199011081234', '秦皇岛市海港区', '秦皇岛市海港区示例路88号', '本科', '河北工程大学', '安全工程', 1, '在职', 'false', @tenant_id, @now, @now),
(404, @org_id, 103, 212, '郑专项', '13800138013', 1, '', '1987-01-30', '130302198701301234', '秦皇岛市开发区', '秦皇岛市海港区示例路88号', '本科', '东北大学', '安全工程', 1, '在职', 'false', @tenant_id, @now, @now),
(405, @org_id, 101, 202, '冯行政', '13800138014', 2, '', '1992-05-18', '130302199205181234', '秦皇岛市海港区', '秦皇岛市海港区示例路88号', '大专', '秦皇岛职业技术学院', '行政管理', 1, '在职', 'false', @tenant_id, @now, @now),
(406, @org_id, 108, 222, '褚采样', '13800138015', 1, '', '1995-09-03', '130302199509031234', '秦皇岛市北戴河区', '秦皇岛市海港区示例路88号', '本科', '河北科技大学', '应用化学', 1, '在职', 'false', @tenant_id, @now, @now),
(407, @org_id, 101, 201, '钱离职', '13800138016', 1, '', '1980-01-01', '130302198001011234', '秦皇岛市海港区', '秦皇岛市海港区示例路88号', '本科', '燕山大学', '安全工程', 2, '离职', 'false', @tenant_id, @now, @now),
(408, @org_id, 102, 205, '孙离职', '13800138017', 2, '', '1986-06-12', '130302198606121234', '秦皇岛市海港区', '秦皇岛市海港区示例路88号', '本科', '河北工业大学', '安全工程', 2, '离职', 'false', @tenant_id, @now, @now),
(409, @org_id, 103, 212, '周离职', '13800138018', 1, '', '1984-09-20', '130302198409201234', '秦皇岛市开发区', '秦皇岛市海港区示例路88号', '硕士', '天津大学', '安全科学与工程', 2, '离职', 'false', @tenant_id, @now, @now);
-- ── 6. 人员证书 ──
INSERT INTO org_personnel_cert (
id, org_id, personnel_id, cert_name, cert_category_name, operation_category_name,
cert_no, issue_org, valid_start_date, valid_end_date, delete_enum, tenant_id, create_time, update_time
) VALUES
(501, @org_id, 401, '注册安全工程师证', '注册安全工程师', '金属非金属矿山', 'ZCAQ-2019-001', '应急管理部', '2019-06-01', '2025-06-01', 'false', @tenant_id, @now, @now),
(502, @org_id, 402, '安全评价师证(一级)', '安全评价师', '安全评价', 'AQPJS-2020-002', '中国安全生产协会', '2020-03-01', '2026-03-01', 'false', @tenant_id, @now, @now);
-- ── 7. 人员变更记录原型3/2/6 条变更) ──
INSERT INTO org_personnel_change (id, org_id, personnel_id, change_item, change_time, operator_name, delete_enum, tenant_id, create_time, update_time) VALUES
(601, @org_id, 407, '修改联系电话', DATE_SUB(@now, INTERVAL 30 DAY), '管理员', 'false', @tenant_id, @now, @now),
(602, @org_id, 407, '调整所属岗位', DATE_SUB(@now, INTERVAL 20 DAY), '管理员', 'false', @tenant_id, @now, @now),
(603, @org_id, 407, '更新学历信息', DATE_SUB(@now, INTERVAL 10 DAY), '管理员', 'false', @tenant_id, @now, @now),
(604, @org_id, 408, '修改办公地址', DATE_SUB(@now, INTERVAL 25 DAY), '管理员', 'false', @tenant_id, @now, @now),
(605, @org_id, 408, '调整部门', DATE_SUB(@now, INTERVAL 12 DAY), '管理员', 'false', @tenant_id, @now, @now),
(606, @org_id, 409, '修改姓名', DATE_SUB(@now, INTERVAL 40 DAY), '管理员', 'false', @tenant_id, @now, @now),
(607, @org_id, 409, '修改账号', DATE_SUB(@now, INTERVAL 35 DAY), '管理员', 'false', @tenant_id, @now, @now),
(608, @org_id, 409, '修改性别', DATE_SUB(@now, INTERVAL 30 DAY), '管理员', 'false', @tenant_id, @now, @now),
(609, @org_id, 409, '修改出生日期', DATE_SUB(@now, INTERVAL 25 DAY), '管理员', 'false', @tenant_id, @now, @now),
(610, @org_id, 409, '修改身份证号', DATE_SUB(@now, INTERVAL 20 DAY), '管理员', 'false', @tenant_id, @now, @now),
(611, @org_id, 409, '修改现住地址', DATE_SUB(@now, INTERVAL 15 DAY), '管理员', 'false', @tenant_id, @now, @now),
(612, @org_id, 401, '修改联系电话', DATE_SUB(@now, INTERVAL 7 DAY), '管理员', 'false', @tenant_id, @now, @now),
(613, @org_id, 403, '修改办公地址', DATE_SUB(@now, INTERVAL 5 DAY), '管理员', 'false', @tenant_id, @now, @now);
-- ── 8. 离职申请(原型:未审核/已审核/未审核) ──
INSERT INTO org_resign_apply (
id, org_id, personnel_id, applicant_name, apply_time, resign_reason,
expected_resign_date, audit_status_code, audit_status_name, delete_enum, tenant_id, create_time, update_time
) VALUES
(701, @org_id, 407, '钱离职', DATE_SUB(@now, INTERVAL 5 DAY), '个人原因申请离职', DATE_ADD(CURDATE(), INTERVAL 30 DAY), 0, '未审核', 'false', @tenant_id, @now, @now),
(702, @org_id, 408, '孙离职', DATE_SUB(@now, INTERVAL 60 DAY), '家庭原因', DATE_SUB(CURDATE(), INTERVAL 30 DAY), 1, '已审核', 'false', @tenant_id, @now, @now),
(703, @org_id, 409, '周离职', DATE_SUB(@now, INTERVAL 3 DAY), '工作调动', DATE_ADD(CURDATE(), INTERVAL 15 DAY), 0, '未审核', 'false', @tenant_id, @now, @now),
(704, @org_id, 403, '吴质量', DATE_SUB(@now, INTERVAL 8 DAY), '个人发展', DATE_ADD(CURDATE(), INTERVAL 20 DAY), 0, '未审核', 'false', @tenant_id, @now, @now);
-- ── 9. 装备信息 ──
INSERT INTO org_equipment (
id, org_id, device_name, device_model, instrument_type_code, instrument_type_name,
device_type_code, device_type_name,
manufacturer, flow_desc, min_flow, max_flow, calibration_unit, calibration_init_value,
field_calibration_type_name, dual_channel_flag, enable_flag, delete_enum, tenant_id, create_time, update_time
) VALUES
(801, @org_id, '四合一气体检测仪', 'PGM-6208', '检测仪器', '检测仪器', '便携式', '便携式', '英国ION Science', '0-100%LEL', 0.0000, 100.0000, '市计量院', '0', '定期校验', 2, 1, 'false', @tenant_id, @now, @now),
(802, @org_id, '激光粉尘仪', 'LD-5K', '检测仪器', '检测仪器', '便携式', '便携式', '青岛众瑞', '0-10mg/m3', 0.0000, 10.0000, '市计量院', '0', '定期校验', 2, 1, 'false', @tenant_id, @now, @now),
(803, @org_id, '声级计', 'AWA5688', '检测仪器', '检测仪器', '便携式', '便携式', '杭州爱华', '30-130dB', 0.0000, 130.0000, '市计量院', '0', '定期校验', 2, 1, 'false', @tenant_id, @now, @now),
(804, @org_id, '万用表', 'Fluke87V', '电工仪器', '电工仪器', '手持式', '手持式', 'Fluke', '-', 0.0000, 0.0000, '市计量院', '0', '定期校验', 2, 1, 'false', @tenant_id, @now, @now),
(805, @org_id, '风速仪', 'Testo410-2','检测仪器','检测仪器', '便携式', '便携式', '德图Testo', '0.4-20m/s', 0.4000, 20.0000, '市计量院', '0', '定期校验', 2, 1, 'false', @tenant_id, @now, @now);
-- ============================================================
-- 增量升级脚本(已有库按需执行)
-- ============================================================
-- ALTER TABLE org_department ADD COLUMN manager_account varchar(50) DEFAULT NULL COMMENT '负责人账号' AFTER manager_name;
-- ALTER TABLE org_personnel ADD UNIQUE KEY uk_org_personnel_org_account (org_id, account);
-- UPDATE org_equipment SET instrument_type_code = instrument_type_name, device_type_code = device_type_name WHERE instrument_type_code IS NULL OR device_type_code IS NULL;
-- UPDATE org_resign_apply SET audit_status_code = 0, audit_status_name = '未审核', reject_reason = NULL WHERE id = 701;