-- 投资风控管理系统模块初始化脚本
-- 执行顺序建议：
-- 1. 先执行基础若依 SQL（如 sql/ry_20260319.sql）
-- 2. 再执行本脚本，创建业务表并插入菜单/示例数据

-- ----------------------------
-- 1、组织机构表
-- ----------------------------
drop table if exists risk_org;
create table risk_org (
  org_id            bigint(20)      not null auto_increment    comment '机构ID',
  org_name          varchar(64)     not null                   comment '机构名称',
  org_type          char(1)         not null                   comment '机构类别（1总部机构 2资管中心 3职能中心 4分支机构）',
  leader            varchar(32)     default ''                comment '负责人',
  phone             varchar(20)     default ''                comment '联系电话',
  email             varchar(64)     default ''                comment '电子邮箱',
  status            char(1)         default '0'               comment '机构状态（0正常 1停用）',
  address           varchar(255)    default ''                comment '联系地址',
  sort_num          int(4)          default 1                 comment '显示顺序',
  create_by         varchar(64)     default ''                comment '创建者',
  create_time       datetime                                   comment '创建时间',
  update_by         varchar(64)     default ''                comment '更新者',
  update_time       datetime                                   comment '更新时间',
  remark            varchar(500)    default null              comment '备注',
  primary key (org_id)
) engine=innodb auto_increment=100 comment = '组织机构表';

insert into risk_org values(1, '华东金融总部', '1', '周宁', '0574-88112233', 'headoffice@riskcontrol.demo', '0', '上海市浦东新区陆家嘴金融城', 1, 'admin', sysdate(), '', null, '总部机构');
insert into risk_org values(2, '上海资产管理中心', '2', '何青', '0772-6655889', 'shamc@riskcontrol.demo', '0', '上海市黄浦区中山南路', 2, 'admin', sysdate(), '', null, '负责投前投后资产管理');
insert into risk_org values(3, '风险控制中心', '3', '陆深', '020-88990011', 'riskcenter@riskcontrol.demo', '0', '深圳市福田区深南大道', 3, 'admin', sysdate(), '', null, '负责风控标准与复核');
insert into risk_org values(4, '华南财富分公司', '4', '顾明', '0771-2233445', 'southbranch@riskcontrol.demo', '0', '广州市天河区珠江新城', 4, 'admin', sysdate(), '', null, '区域分支机构');

-- ----------------------------
-- 2、项目管理表
-- ----------------------------
drop table if exists risk_project;
create table risk_project (
  project_id         bigint(20)      not null auto_increment    comment '项目ID',
  project_code       varchar(64)     not null                   comment '项目编号',
  project_name       varchar(100)    not null                   comment '项目名称',
  project_type       char(1)         not null                   comment '项目类型（1股权投资 2债权投资 3并购重组 4基金投后）',
  org_name           varchar(64)     default ''                comment '所属机构',
  client_name        varchar(64)     default ''                comment '客户名称',
  project_manager    varchar(32)     default ''                comment '项目经理',
  assessor           varchar(32)     default ''                comment '评估师',
  risk_level         char(1)         default '2'               comment '风险等级（1低 2中 3高）',
  project_status     char(1)         default '0'               comment '项目状态（0立项中 1评估中 2复核中 3已完成）',
  due_date           date                                       comment '截止日期',
  create_by          varchar(64)     default ''                comment '创建者',
  create_time        datetime                                   comment '创建时间',
  update_by          varchar(64)     default ''                comment '更新者',
  update_time        datetime                                   comment '更新时间',
  remark             varchar(500)    default null              comment '备注',
  primary key (project_id)
) engine=innodb auto_increment=100 comment = '项目管理表';

