-- ============================================================ -- 字符集: 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 '上级部门id,0为根', 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;