From e21595bb7d0a7934d0c64187e7e10f1a4ec1d44a Mon Sep 17 00:00:00 2001 From: zhanglei Date: Thu, 18 Jun 2026 17:09:48 +0800 Subject: [PATCH] feat: initv1 --- docs/init-v2.sql | 645 ++++++++++++++++++++++++++++++++++++++ docs/数据库设计文档-v2.md | 250 +++++++++++++++ 2 files changed, 895 insertions(+) create mode 100644 docs/init-v2.sql create mode 100644 docs/数据库设计文档-v2.md diff --git a/docs/init-v2.sql b/docs/init-v2.sql new file mode 100644 index 0000000..1818570 --- /dev/null +++ b/docs/init-v2.sql @@ -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 '上级部门id,0为根', + 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='备案变更明细表'; diff --git a/docs/数据库设计文档-v2.md b/docs/数据库设计文档-v2.md new file mode 100644 index 0000000..fc88f92 --- /dev/null +++ b/docs/数据库设计文档-v2.md @@ -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.id(1: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_filing(filing_status=已备案) | +| 备案变更管理 | qual_filing_change、qual_filing_change_detail |