-- =============================================
-- 安全评价系统二期建表脚本
-- 日期: 2026-07-20
-- 表数量: 23
-- 规范: utf8mb4 / utf8mb4_0900_ai_ci；禁止物理外键；逻辑关联由业务层保证
-- 一期已有表不在本脚本重建；站内消息复用 GBS，本库不建消息表
-- 安评项目按原型8节点专表设计，无节点流程引擎表
-- 执行: mysql -u<user> -p <db> < init-phase2.sql
-- =============================================

set names utf8mb4;
set foreign_key_checks = 0;

-- =============================================
-- 1. 报告库 / 画像 / 监督检查（5）
-- =============================================

drop table if exists `eval_report`;
create table `eval_report` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint default null comment '关联项目id(可空,历史报告)',
  `customer_id` bigint default null comment '客户id',
  `report_no` varchar(64) default null comment '报告编号',
  `report_name` varchar(200) not null comment '报告名称',
  `report_year` int default null comment '报告年度',
  `eval_type_code` varchar(32) default null comment '评价类型编码(PRE安全预评价 ACCEPT安全验收评价 STATUS安全现状评价)',
  `eval_type_name` varchar(50) default null comment '评价类型名称(安全预评价/安全验收评价/安全现状评价)',
  `business_scope` varchar(500) default null comment '业务范围',
  `file_url` varchar(500) default null comment '主文件地址',
  `file_name` varchar(200) default null comment '主文件名',
  `public_flag` tinyint default 2 comment '是否公开(1是2否)',
  `complete_flag` tinyint default null comment '资料是否完整(1是2否)',
  `report_status_code` int default null comment '报告状态编码(1已入库2抽查中3待整改4已复核)',
  `report_status_name` varchar(50) default null comment '报告状态名称',
  `archive_time` datetime 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_eval_report_org` (`org_id`),
  key `idx_eval_report_project` (`project_id`),
  key `idx_eval_report_year` (`report_year`),
  key `idx_eval_report_no` (`report_no`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评报告库主表';

drop table if exists `eval_report_spotcheck`;
create table `eval_report_spotcheck` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `report_id` bigint not null comment '报告id',
  `check_result_code` int default null comment '抽查结果编码(1合格2不合格)',
  `check_result_name` varchar(50) default null comment '抽查结果名称',
  `check_opinion` varchar(2000) default null comment '抽查意见',
  `rectify_require` varchar(2000) default null comment '整改要求',
  `rectify_feedback` varchar(2000) default null comment '整改反馈',
  `review_result_code` int default null comment '复核结果编码(1通过2不通过)',
  `review_result_name` varchar(50) default null comment '复核结果名称',
  `checker_id` bigint default null comment '抽查人账号id',
  `checker_name` varchar(50) default null comment '抽查人姓名',
  `check_time` datetime 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_eval_report_spotcheck_rid` (`report_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评报告抽查表';

drop table if exists `org_profile_score`;
create table `org_profile_score` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `score_period` varchar(32) default null comment '评分周期(如2026Q3)',
  `finish_project_count` int default null comment '完成项目数',
  `on_time_rate` decimal(8,4) default null comment '按期完成率',
  `spotcheck_pass_rate` decimal(8,4) default null comment '报告抽查合格率',
  `open_issue_count` int default null comment '未闭环问题数',
  `insp_count` int default null comment '监督检查次数',
  `total_score` decimal(8,2) default null comment '综合得分',
  `level_code` varchar(32) default null comment '等级编码(A A级 B B级 C C级)',
  `level_name` varchar(50) default null comment '等级名称(A级/B级/C级)',
  `metric_json` varchar(4000) default null comment '分项指标JSON快照',
  `calc_time` datetime 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_profile_score_org` (`org_id`),
  key `idx_org_profile_score_period` (`score_period`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='机构画像得分表';

drop table if exists `insp_notice`;
create table `insp_notice` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '被检机构id',
  `notice_no` varchar(64) not null comment '告知编号',
  `insp_type_code` varchar(32) default null comment '检查类型编码(PROJECT_PROCESS项目过程检查 QUAL_KEEP资质保持检查 SPECIAL专项检查)',
  `insp_type_name` varchar(50) default null comment '检查类型名称(项目过程检查/资质保持检查/专项检查)',
  `source_type_code` int default null comment '来源方式编码(1年度计划2专项安排3其他)',
  `source_type_name` varchar(50) default null comment '来源方式名称',
  `source_ref_id` bigint default null comment '来源业务id(可选)',
  `project_id` bigint default null comment '关联项目id',
  `plan_insp_time` datetime default null comment '计划检查时间',
  `leader_name` varchar(50) default null comment '检查组长',
  `notice_content` varchar(2000) default null comment '告知内容',
  `status_code` int default null comment '状态编码(1已下发2已确认3已反馈4已办结)',
  `status_name` varchar(50) default null comment '状态名称',
  `confirm_flag` tinyint default 2 comment '机构是否确认(1是2否)',
  `confirm_time` datetime default null comment '确认时间',
  `send_time` datetime default null comment '下发时间',
  `result_code` int default null comment '检查结果编码(1合格2不合格3限期整改)',
  `result_name` varchar(50) default null comment '检查结果名称',
  `result_content` varchar(2000) default null comment '结果说明',
  `result_urls` varchar(2000) default null comment '结果附件',
  `result_recorder_id` bigint default null comment '结果登记人账号id',
  `result_recorder_name` varchar(50) default null comment '结果登记人姓名',
  `result_time` datetime 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`),
  unique key `uk_insp_notice_no` (`notice_no`),
  key `idx_insp_notice_org` (`org_id`),
  key `idx_insp_notice_status` (`status_code`),
  key `idx_insp_notice_source` (`source_ref_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='监督检查告知表';

drop table if exists `insp_notice_material`;
create table `insp_notice_material` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `notice_id` bigint not null comment '告知id',
  `material_name` varchar(200) default null comment '材料名称',
  `required_flag` tinyint default 1 comment '是否必需(1是2否)',
  `upload_status_code` int default null comment '上传状态编码(1待上传2已上传)',
  `upload_status_name` varchar(50) default null comment '上传状态名称',
  `file_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_insp_notice_material_nid` (`notice_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='监督检查材料反馈表';


-- =============================================
-- 2. 安评项目与八节点专表（18）
-- =============================================

drop table if exists `eval_customer`;
create table `eval_customer` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '评价机构id',
  `customer_name` varchar(200) not null comment '企业名称/客户名称',
  `credit_code` varchar(18) default null comment '统一社会信用代码',
  `district_code` varchar(32) default null comment '属地编码(重庆市区级,见ChongqingDistrictEnum)',
  `industry_code` varchar(64) default null comment '所属行业编码(见IndustryEnum)',
  `business_address` varchar(500) default null comment '经营地址',
  `longitude` varchar(32) default null comment '经度',
  `latitude` varchar(32) default null comment '纬度',
  `enterprise_status_code` int default null comment '企业状态编码(见EnterpriseStatusEnum)',
  `principal_name` varchar(50) default null comment '主要负责人',
  `principal_phone` varchar(20) default null comment '负责人电话',
  `legal_representative` varchar(50) default null comment '法定代表人',
  `legal_representative_phone` varchar(20) default null comment '法人电话',
  `enterprise_scale_code` varchar(32) default null comment '企业规模编码(见EnterpriseScaleEnum)',
  `eval_expire_date` date default null comment '评价到期日(供预警)',
  `customer_status_code` int default 1 comment '客户状态编码(见CustomerStatusEnum,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_eval_customer_org` (`org_id`),
  key `idx_eval_customer_credit` (`credit_code`),
  key `idx_eval_customer_name` (`customer_name`),
  key `idx_eval_customer_district` (`district_code`),
  key `idx_eval_customer_industry` (`industry_code`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评客户表';

drop table if exists `eval_project`;
create table `eval_project` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '评价机构id',
  `customer_id` bigint not null comment '被评价客户id(eval_customer.id)',
  `project_no` varchar(64) not null comment '项目编号(系统生成)',
  `project_name` varchar(200) not null comment '项目名称',
  `eval_type_code` varchar(32) default null comment '评价类型编码(见EvalTypeEnum:PRE/ACCEPT/STATUS)',
  `customer_contact_name` varchar(50) default null comment '客户负责人(手填)',
  `customer_contact_phone` varchar(20) default null comment '联系电话(手填)',
  `district_code` varchar(32) default null comment '项目所在地编码(见ChongqingDistrictEnum)',
  `plan_start_date` date default null comment '项目开始时间',
  `plan_end_date` date default null comment '项目完成时间',
  `customer_address` varchar(500) default null comment '客户所在地(手填)',
  `longitude` varchar(32) default null comment '经度(手填)',
  `latitude` varchar(32) default null comment '纬度(手填)',
  `checkin_radius_meters` int default null comment '打卡有效范围(米,手填)',
  `participants_json` json default null comment '参与人员JSON:[{"name":"名称","id":1}]',
  `project_leader_name` varchar(50) default null comment '项目负责人(手填)',
  `clock_in_status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'NOT_CLOCKED_IN' COMMENT '人员打卡状态 ： 未打卡 → NOT_CLOCKED_IN，人员未到齐 → NOT_ALL_PRESENT，正常 → NORMAL',
  `archive_flag` int not null default 0 comment '项目归档(1归档0未归档)',
  `is_statutory` tinyint not null default 0 comment '是否法定项目 1是 0否',
  `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`),
  unique key `uk_eval_project_no` (`project_no`),
  key `idx_eval_project_org` (`org_id`),
  key `idx_eval_project_customer` (`customer_id`),
  key `idx_eval_project_plan_start` (`plan_start_date`),
  key `idx_eval_project_plan_end` (`plan_end_date`),
  key `idx_eval_project_district` (`district_code`),
  key `idx_eval_project_archive` (`archive_flag`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评项目主表';

drop table if exists `eval_project_member`;
create table `eval_project_member` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `personnel_id` bigint not null comment '人员id(逻辑关联org_personnel.id)',
  `personnel_name` varchar(50) default null comment '人员姓名',
  `role_code` varchar(32) default null comment '项目角色编码(LEADER项目负责人 PROCESS_OWNER过程控制负责人 RISK_OWNER风险分析负责人 CONTRACT_OWNER合同办理人 SURVEY_OWNER踏勘负责人 DRAFT_OWNER报告编制人 INTERNAL_REVIEWER内部审核人 TECH_REVIEWER技术审核人 MEMBER项目组成员)',
  `role_name` varchar(50) default null comment '项目角色名称(项目负责人/过程控制负责人/风险分析负责人/合同办理人/踏勘负责人/报告编制人/内部审核人/技术审核人/项目组成员)',
  `leader_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',
  `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_eval_project_member_pid` (`project_id`),
  key `idx_eval_project_member_person` (`personnel_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评项目成员表';

drop table if exists `eval_project_doc`;
create table `eval_project_doc` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `project_no` varchar(64) not null comment '项目编号(eval_project.project_no)',
  `project_name` varchar(200) not null comment '项目名称(eval_project.project_name)',
  `customer_name` varchar(200) not null comment '被评价客户企业名称(eval_customer.customer_name)',
  `eval_type_code` varchar(32) default null comment '评价类型编码(eval_project.eval_type_code)',
  `project_doc_url` json default null comment '资料上传地址:[{"materialName":"","materialType":"","project_doc_url":""}]',
  `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_eval_project_doc_pid` (`project_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='安评项目资料表';

drop table if exists `eval_risk_participant`;
drop table if exists `eval_risk_analysis`;
create table `eval_risk_analysis` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `analysis_date` date default null comment '风险分析时间',
  `controlled_no` varchar(64) default null comment '受控编号',
  `project_name` varchar(200) default null comment '评价项目名称',
  `eval_type_code` varchar(32) default null comment '评价类别编码(PRE/ACCEPT/STATUS)',
  `industry_name` varchar(100) default null comment '所属行业(手填)',
  `eval_scope` varchar(1000) default null comment '评价范围',
  `in_biz_scope_flag` tinyint default null comment '是否在资质业务范围内(1是2否)',
  `unit_overview` varchar(2000) default null comment '被评价单位基本概况',
  `industry_risk_desc` varchar(2000) default null comment '项目行业风险特性分析',
  `staff_match_code` int default null comment '人员专业构成是否满足(1满足2不满足)',
  `need_expert_code` int default null comment '是否需要聘请专家(1需要2不需要)',
  `expert_specialty` varchar(200) default null comment '需要专业(手填)',
  `capability_code` int default null comment '是否有能力承担评价风险(1是2否)',
  `capability_remark` varchar(500) default null comment '能力备注',
  `feasible_code` int default null comment '项目可行性(1可行2不可行)',
  `feasible_remark` varchar(500) default null comment '可行性备注',
  `economic_code` int default null comment '经济性(1有经济效益2无经济效益)',
  `risk_level_code` int default null comment '风险程度(1低度2中度3高度)',
  `sign_contract_code` int default null comment '合同签订结论(1签合同2不签合同)',
  `status_code` int default null 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`),
  unique key `uk_eval_risk_project` (`project_id`),
  key `idx_eval_risk_org` (`org_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='01风险分析记录表';

create table `eval_risk_participant` (
  `id` bigint not null comment '主键',
  `risk_id` bigint not null comment '风险分析id(eval_risk_analysis.id)',
  `project_id` bigint not null comment '项目id',
  `personnel_id` bigint default null comment '人员id',
  `personnel_name` varchar(50) default null comment '人员姓名',
  `dept_name` varchar(100) default null comment '部门/岗位',
  `opinion` varchar(500) default null comment '分析意见',
  `sign_status_code` int default null comment '签字状态(1待签2已签)',
  `sign_file_url` varchar(500) default null comment '签字图片地址',
  `sort_order` int default 0 comment '排序',
  primary key (`id`),
  key `idx_eval_risk_part_rid` (`risk_id`),
  key `idx_eval_risk_part_pid` (`project_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='01风险分析参与人表';

drop table if exists `eval_contract`;
create table `eval_contract` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `org_name` varchar(200) default null comment '机构名称',
  `contract_no` varchar(64) default null comment '合同编号',
  `project_name` varchar(200) default null comment '项目名称',
  `project_intro` varchar(500) default null comment '项目简介',
  `amount` varchar(64) default null comment '合同金额(万元,字符串)',
  `project_type_code` varchar(32) default null comment '项目类型编码(NEW新建 RENEW续评 CHANGE变更)',
  `risk_summary` varchar(500) default null comment '项目风险分析摘要',
  `project_region` varchar(500) default null comment '项目所在地',
  `project_address` varchar(500) default null comment '项目详细地址',
  `contract_start_date` date default null comment '合同开始时间',
  `contract_end_date` date default null comment '合同结束时间',
  `eval_type_code` varchar(32) default null comment '评价类型编码(PRE/ACCEPT/STATUS)',
  `toxic_flag` tinyint default 2 comment '是否生产剧毒化学品(1是2否)',
  `precursor_flag` tinyint default 2 comment '是否生产易制毒化学品(1是2否)',
  `cross_province_flag` tinyint default 2 comment '是否跨省建设项目(1是2否)',
  `business_scope` varchar(500) default null comment '项目业务范围',
  `enterprise_name` varchar(200) default null comment '企业名称',
  `industry_category` varchar(200) default null comment '国民经济行业类别(手填)',
  `office_address` varchar(500) default null comment '办公地址',
  `credit_code` varchar(18) default null comment '统一社会信用代码',
  `post_code` varchar(20) default null comment '邮政编码',
  `enterprise_phone` varchar(50) default null comment '企业电话',
  `fax` varchar(50) default null comment '传真',
  `legal_person` varchar(50) default null comment '法人代表',
  `contact_name` varchar(50) default null comment '联系人',
  `contact_phone` varchar(50) default null comment '联系人电话',
  `staff_count` int default null comment '职工人数',
  `scan_file_url` text default null comment '合同扫描件(URL文本)',
  `status_code` int default null comment '节点状态(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`),
  unique key `uk_eval_contract_project` (`project_id`),
  key `idx_eval_contract_org` (`org_id`),
  key `idx_eval_contract_no` (`contract_no`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='02业务合同表';

drop table if exists `eval_team`;
create table `eval_team` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `leader_personnel_id` bigint default null comment '项目负责人人员id',
  `leader_name` varchar(50) default null comment '项目负责人姓名',
  `control_personnel_id` bigint default null comment '过程控制负责人人员id',
  `control_name` varchar(50) default null comment '过程控制负责人姓名',
  `member_count` int default null comment '成员人数',
  `status_code` int default null comment '节点状态(1未开始2进行中3已完成4退回)',
  `status_name` varchar(50) default null comment '节点状态名称',
  `finish_time` datetime 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`),
  unique key `uk_eval_team_project` (`project_id`),
  key `idx_eval_team_org` (`org_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='03项目组成立表';

drop table if exists `eval_survey`;
create table `eval_survey` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `plan_survey_date` date default null comment '计划踏勘日期',
  `survey_place` varchar(500) default null comment '踏勘地点',
  `notice_done_flag` tinyint default 2 comment '从业告知是否完成(1是2否)',
  `inspect_done_flag` tinyint default 2 comment '现场勘查是否完成(1是2否)',
  `rectify_done_flag` tinyint default 2 comment '整改通知是否完成(1是2否)',
  `enterprise_done_flag` tinyint default 2 comment '企业整改报告是否完成(1是2否)',
  `review_done_flag` tinyint default 2 comment '整改复查是否完成(1是2否)',
  `status_code` int default null comment '节点状态(1未开始2进行中3已完成4退回)',
  `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`),
  unique key `uk_eval_survey_project` (`project_id`),
  key `idx_eval_survey_org` (`org_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='04现场踏勘主表';

drop table if exists `eval_survey_notice`;
create table `eval_survey_notice` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `survey_id` bigint not null comment '踏勘id',
  `notice_content` varchar(4000) default null comment '告知书填写内容摘要/正文',
  `member_snapshot` varchar(2000) default null comment '告知人员及分工快照',
  `stamp_file_url` varchar(500) default null comment '盖章件地址',
  `status_code` int default null comment '状态(1草稿2已填写3已上传盖章4已完成)',
  `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`),
  unique key `uk_eval_survey_notice_sid` (`survey_id`),
  key `idx_eval_survey_notice_pid` (`project_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='04从业告知表';

drop table if exists `eval_survey_checkin`;
create table `eval_survey_checkin` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `survey_id` bigint not null comment '踏勘id',
  `personnel_id` bigint default null comment '打卡人员id',
  `personnel_name` varchar(50) default null comment '打卡人员姓名',
  `task_status_code` int default null comment 'APP任务状态编码(1待执行2已完成3已取消)',
  `task_status_name` varchar(50) default null comment 'APP任务状态名称',
  `plan_time` datetime default null comment '计划执行时间',
  `checkin_type_code` int default null comment '打卡类型编码(1签到2签退)',
  `checkin_type_name` varchar(50) default null comment '打卡类型名称',
  `checkin_time` datetime default null comment '打卡时间',
  `longitude` decimal(10,6) default null comment '经度',
  `latitude` decimal(10,6) default null comment '纬度',
  `address` varchar(500) default null comment '打卡地址',
  `face_pass_flag` tinyint default null comment '人脸校验是否通过(1是2否)',
  `photo_urls` varchar(2000) default null comment '现场照片地址',
  `sign_image_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_eval_survey_checkin_sid` (`survey_id`),
  key `idx_eval_survey_checkin_pid` (`project_id`),
  key `idx_eval_survey_checkin_person` (`personnel_id`),
  key `idx_eval_survey_checkin_task` (`task_status_code`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='项目现场踏勘打卡表(含APP任务)';

drop table if exists `eval_survey_attach`;
create table `eval_survey_attach` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `survey_id` bigint not null comment '踏勘id',
  `attach_type_code` varchar(32) not null comment '附件类型(CHECKLIST检查表/RECTIFY整改通知/ENTERPRISE企业整改报告/REVIEW复查单/OTHER)',
  `attach_type_name` varchar(50) default null comment '附件类型名称',
  `file_name` varchar(200) default null comment '文件名',
  `file_url` varchar(500) not null comment '文件地址',
  `review_result_code` int default null comment '复查结论编码(1整改合格2整改不合格3继续整改)',
  `review_result_name` varchar(50) default null comment '复查结论名称(整改合格/整改不合格/继续整改)',
  `review_content` varchar(2000) 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_eval_survey_attach_sid` (`survey_id`),
  key `idx_eval_survey_attach_type` (`attach_type_code`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='04踏勘附件表(检查表/整改/复查等)';

drop table if exists `eval_report_draft`;
create table `eval_report_draft` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `draft_version_no` int default 1 comment '稿件版本号',
  `template_code` varchar(64) default null comment '模板编码',
  `template_name` varchar(100) default null comment '模板名称',
  `content_url` varchar(500) default null comment '报告正文存储地址',
  `hint_content` varchar(2000) default null comment '编写提示摘要',
  `status_code` int default null comment '状态编码(1编辑中2已提交)',
  `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_eval_report_draft_pid` (`project_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='05报告编制稿表';

drop table if exists `eval_internal_review`;
create table `eval_internal_review` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `draft_id` bigint default null comment '关联报告稿id',
  `reviewer_personnel_id` bigint default null comment '内审人人员id',
  `reviewer_name` varchar(50) default null comment '内审人姓名',
  `reviewer_signature_url` varchar(512) default null comment '内审人独立签字',
  `reviewer_signature_task_status` varchar(64) character set utf8mb4 collate utf8mb4_0900_ai_ci not null default 'non_dispatched' comment '审核签字任务状态 dispatched 下发，non_dispatched 未下发',
  `result_code` int default null comment '审核结果(1通过2退回修改)',
  `result_name` varchar(50) default null comment '审核结果名称',
  `opinion_content` varchar(2000) default null comment '审核意见',
  `review_time` datetime default null comment '审核时间',
  `status_code` int default null comment '节点状态(1未开始2进行中3已完成4退回)',
  `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`),
  unique key `uk_eval_internal_project` (`project_id`),
  key `idx_eval_internal_org` (`org_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='06内部审核表';

drop table if exists `eval_tech_review`;
create table `eval_tech_review` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `draft_id` bigint default null comment '关联报告稿id',
  `reviewer_personnel_id` bigint default null comment '技审人人员id',
  `reviewer_name` varchar(50) default null comment '技审人姓名',
  `reviewer_signature_url` varchar(512) default null comment '技审人独立签字',
  `reviewer_signature_task_status` varchar(64) character set utf8mb4 collate utf8mb4_0900_ai_ci not null default 'non_dispatched' comment '审核签字任务状态 dispatched 下发，non_dispatched 未下发，completed 已完成',
  `result_code` int default null comment '审核结果(1通过2退回修改)',
  `result_name` varchar(50) default null comment '审核结果名称',
  `opinion_content` varchar(2000) default null comment '审核意见',
  `review_time` datetime default null comment '审核时间',
  `status_code` int default null comment '节点状态(1未开始2进行中3已完成4退回)',
  `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`),
  unique key `uk_eval_tech_project` (`project_id`),
  key `idx_eval_tech_org` (`org_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='07技术审核表';

drop table if exists `eval_process_control`;
create table `eval_process_control` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `controller_personnel_id` bigint default null comment '过程控制负责人人员id',
  `controller_name` varchar(50) default null comment '过程控制负责人姓名',
  `reviewer_signature_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '内审人独立签字',
  `reviewer_signature_task_status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'non_dispatched' COMMENT '审核签字任务状态 dispatched 下发，non_dispatched 未下发 , completed 已完成',
  `precheck_pass_flag` tinyint default 2 comment '前7节点是否全部完成(1是2否)',
  `result_code` int default null comment '过程控制结论(1通过2退回)',
  `result_name` varchar(50) default null comment '结论名称',
  `opinion_content` varchar(2000) default null comment '过程控制意见',
  `archive_flag` tinyint default 2 comment '是否归档(1是2否)',
  `handover_form_url` varchar(500) default null comment '归档交接单URL',
  `handover_form_status` varchar(32) default 'not_create' comment '归档交接单状态(not_create未生成,created已生成)',
  `control_time` datetime default null comment '办理时间',
  `status_code` int default null comment '节点状态(1未开始2进行中3已完成4退回)',
  `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`),
  unique key `uk_eval_process_project` (`project_id`),
  key `idx_eval_process_org` (`org_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='08过程控制表';

drop table if exists `eval_sign_task`;
create table `eval_sign_task` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `node_code` varchar(32) default null comment '所属节点编码',
  `node_name` varchar(50) default null comment '所属节点名称',
  `biz_type_code` varchar(32) default null comment '业务类型编码',
  `biz_type_name` varchar(50) default null comment '业务类型名称',
  `biz_ref_id` bigint default null comment '业务单据id',
  `signer_personnel_id` bigint default null comment '待签人员id',
  `signer_name` varchar(50) default null comment '待签人员姓名',
  `task_title` varchar(200) default null comment '签字任务标题',
  `task_status_code` int default null comment '任务状态编码(1待签2已签3已作废)',
  `task_status_name` varchar(50) default null comment '任务状态名称',
  `expire_time` datetime 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_eval_sign_task_pid` (`project_id`),
  key `idx_eval_sign_task_signer` (`signer_personnel_id`),
  key `idx_eval_sign_task_status` (`task_status_code`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='项目签字任务表';

drop table if exists `eval_sign_record`;
create table `eval_sign_record` (
  `id` bigint not null comment '主键',
  `org_id` bigint not null comment '机构id',
  `project_id` bigint not null comment '项目id',
  `sign_task_id` bigint not null comment '签字任务id',
  `signer_personnel_id` bigint default null comment '签署人人员id',
  `signer_name` varchar(50) default null comment '签署人姓名',
  `sign_image_url` varchar(500) default null comment '手写签字图片地址',
  `sign_time` datetime default null comment '签署时间',
  `client_type_code` int default null comment '客户端类型编码(1PC2APP)',
  `client_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_eval_sign_record_task` (`sign_task_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='项目签字记录表';


CREATE TABLE IF NOT EXISTS `qual_on_site_review` (
                                       `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
                                       `biz_type` varchar(64) DEFAULT NULL COMMENT '资质类型:add 新增 ，change:变更',
                                       `biz_id` bigint DEFAULT NULL COMMENT '业务id',
                                       `org_id` bigint NOT NULL COMMENT '受审查机构ID (关联机构表)',
                                       `review_date_start` datetime NOT NULL COMMENT '现场审查开始时间',
                                       `review_location` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '审查地点',
                                       `review_members` varchar(512) DEFAULT NULL COMMENT '审查组成员名单',
                                       `review_leader` varchar(64) DEFAULT NULL COMMENT '审查组长',
                                       `material_requirements` text COMMENT '材料准备要求',
                                       `supervisor_contact` varchar(64) DEFAULT NULL COMMENT '监管联系人姓名',
                                       `contact_phone` varchar(32) DEFAULT NULL COMMENT '监管联系电话',
                                       `status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '1' COMMENT '现场审查状态(AGENCY_PENDING_CONFIRMATION机构待确认、AGENCY_CONFIRMED机构已确认、REVIEW_PASSED核查通过、REVIEW_FAILED核查不通过)',
                                       `review_opinion` varchar(256) DEFAULT NULL COMMENT '核查意见',
                                       `delete_enum` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '删除标识true false',
                                       `remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
                                       `create_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名',
                                       `update_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci 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) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境',
                                       PRIMARY KEY (`id`),
                                       KEY `idx_review_date_start` (`review_date_start`),
                                       KEY `idx_org_id` (`org_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='资质现场核查';

CREATE TABLE IF NOT EXISTS `qual_on_site_review_file` (
                                            `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
                                            `qual_on_site_review_id` bigint NOT NULL COMMENT '资质现场核查id',
                                            `name` varchar(128) NOT NULL COMMENT '文件名称',
                                            `url` varchar(1024) NOT NULL COMMENT '文件url',
                                            `delete_enum` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '删除标识true false',
                                            `remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注',
                                            `create_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人姓名',
                                            `update_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci 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) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '环境',
                                            PRIMARY KEY (`id`),
                                            KEY `idx_qual_on_site_review_id` (`qual_on_site_review_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='资质现场核查-文件信息';

-- =============================================
-- 3. 字段重命名：cert_type_name -> cert_level（人员证书相关表）
--    证书类型名称 调整为 证书等级(CertLevelEnum: SENIOR高级/MIDDLE中级/JUNIOR初级)
-- =============================================

ALTER TABLE `org_personnel_cert`
    CHANGE COLUMN `cert_type_name` `cert_level` varchar(50) DEFAULT NULL COMMENT '证书等级(CertLevelEnum:SENIOR高级/MIDDLE中级/JUNIOR初级)';

ALTER TABLE `qual_filing_personnel_cert`
    CHANGE COLUMN `cert_type_name` `cert_level` varchar(50) DEFAULT NULL COMMENT '证书等级(CertLevelEnum:SENIOR高级/MIDDLE中级/JUNIOR初级)';

ALTER TABLE `qual_filing_personnel_cert_change`
    CHANGE COLUMN `cert_type_name` `cert_level` varchar(128) DEFAULT NULL COMMENT '证书等级(CertLevelEnum:SENIOR高级/MIDDLE中级/JUNIOR初级)';

CREATE TABLE IF NOT EXISTS `eval_project_waring` (
                                       `id` bigint NOT NULL COMMENT '主键',
                                       `org_id` bigint DEFAULT NULL COMMENT '评价机构id',
                                       `project_id` bigint NOT NULL COMMENT '项目id',
                                       `archive_date` datetime NOT NULL COMMENT '项目归档时间',
                                       `project_complete_time` datetime DEFAULT NULL COMMENT '项目完成时间',
                                       `waring_status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'non_warn' COMMENT '项目 预警 状态: non_warn 暂时不预警,first_waring 首次预警，second_waring 二次预警，emergency_waring 紧急预警,overdue_warning 逾期预警 ,end_warning 结束预警',
                                       `waring_start_time` datetime NOT NULL COMMENT '预警开始时间',
                                       `reassessment_date` datetime NOT NULL COMMENT '重新评估时间',
                                       `cycle_date` tinyint 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',
                                       `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 '环境',
                                       `project_node` varchar(600) NOT NULL DEFAULT '[{"type":"RISK_ANALYSIS","state":1},{"type":"BUSINESS_CONTRACT","state":1},{"type":"PROJECT_GROUP","state":1},{"type":"SITE_SURVEY","state":1},{"type":"REPORT_PREPARATION","state":1},{"type":"INTERNAL_REVIEW","state":1},{"type":"TECHNICAL_REVIEW","state":1},{"type":"PROCESS_CONTROL","state":1}]' COMMENT '项目节点完成进度',
                                       `industry_code` varchar(64) DEFAULT NULL COMMENT '所属行业编码(见 IndustryEnum)',
                                       PRIMARY KEY (`id`),
                                       KEY `idx_project_id` (`project_id`),
                                       KEY `idx_waring_start_time` (`waring_start_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='项目预警-归档后预警';
set foreign_key_checks = 1;

-- =============================================
-- end of init-phase2.sql
-- =============================================