insert into risk_project values(1, 'PRJ-2026-001', '华东新能源并购项目', '3', '华东金融总部', '华东新能源集团', '周宁', '沈洛', '3', '1', '2026-04-30', 'admin', sysdate(), '', null, '高优先级并购项目');
insert into risk_project values(2, 'PRJ-2026-002', '科创基金投后巡检', '4', '上海资产管理中心', '星河科创基金', '何青', '林舟', '2', '2', '2026-04-26', 'admin', sysdate(), '', null, '投后跟踪项目');
insert into risk_project values(3, 'PRJ-2026-003', '城投债务融资评估', '2', '风险控制中心', '某城投平台', '陆深', '顾安', '2', '1', '2026-05-08', 'admin', sysdate(), '', null, '债权投资评估');
insert into risk_project values(4, 'PRJ-2026-004', '产业园股权投资尽调', '1', '华南财富分公司', '华南产业园运营公司', '顾明', '唐欣', '1', '0', '2026-05-16', 'admin', sysdate(), '', null, '股权投资储备项目');

-- ----------------------------
-- 3、报告管理表
-- ----------------------------
drop table if exists risk_report;
create table risk_report (
  report_id          bigint(20)      not null auto_increment    comment '报告ID',
  report_code        varchar(64)     not null                   comment '报告编号',
  report_name        varchar(100)    not null                   comment '报告名称',
  project_name       varchar(100)    default ''                comment '所属项目',
  report_type        char(1)         default '1'               comment '报告类型（1尽调报告 2风险评估 3投后跟踪 4复核意见）',
  version_no         varchar(32)     default ''                comment '版本号',
  reviewer           varchar(32)     default ''                comment '复核人',
  report_status      char(1)         default '0'               comment '报告状态（0草稿 1审核中 2已发布 3已归档）',
  publish_date       date                                       comment '发布时间',
  create_by          varchar(64)     default ''                comment '创建者',
  create_time        datetime                                   comment '创建时间',
  update_by          varchar(64)     default ''                comment '更新者',
  update_time        datetime                                   comment '更新时间',
  remark             varchar(500)    default null              comment '备注',
  primary key (report_id)
) engine=innodb auto_increment=100 comment = '报告管理表';

insert into risk_report values(1, 'RPT-2026-001', '华东新能源并购尽调报告', '华东新能源并购项目', '1', 'V1.0', '陆深', '1', '2026-04-18', 'admin', sysdate(), '', null, '待复核');
insert into risk_report values(2, 'RPT-2026-002', '基金投后月度跟踪简报', '科创基金投后巡检', '3', 'V2.1', '何青', '2', '2026-04-10', 'admin', sysdate(), '', null, '已发布');
insert into risk_report values(3, 'RPT-2026-003', '城投债务风险评估报告', '城投债务融资评估', '2', 'V1.0', '周宁', '0', null, 'admin', sysdate(), '', null, '待完善财务口径');

-- ----------------------------
-- 4、资料管理表
-- ----------------------------
drop table if exists risk_material;
create table risk_material (
  material_id        bigint(20)      not null auto_increment    comment '资料ID',
  material_name      varchar(100)    not null                   comment '资料名称',
  material_type      char(1)         default '1'               comment '资料类型（1基础资料 2财务资料 3法务资料 4尽调附件）',
  project_name       varchar(100)    default ''                comment '所属项目',
  source_channel     varchar(64)     default ''                comment '资料来源',
  owner_name         varchar(32)     default ''                comment '负责人',
  material_status    char(1)         default '0'               comment '资料状态（0待收集 1补充中 2已归档）',
  file_path          varchar(255)    default ''                comment '文件路径',
  submit_date        date                                       comment '提交日期',
  create_by          varchar(64)     default ''                comment '创建者',
  create_time        datetime                                   comment '创建时间',
  update_by          varchar(64)     default ''                comment '更新者',
  update_time        datetime                                   comment '更新时间',
  remark             varchar(500)    default null              comment '备注',
  primary key (material_id)
) engine=innodb auto_increment=100 comment = '资料管理表';

