-- ============================================================
-- 字符集: 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;

