CREATE TABLE `project`
(
    `id`          bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `code`        varchar(128)                NOT NULL COMMENT '项目编号',
    `name`        varchar(128)                NOT NULL COMMENT '名称',
    `icon`        bigint                      NOT NULL COMMENT '图标',
    `language`    char(1)                     NOT NULL DEFAULT '0' COMMENT '项目语言',
    `type`        char(1)                     NOT NULL DEFAULT '0' COMMENT '项目类型',
    `status`      tinyint(1)                  NOT NULL DEFAULT 0 COMMENT '状态',
    `sponsor`     varchar(128) COMMENT '申办方',
    `cro`         varchar(128) COMMENT 'CRO',
    `note`        varchar(255) COMMENT '备注',
    `create_dept` bigint(20) COMMENT '创建部门',
    `create_by`   bigint(20) COMMENT '创建者',
    `create_time` datetime COMMENT '创建时间',
    `update_by`   bigint(20) COMMENT '更新者',
    `update_time` datetime COMMENT '更新时间',
    `del_flag`    char(1)                              DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`   varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='项目';

CREATE TABLE `folder`
(
    `id`          bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `project_id`  bigint unsigned             NOT NULL COMMENT '所属项目',
    `parent_id`   bigint unsigned             NOT NULL COMMENT '父级',
    `parent_type` tinyint(1)                  NOT NULL COMMENT '父级类型',
    `type`        tinyint(1)                  NOT NULL COMMENT '层级类型',
    `name`        varchar(128)                NOT NULL COMMENT '名称',
    `status`      tinyint(1)                  NOT NULL DEFAULT 0 COMMENT '状态',
    `note`        varchar(255) COMMENT '备注',
    `create_dept` bigint(20) COMMENT '创建部门',
    `create_by`   bigint(20) COMMENT '创建者',
    `create_time` datetime COMMENT '创建时间',
    `update_by`   bigint(20) COMMENT '更新者',
    `update_time` datetime COMMENT '更新时间',
    `del_flag`    char(1)                              DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`   varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='文件夹';

CREATE TABLE `folder_permission`
(
    `id`          bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `folder_id`   bigint unsigned             NOT NULL COMMENT '所属文件夹',
    `edit`        tinyint(1) unsigned         NOT NULL DEFAULT 0 COMMENT '编辑权限',
    `create_dept` bigint(20) COMMENT '创建部门',
    `create_by`   bigint(20) COMMENT '创建者',
    `create_time` datetime COMMENT '创建时间',
    `update_by`   bigint(20) COMMENT '更新者',
    `update_time` datetime COMMENT '更新时间',
    `del_flag`    char(1)                              DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`   varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='文件权限';

CREATE TABLE `file`
(
    `id`                 bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `parent_id`          bigint unsigned             NOT NULL COMMENT '所属父级',
    `type`               tinyint(1)                  NOT NULL COMMENT '文档类型',
    `file_specification` char(1)                     NOT NULL COMMENT '文档标识',
    `name`               varchar(128)                NOT NULL COMMENT '名称',
    `status`             tinyint(1)                  NOT NULL DEFAULT 0 COMMENT '状态',
    `auditor_id`         bigint(1)                   NOT NULL COMMENT '审核人',
    `reject_reason`      varchar(255) COMMENT '驳回原因',
    `audit_time`         datetime COMMENT '审核时间',
    `note`               varchar(255) COMMENT '备注',
    `create_dept`        bigint(20) COMMENT '创建部门',
    `create_by`          bigint(20) COMMENT '创建者',
    `create_time`        datetime COMMENT '创建时间',
    `update_by`          bigint(20) COMMENT '更新者',
    `update_time`        datetime COMMENT '更新时间',
    `del_flag`           char(1)                              DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`          varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='文档';

CREATE TABLE `file_audit_log`
(
    `id`          bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `file_id`     bigint unsigned             NOT NULL COMMENT '文件',
    `auditor_id`  bigint unsigned             NOT NULL COMMENT '审核人',
    `status`      tinyint(1)                  NOT NULL COMMENT '状态',
    `create_dept` bigint(20) COMMENT '创建部门',
    `create_by`   bigint(20) COMMENT '创建者',
    `create_time` datetime COMMENT '创建时间',
    `update_by`   bigint(20) COMMENT '更新者',
    `update_time` datetime COMMENT '更新时间',
    `del_flag`    char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`   varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='文档审核记录';

CREATE TABLE `project_setting`
(
    `id`          bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `create_dept` bigint(20) COMMENT '创建部门',
    `create_by`   bigint(20) COMMENT '创建者',
    `create_time` datetime COMMENT '创建时间',
    `update_by`   bigint(20) COMMENT '更新者',
    `update_time` datetime COMMENT '更新时间',
    `del_flag`    char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`   varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='设置';

CREATE TABLE `applet_setting`
(
    `id`                bigint unsigned PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '序号',
    `user_agreement`    text COMMENT '用户协议',
    `privacy_agreement` text COMMENT '隐私协议',
    `create_dept`       bigint(20) COMMENT '创建部门',
    `create_by`         bigint(20) COMMENT '创建者',
    `create_time`       datetime COMMENT '创建时间',
    `update_by`         bigint(20) COMMENT '更新者',
    `update_time`       datetime COMMENT '更新时间',
    `del_flag`          char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
    `tenant_id`         varchar(40) COMMENT '租户id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='微信小程序设置';