insert into risk_material values(1, '近三年审计报告', '2', '华东新能源并购项目', '客户上传', '沈洛', '1', '/upload/materials/audit-report-2026.pdf', '2026-04-12', 'admin', sysdate(), '', null, '需补充附注');
insert into risk_material values(2, '核心合同清单', '3', '华东新能源并购项目', '法务团队', '陆深', '0', '', null, 'admin', sysdate(), '', null, '待客户补传');
insert into risk_material values(3, '基金季度经营数据', '1', '科创基金投后巡检', '投后系统', '林舟', '2', '/upload/materials/fund-quarterly.xlsx', '2026-04-09', 'admin', sysdate(), '', null, '已归档');

-- ----------------------------
-- 5、模板管理表
-- ----------------------------
drop table if exists risk_template;
create table risk_template (
  template_id        bigint(20)      not null auto_increment    comment '模板ID',
  template_name      varchar(100)    not null                   comment '模板名称',
  template_type      char(1)         default '1'               comment '模板类型（1尽调模板 2评估模板 3风控清单 4标准函件）',
  version_no         varchar(32)     default ''                comment '版本号',
  applicable_scene   varchar(100)    default ''                comment '适用场景',
  maintainer         varchar(32)     default ''                comment '维护人',
  template_status    char(1)         default '0'               comment '模板状态（0草稿 1已发布 2停用）',
  publish_time       date                                       comment '发布时间',
  create_by          varchar(64)     default ''                comment '创建者',
  create_time        datetime                                   comment '创建时间',
  update_by          varchar(64)     default ''                comment '更新者',
  update_time        datetime                                   comment '更新时间',
  remark             varchar(500)    default null              comment '备注',
  primary key (template_id)
) engine=innodb auto_increment=100 comment = '模板管理表';

insert into risk_template values(1, '股权投资尽调模板', '1', 'V2.0', '股权投资项目尽调', '周宁', '1', '2026-03-20', 'admin', sysdate(), '', null, '常用模板');
insert into risk_template values(2, '债权风险评估模板', '2', 'V1.6', '债权投资风险评估', '陆深', '1', '2026-03-28', 'admin', sysdate(), '', null, '已发布版本');
insert into risk_template values(3, '重大风险复核清单', '3', 'V1.1', '复核节点使用', '何青', '0', null, 'admin', sysdate(), '', null, '待补充并购场景');

-- ----------------------------
-- 6、菜单配置
-- admin 用户自动拥有所有显示菜单；其他角色可在角色管理里手工分配
-- ----------------------------
delete from sys_menu where menu_id in (2000,2001,2002,2003,2004,2005,2100,2101,2102,2103,2104,2105,2106,2200,2201,2202,2203,2204,2205,2206,2300,2301,2302,2303,2304,2305,2306,2400,2401,2402,2403,2404,2405,2406,2500,2501);

insert into sys_menu values('2000', '组织机构', '1', '0', '/risk/org', '', 'C', '0', '1', 'risk:org:view', 'fa fa-sitemap', 'admin', sysdate(), '', null, '组织机构菜单');
insert into sys_menu values('2001', '组织机构查询', '2000', '1', '#', '', 'F', '0', '1', 'risk:org:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2002', '组织机构新增', '2000', '2', '#', '', 'F', '0', '1', 'risk:org:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2003', '组织机构修改', '2000', '3', '#', '', 'F', '0', '1', 'risk:org:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2004', '组织机构删除', '2000', '4', '#', '', 'F', '0', '1', 'risk:org:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2005', '组织机构导出', '2000', '5', '#', '', 'F', '0', '1', 'risk:org:export', '#', 'admin', sysdate(), '', null, '');

insert into sys_menu values('2100', '项目管理', '0', '5', '#', '', 'M', '0', '1', '', 'fa fa-folder-open-o', 'admin', sysdate(), '', null, '项目管理目录');
insert into sys_menu values('2101', '项目台账', '2100', '1', '/risk/project', '', 'C', '0', '1', 'risk:project:view', 'fa fa-list-alt', 'admin', sysdate(), '', null, '项目台账菜单');
insert into sys_menu values('2102', '项目查询', '2101', '1', '#', '', 'F', '0', '1', 'risk:project:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2103', '项目新增', '2101', '2', '#', '', 'F', '0', '1', 'risk:project:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2104', '项目修改', '2101', '3', '#', '', 'F', '0', '1', 'risk:project:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2105', '项目删除', '2101', '4', '#', '', 'F', '0', '1', 'risk:project:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2106', '项目导出', '2101', '5', '#', '', 'F', '0', '1', 'risk:project:export', '#', 'admin', sysdate(), '', null, '');

insert into sys_menu values('2200', '报告管理', '0', '6', '#', '', 'M', '0', '1', '', 'fa fa-file-text-o', 'admin', sysdate(), '', null, '报告管理目录');
insert into sys_menu values('2201', '报告台账', '2200', '1', '/risk/report', '', 'C', '0', '1', 'risk:report:view', 'fa fa-file-text', 'admin', sysdate(), '', null, '报告管理菜单');
insert into sys_menu values('2202', '报告查询', '2201', '1', '#', '', 'F', '0', '1', 'risk:report:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2203', '报告新增', '2201', '2', '#', '', 'F', '0', '1', 'risk:report:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2204', '报告修改', '2201', '3', '#', '', 'F', '0', '1', 'risk:report:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2205', '报告删除', '2201', '4', '#', '', 'F', '0', '1', 'risk:report:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2206', '报告导出', '2201', '5', '#', '', 'F', '0', '1', 'risk:report:export', '#', 'admin', sysdate(), '', null, '');

insert into sys_menu values('2300', '资料管理', '0', '7', '#', '', 'M', '0', '1', '', 'fa fa-archive', 'admin', sysdate(), '', null, '资料管理目录');
insert into sys_menu values('2301', '资料台账', '2300', '1', '/risk/material', '', 'C', '0', '1', 'risk:material:view', 'fa fa-folder', 'admin', sysdate(), '', null, '资料管理菜单');
insert into sys_menu values('2302', '资料查询', '2301', '1', '#', '', 'F', '0', '1', 'risk:material:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2303', '资料新增', '2301', '2', '#', '', 'F', '0', '1', 'risk:material:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2304', '资料修改', '2301', '3', '#', '', 'F', '0', '1', 'risk:material:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2305', '资料删除', '2301', '4', '#', '', 'F', '0', '1', 'risk:material:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2306', '资料导出', '2301', '5', '#', '', 'F', '0', '1', 'risk:material:export', '#', 'admin', sysdate(), '', null, '');

insert into sys_menu values('2400', '模板管理', '0', '8', '#', '', 'M', '0', '1', '', 'fa fa-clone', 'admin', sysdate(), '', null, '模板管理目录');
insert into sys_menu values('2401', '模板台账', '2400', '1', '/risk/template', '', 'C', '0', '1', 'risk:template:view', 'fa fa-copy', 'admin', sysdate(), '', null, '模板管理菜单');
insert into sys_menu values('2402', '模板查询', '2401', '1', '#', '', 'F', '0', '1', 'risk:template:list', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2403', '模板新增', '2401', '2', '#', '', 'F', '0', '1', 'risk:template:add', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2404', '模板修改', '2401', '3', '#', '', 'F', '0', '1', 'risk:template:edit', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2405', '模板删除', '2401', '4', '#', '', 'F', '0', '1', 'risk:template:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu values('2406', '模板导出', '2401', '5', '#', '', 'F', '0', '1', 'risk:template:export', '#', 'admin', sysdate(), '', null, '');

insert into sys_menu values('2500', '评估师工作台', '0', '9', '#', '', 'M', '0', '1', '', 'fa fa-dashboard', 'admin', sysdate(), '', null, '评估师工作台目录');
insert into sys_menu values('2501', '工作台总览', '2500', '1', '/risk/workbench', '', 'C', '0', '1', 'risk:workbench:view', 'fa fa-area-chart', 'admin', sysdate(), '', null, '评估师工作台菜单');
