create table grid_foundation
(
    id               bigint      not null comment '表单主键' primary key,
    grid_id          bigint      null comment '外键',
    field_properties varchar(50) null comment '字段属性',
    field_name       varchar(50) null comment '字段名称',
    field_sort       int         null comment '排序（1是0否）',
    field_hide       int         null comment '隐藏（1是0否）',
    field_freeze     int         null comment '冻结（1是0否）',
    field_width      bigint      null comment '宽度',
    field_order      bigint      null comment '顺序',
    remark           varchar(50) null comment '备注',
    create_time      datetime    null comment '创建时间',
    create_user_id   varchar(50) null comment '创建人',
    create_user_name varchar(50) null comment '创建人',
    update_time      datetime    null comment '修改时间',
    update_user_id   varchar(50) null comment '修改人id',
    update_user_name varchar(50) null comment '修改人姓名'
)
    comment 'GRID详细信息';

create table grid_info
(
    id               bigint       not null comment '表单主键' primary key,
    routing_address  varchar(100) null comment '路由地址',
    priority         bigint       null comment '优先级（根据等级选择1用户0管理员）',
    remark           varchar(50)  null comment '备注',
    create_time      datetime     null comment '创建时间',
    create_user_id   varchar(50)  null comment '创建人',
    create_user_name varchar(50)  null comment '创建人',
    update_time      datetime     null comment '修改时间',
    update_user_id   varchar(50)  null comment '修改人id',
    update_user_name varchar(50)  null comment '修改人姓名'
)
    comment 'GRID基础信息';

create table r_sys_dept_role
(
    dept_id bigint null comment '部门表id',
    role_id bigint null comment '角色表id'
)
    comment '系统管理-部门角色关联表';

create table r_sys_role_menu
(
    role_id bigint null comment '角色表id',
    menu_id bigint null comment '菜单表id'
)
    comment '系统管理-角色菜单关联表';

create table r_sys_user_role
(
    user_id bigint null comment '用户表id',
    role_id bigint null comment '角色表id'
)
    comment '系统管理-用户角色关联表';

create table sys_role
(
    id          bigint       not null comment '角色id' primary key,
    user_id     bigint       null comment '用户id',
    role_name   varchar(255) null comment '角色姓名',
    role_status int          null comment '角色状态(0未启用/1启用)',
    updated_at  datetime     null comment '更新时间',
    created_at  datetime     null comment '创建时间'
);

create table t_app_version
(
    id              bigint       not null primary key,
    type            int          null comment '0：安卓1：IOS',
    latest_version  varchar(255) null comment 'app版本',
    latest_apk      varchar(255) null comment 'app版本地址',
    up_instructions varchar(255) null comment '更新版本说明',
    revise_date     datetime     null comment '更新时间',
    comments        varchar(255) null comment '备注',
    app_id          varchar(50)  null comment '应用Id',
    create_user     varchar(50)  null comment '创建用户',
    create_time     datetime     null comment '创建时间',
    update_user     varchar(50)  null comment '更新用户',
    update_time     datetime     null comment '更新时间',
    create_dept     varchar(50)  null comment '创建部门',
    status          int          null comment '业务状态',
    is_deleted      int          not null comment '删除标识'
);

create table t_attach
(
    id            bigint       not null comment '主键',
    tenant_id     varchar(12)  null comment '租户ID',
    link          varchar(100) null comment '附件地址',
    domain_url    varchar(100) null comment '附件域名',
    name          varchar(100) null comment '附件名称',
    original_name varchar(100) null comment '附件原名',
    extension     varchar(12)  null comment '附件拓展名',
    attach_size   bigint       null comment '附件大小',
    create_user   bigint       null comment '创建人',
    create_dept   bigint       null comment '创建部门',
    create_time   datetime     null comment '创建时间',
    update_user   bigint       null comment '修改人',
    update_time   datetime     null comment '修改时间',
    status        int          null comment '状态',
    is_deleted    int          null comment '是否已删除'
)
    comment '附件表';

create table t_client
(
    id                      bigint       not null comment '主键' primary key,
    client_id               varchar(48)  not null comment '客户端ID',
    client_secret           text         not null comment '客户端密钥',
    resource_ids            text         null comment '资源集合',
    scope                   text         not null comment '授权范围',
    authorized_grant_types  text         not null comment '授权类型',
    web_server_redirect_uri text         null comment '回调地址',
    authorities             text         null comment '权限',
    access_token_validity   bigint       not null comment '令牌过期秒数',
    refresh_token_validity  bigint       not null comment '刷新令牌过期秒数',
    additional_information  longtext     null comment '附加说明',
    autoapprove             text         null comment '自动授权',
    create_user             bigint       null comment '创建人',
    create_dept             bigint       null comment '创建部门',
    create_time             datetime     null comment '创建时间',
    update_user             bigint       null comment '修改人',
    update_time             datetime     null comment '修改时间',
    status                  int          not null comment '状态',
    is_deleted              int          not null comment '是否已删除',
    client_name             varchar(50)  null comment '应用名称',
    two_factor_auth         varchar(100) null comment '双因素认证',
    logout_address          text         null comment '登出地址',
    is_logon_conf           int          null comment '登陆可配置 默认0：否   1：是',
    modify_user             varchar(50)  null comment '修改人中文'
)
    comment '客户端表';

create table t_customize_menu
(
    id         bigint      not null primary key,
    menu_name  varchar(50) null comment '菜单名称',
    menu_url   text        null comment '菜单路径',
    is_deleted int         null comment '删除标识'
);

create table t_desk_menu
(
    id          bigint      not null primary key,
    menu_id     varchar(50) null comment '菜单ID',
    user_name   varchar(50) null comment '创建者用户名',
    create_time datetime    null comment '创建时间',
    is_deleted  int         null comment '删除标识'
);

create table t_dict
(
    id         bigint       not null comment '主键' primary key,
    parent_id  bigint       null comment '父主键',
    code       varchar(255) null comment '字典码',
    dict_key   varchar(255) null comment '字典值',
    dict_value varchar(255) null comment '字典名称',
    sort       int          null comment '排序',
    remark     varchar(255) null comment '字典备注',
    is_sealed  int          null comment '是否已封存',
    is_deleted int          null comment '是否已删除'
)
    comment '字典表';

create table t_dict_biz
(
    id         bigint       not null comment '主键' primary key,
    tenant_id  varchar(12)  null comment '租户ID',
    parent_id  bigint       null comment '父主键',
    code       varchar(255) null comment '字典码',
    dict_key   varchar(255) null comment '字典值',
    dict_value varchar(255) null comment '字典名称',
    sort       int          null comment '排序',
    remark     varchar(255) null comment '字典备注',
    is_sealed  int          null comment '是否已封存',
    is_deleted int          null comment '是否已删除'
)
    comment '数据源配置表';

create table t_message_content
(
    message_id      varchar(100) not null comment '关联站内信id' primary key,
    message_title   varchar(255) null comment '站内信标题',
    receive_code    varchar(255) null comment '收件人列表',
    state           int          null comment '状态/0已读/1未读',
    send_user_code  varchar(50)  null comment '发送人工号',
    send_user_name  varchar(50)  null comment '发送人姓名',
    send_time       varchar(50)  null comment '发送时间',
    delete_records  int          null comment '发送记录状态0未删除/1删除',
    message_content longtext     null comment '站内信内容',
    mes_type        int          null comment '1通知/2代办',
    mes_id          varchar(100) null comment '信使消息主键',
    app_source      varchar(50)  null comment '来源应用',
    is_skip         int          null comment '是否需要跳转0:false,1:true',
    skip_url        varchar(255) null comment '跳转链接',
    task_id         varchar(100) null comment '任务id',
    serial_number   varchar(100) null comment '流水号'
)
    comment '站内信内容表';

create table t_notice
(
    id             bigint       not null comment '主键' primary key,
    tenant_id      varchar(12)  null comment '租户ID',
    title          varchar(255) null comment '标题',
    category       int          null comment '类型1默认，2新闻，3系统公告',
    content        text         null comment '内容',
    create_user    varchar(100) null comment '创建人',
    create_dept    varchar(100) null comment '创建部门',
    create_time    datetime     null comment '创建时间',
    update_user    varchar(100) null comment '修改人',
    update_time    datetime     null comment '修改时间',
    status         int          null comment '状态',
    is_deleted     int          null comment '是否已删除',
    is_mustread    int          null comment '是否必读：0：false  1：true',
    publish_status int          null comment '是否发布：0：未发布   1：已发布',
    expire_time    datetime     null comment '过期时间',
    publish_time   datetime     null comment '发布时间',
    introduce      varchar(255) null comment '简介',
    is_popup       int          null comment '是否重复弹出1弹出 /2不弹出',
    is_show        int          null comment '是否展示1展示/2不展示',
    send_scope     int          null comment '发送范围'
)
    comment '通知公告表';

create table t_oss
(
    id          bigint       not null comment '主键' primary key,
    tenant_id   varchar(12)  null comment '租户ID',
    category    int          null comment '分类',
    oss_code    varchar(32)  null comment '资源编号',
    endpoint    varchar(255) null comment '资源地址',
    access_key  varchar(255) null comment 'accessKey',
    secret_key  varchar(255) null comment 'secretKey',
    bucket_name varchar(255) null comment '空间名',
    app_id      varchar(255) null comment '应用ID',
    region      varchar(255) null comment '地域简称',
    remark      varchar(255) null comment '备注',
    create_user varchar(50)  null comment '创建人',
    create_dept varchar(50)  null comment '创建部门',
    create_time datetime     null comment '创建时间',
    update_user varchar(50)  null comment '修改人',
    update_time datetime     null comment '修改时间',
    status      int          null comment '状态',
    is_deleted  int          null comment '是否已删除'
)
    comment '对象存储表';

create table t_page_view
(
    menu_id   bigint      null,
    user_name varchar(50) null
);

create table t_param
(
    id          bigint       not null comment '主键' primary key,
    param_name  varchar(255) null comment '参数名',
    param_key   varchar(255) null comment '参数键',
    param_value varchar(255) null comment '参数值',
    remark      varchar(255) null comment '备注',
    create_user bigint       null comment '创建人',
    create_dept bigint       null comment '创建部门',
    create_time datetime     null comment '创建时间',
    update_user bigint       null comment '修改人',
    update_time datetime     null comment '修改时间',
    status      int          null comment '状态',
    is_deleted  int          null comment '是否已删除'
)
    comment '参数表';

create table t_role_scope
(
    id             bigint not null comment '主键' primary key,
    scope_category int    null comment '权限类型(1:数据权限、2:接口权限)',
    scope_id       bigint null comment '权限ID',
    role_id        bigint null comment '角色ID'
)
    comment '角色数据权限关联表';

create table t_scope_data
(
    id            bigint       not null comment '主键' primary key,
    menu_id       bigint       null comment '菜单主键',
    resource_code varchar(255) null comment '资源编号',
    scope_name    varchar(255) null comment '数据权限名称',
    scope_field   varchar(255) null comment '数据权限字段',
    scope_class   text         null comment '数据权限类名',
    scope_column  varchar(255) null comment '数据权限字段',
    scope_type    int          null comment '数据权限类型(1 全部可见,2 本人可见,3所在机构可见, 4所在机构及子级可见,5自定义)',
    scope_value   longtext     null comment '数据权限值域',
    remark        varchar(255) null comment '数据权限备注',
    create_user   bigint       null comment '创建人',
    create_dept   bigint       null comment '创建部门',
    create_time   datetime     null comment '创建时间',
    update_user   bigint       null comment '修改人',
    update_time   datetime     null comment '修改时间',
    status        int          null comment '状态',
    is_deleted    int          null comment '是否已删除',
    sort          int          null comment '排序'
)
    comment '数据权限表';

create table t_sys_dept
(
    id          bigint       not null comment 'id' primary key,
    parent_id   bigint       null comment '所属部门id',
    name        varchar(100) null comment '部门名称',
    code        varchar(100) null comment '部门代码',
    description varchar(200) null comment '部门描述',
    sort        int          null comment '排序',
    state       int          null comment '状态：0-正常，1-禁用',
    updated_at  datetime     null comment '更新时间',
    created_at  datetime     null comment '创建时间',
    ancestors   varchar(255) null comment '祖籍',
    dept_type   int          null comment '部门类型 0部门 1公司',
    ex_province varchar(100) null comment '预留字段1',
    ex_region   varchar(100) null comment '预留字段2',
    ex_gender   varchar(100) null comment '预留字段3',
    ex_portrait varchar(100) null comment '预留字段4',
    ex_wechat   varchar(100) null comment '预留字段5'
)
    comment '系统管理-部门表';

create table t_sys_menu
(
    id          bigint       not null comment 'id' primary key,
    parent_id   bigint       null comment '所属菜单id',
    name        varchar(100) null comment '菜单名称',
    code        varchar(100) null comment '菜单代码',
    icon        varchar(100) null comment '菜单图标',
    path        varchar(100) null comment '菜单路径',
    description varchar(100) null comment '菜单描述',
    type        int          null comment '菜单类型：1-菜单，2-按钮',
    sort        int          null comment '排序',
    system_code varchar(255) null comment '系统编号',
    state       int          null comment '状态：0-正常，1-禁用',
    updated_at  datetime     null comment '更新时间',
    created_at  datetime     null comment '创建时间',
    menu_type   int          null comment '菜单类型：1-网页菜单，2-APP菜单'
)
    comment '系统管理-功能菜单表';

create table t_sys_role
(
    id          bigint       not null comment 'id' primary key,
    name        varchar(100) null comment '角色名称',
    code        varchar(100) null comment '角色代码',
    description varchar(100) null comment '角色描述',
    sort        int          null comment '排序',
    state       int          null comment '状态：0-正常，1-禁用',
    updated_at  datetime     null comment '更新时间',
    created_at  datetime     null comment '创建时间',
    is_show     int          null comment '是否显示，0：不显示，1：显示'
)
    comment '系统管理-角色表';

create table t_sys_user
(
    id                   bigint       not null comment 'id' primary key,
    dept_id              bigint       null comment '所属部门表id',
    username             varchar(100) null comment '用户名',
    password             varchar(100) null comment '密码',
    name                 varchar(100) null comment '姓名',
    mobile               varchar(100) null comment '手机号',
    email                varchar(100) null comment '邮箱',
    avatar               varchar(200) null comment '头像地址',
    address              varchar(200) null comment '地址',
    state                int          not null comment '状态：0-正常，1-禁用',
    type                 int          null comment '用户类型',
    code                 varchar(100) null comment '用户代码',
    company              varchar(100) null comment '用户单位',
    province             varchar(100) null comment '省份',
    city                 varchar(100) null comment '城市',
    ext_type             varchar(100) null comment '用户类型（cz 场站,cd 车队,mt 码头,pt 平台,ys演示,zh综合）',
    ext_dept             varchar(100) null comment '业务部门(申报员证书编号)',
    ext_code             varchar(100) null comment '特殊代码',
    ext_code_hs          varchar(100) null comment '海事特殊代码',
    ext_code_gh          varchar(100) null comment '港航特殊代码',
    ext_code_gj          varchar(100) null comment '国检特殊代码',
    ext_code_gk          varchar(100) null comment '港口特殊代码',
    ext_ddbb             varchar(100) null comment '四班调度班别',
    updated_at           datetime     null comment '更新时间',
    created_at           datetime     null comment '创建时间',
    password_wrong_times int          null comment '密码错误次数',
    last_login_date      datetime     null comment '最后登录时间',
    ext_unit_id          varchar(255) null comment '单位代码',
    ext_memo             longtext     null comment '用户印章(base64)',
    job                  varchar(40)  null comment '岗位',
    is_qdport_user       varchar(10) default '99' not null comment '是否青岛港人员 (0：板块人员，2：青岛港人员，99：其他)',
    last_update_pwd_date datetime     null comment '密码最后修改时间'
)
    comment '系统管理-用户表';

create table t_top_menu
(
    id          bigint       not null comment '主键' primary key,
    code        varchar(255) null comment '顶部菜单编号',
    name        varchar(255) null comment '顶部菜单名',
    source      varchar(255) null comment '顶部菜单资源',
    sort        int          null comment '顶部菜单排序',
    is_default  int          null comment '默认菜单',
    create_user bigint       null comment '创建人',
    create_dept bigint       null comment '创建部门',
    create_time datetime     null comment '创建时间',
    update_user bigint       null comment '修改人',
    update_time datetime     null comment '修改时间',
    status      int          null comment '状态',
    is_deleted  varchar(255) null comment '是否已删除'
)
    comment '顶部菜单表';

CREATE TABLE gen_datasource
(
    id          bigint       NOT NULL AUTO_INCREMENT COMMENT 'id',
    db_type     varchar(200) COMMENT '数据库类型',
    conn_name   varchar(200) NOT NULL COMMENT '连接名',
    conn_url    varchar(500) COMMENT 'URL',
    username    varchar(200) COMMENT '用户名',
    password    varchar(200) COMMENT '密码',
    create_time datetime COMMENT '创建时间',
    primary key (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='数据源管理';

CREATE TABLE gen_field_type
(
    id           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    column_type  varchar(200) COMMENT '字段类型',
    attr_type    varchar(200) COMMENT '属性类型',
    package_name varchar(200) COMMENT '属性包名',
    create_time  datetime COMMENT '创建时间',
    primary key (id),
    unique key (column_type)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='字段类型管理';

CREATE TABLE gen_base_class
(
    id           bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    package_name varchar(200) COMMENT '基类包名',
    code         varchar(200) COMMENT '基类编码',
    fields       varchar(500) COMMENT '基类字段，多个用英文逗号分隔',
    remark       varchar(200) COMMENT '备注',
    create_time  datetime COMMENT '创建时间',
    primary key (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='基类管理';

CREATE TABLE gen_table
(
    id             bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    table_name     varchar(200) COMMENT '表名',
    class_name     varchar(200) COMMENT '类名',
    table_comment  varchar(200) COMMENT '说明',
    author         varchar(200) COMMENT '作者',
    email          varchar(200) COMMENT '邮箱',
    package_name   varchar(200) COMMENT '项目包名',
    version        varchar(200) COMMENT '项目版本号',
    generator_type tinyint COMMENT '生成方式  0：zip压缩包   1：自定义目录',
    backend_path   varchar(500) COMMENT '后端生成路径',
    frontend_path  varchar(500) COMMENT '前端生成路径',
    module_name    varchar(200) COMMENT '模块名',
    function_name  varchar(200) COMMENT '功能名',
    form_layout    tinyint COMMENT '表单布局  1：一列   2：两列',
    datasource_id  bigint COMMENT '数据源ID',
    baseclass_id   bigint COMMENT '基类ID',
    create_time    datetime COMMENT '创建时间',
    primary key (id),
    unique key (table_name)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='代码生成表';

CREATE TABLE gen_table_field
(
    id              bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    table_id        bigint COMMENT '表ID',
    field_name      varchar(200) COMMENT '字段名称',
    field_type      varchar(200) COMMENT '字段类型',
    field_comment   varchar(200) COMMENT '字段说明',
    attr_name       varchar(200) COMMENT '属性名',
    attr_type       varchar(200) COMMENT '属性类型',
    package_name    varchar(200) COMMENT '属性包名',
    sort            int COMMENT '排序',
    auto_fill       varchar(20) COMMENT '自动填充  DEFAULT、INSERT、UPDATE、INSERT_UPDATE',
    primary_pk      tinyint COMMENT '主键 0：否  1：是',
    base_field      tinyint COMMENT '基类字段 0：否  1：是',
    form_item       tinyint COMMENT '表单项 0：否  1：是',
    form_required   tinyint COMMENT '表单必填 0：否  1：是',
    form_type       varchar(200) COMMENT '表单类型',
    form_dict       varchar(200) COMMENT '表单字典类型',
    form_validator  varchar(200) COMMENT '表单效验',
    grid_item       tinyint COMMENT '列表项 0：否  1：是',
    grid_sort       tinyint COMMENT '列表排序 0：否  1：是',
    query_item      tinyint COMMENT '查询项 0：否  1：是',
    query_type      varchar(200) COMMENT '查询方式',
    query_form_type varchar(200) COMMENT '查询表单类型',
    primary key (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='代码生成表字段';

CREATE TABLE gen_project_modify
(
    id                     bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    project_name           varchar(100) COMMENT '项目名',
    project_code           varchar(100) COMMENT '项目标识',
    project_package        varchar(100) COMMENT '项目包名',
    project_path           varchar(200) COMMENT '项目路径',
    modify_project_name    varchar(100) COMMENT '变更项目名',
    modify_project_code    varchar(100) COMMENT '变更标识',
    modify_project_package varchar(100) COMMENT '变更包名',
    exclusions             varchar(200) COMMENT '排除文件',
    modify_suffix          varchar(200) COMMENT '变更文件',
    modify_tmp_path        varchar(100) COMMENT '变更临时路径',
    create_time            datetime COMMENT '创建时间',
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='项目名变更';


CREATE TABLE xxl_job_user
(
    id         BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键，自增',
    username   VARCHAR(50) NOT NULL COMMENT '账号',
    password   VARCHAR(50) NOT NULL COMMENT '密码',
    role       TINYINT UNSIGNED NOT NULL COMMENT '角色：0-普通用户、1-管理员',
    permission VARCHAR(255) COMMENT '权限：执行器ID列表，多个逗号分割'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统用户表';


CREATE TABLE xxl_job_registry
(
    id             BIGINT       NOT NULL AUTO_INCREMENT,
    registry_group VARCHAR(50)  NOT NULL,
    registry_key   VARCHAR(255) NOT NULL,
    registry_value VARCHAR(255) NOT NULL,
    update_time    datetime,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='执行器注册表';


CREATE TABLE xxl_job_logglue
(
    id          BIGINT       NOT NULL AUTO_INCREMENT COMMENT '主键',
    job_id      BIGINT       NOT NULL COMMENT '任务，主键ID',
    glue_type   VARCHAR(50) COMMENT 'GLUE类型',
    glue_source TEXT COMMENT 'GLUE源代码',
    glue_remark VARCHAR(128) NOT NULL COMMENT 'GLUE备注',
    add_time    datetime COMMENT '添加时间',
    update_time datetime COMMENT '更新时间',
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='任务GLUE日志';


CREATE TABLE xxl_job_log_report
(
    id            bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    trigger_day   datetime,
    running_count bigint NOT NULL DEFAULT '0' COMMENT '运行中-日志数量',
    suc_count     bigint NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量',
    fail_count    bigint NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量',
    update_time   datetime,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志报表';

CREATE TABLE xxl_job_log
(
    id                        bigint           NOT NULL AUTO_INCREMENT COMMENT '主键',
    job_group                 bigint           NOT NULL COMMENT '执行器主键ID',
    job_id                    bigint           NOT NULL COMMENT '任务，主键ID',
    executor_address          varchar(255) COMMENT '执行器地址，本次执行的地址',
    executor_handler          varchar(255) COMMENT '执行器任务handler',
    executor_param            varchar(512) COMMENT '执行器任务参数',
    executor_sharding_param   varchar(20) COMMENT '执行器任务分片参数，格式如 1/2',
    executor_fail_retry_count bigint DEFAULT 0 NOT NULL COMMENT '失败重试次数',
    trigger_time              datetime COMMENT '调度-时间',
    trigger_code              bigint           NOT NULL COMMENT '调度-结果',
    trigger_msg               text COMMENT '调度-日志',
    handle_time               datetime COMMENT '执行-时间',
    handle_code               bigint           NOT NULL COMMENT '执行-状态',
    handle_msg                text COMMENT '执行-日志',
    alarm_status              int    DEFAULT 0 NOT NULL COMMENT '告警状态：0-默认、1-无需告警、2-告警成功、3-告警失败',
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志表';


CREATE TABLE xxl_job_lock
(
    lock_name VARCHAR(50) NOT NULL COMMENT '锁名称',
    PRIMARY KEY (lock_name)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度锁表';

CREATE TABLE xxl_job_info
(
    id                        bigint       NOT NULL AUTO_INCREMENT COMMENT 'ID',
    job_group                 bigint       NOT NULL COMMENT '执行器主键ID',
    job_desc                  VARCHAR(255) NOT NULL COMMENT '任务描述',
    add_time                  datetime,
    update_time               datetime,
    author                    VARCHAR(64),
    alarm_email               VARCHAR(255),
    schedule_type             VARCHAR(50)  NOT NULL DEFAULT 'NONE' COMMENT '调度类型',
    schedule_conf             VARCHAR(128),
    misfire_strategy          VARCHAR(50)  NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略',
    executor_route_strategy   VARCHAR(50),
    executor_handler          VARCHAR(255),
    executor_param            VARCHAR(512),
    executor_block_strategy   VARCHAR(50),
    executor_timeout          bigint       NOT NULL DEFAULT '0' COMMENT '任务执行超时时间，单位秒',
    executor_fail_retry_count bigint       NOT NULL DEFAULT '0' COMMENT '失败重试次数',
    glue_type                 VARCHAR(50)  NOT NULL COMMENT 'GLUE类型',
    glue_source               TEXT,
    glue_remark               VARCHAR(128),
    glue_updatetime           datetime,
    child_jobid               VARCHAR(255),
    trigger_status            int          NOT NULL DEFAULT '0' COMMENT '调度状态：0-停止，1-运行',
    trigger_last_time         BIGINT(13)   NOT NULL DEFAULT '0' COMMENT '上次调度时间',
    trigger_next_time         BIGINT(13)   NOT NULL DEFAULT '0' COMMENT '下次调度时间',
    job_cron                  VARCHAR(128) NOT NULL COMMENT '任务执行CRON',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='调度扩展信息表';


CREATE TABLE xxl_job_group
(
    id           bigint      NOT NULL AUTO_INCREMENT COMMENT 'ID',
    app_name     VARCHAR(64) NOT NULL COMMENT '执行器AppName',
    title        VARCHAR(30) NOT NULL COMMENT '执行器名称',
    address_type TINYINT(4)  NOT NULL DEFAULT '0' COMMENT '执行器地址类型：0=自动注册、1=手动录入',
    address_list VARCHAR(100),
    update_time  datetime,
    sort         TINYINT(4),
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='执行器信息表';


CREATE TABLE tb_datasource_conf
(
    id                 BIGINT(20) NOT NULL COMMENT '配置标识',
    service_type       VARCHAR(30) COMMENT '服务类型',
    service_id         VARCHAR(64) COMMENT '服务标识',
    default_service_id VARCHAR(64) COMMENT '默认服务标识',
    config_name        VARCHAR(50) COMMENT '配置名称',
    config_desc        VARCHAR(255) COMMENT '配置描述',
    source_type        TINYINT(1) COMMENT '来源类型1：信息资源2：数典',
    sort_no            BIGINT(11) COMMENT '排序字段',
    app_env            VARCHAR(500) COMMENT '应用环境',
    rec_creator        VARCHAR(50) COMMENT '记录创建人',
    rec_create_time    DATETIME COMMENT '记录创建时间',
    rec_revisor        VARCHAR(50) COMMENT '记录修改人',
    rec_revise_time    DATETIME COMMENT '记录修改时间',
    archive_flag       BIGINT(11) COMMENT '归档标识',
    create_user        VARCHAR(50) COMMENT '创建用户',
    create_dept        VARCHAR(50) COMMENT '创建部门',
    create_time        DATETIME COMMENT '创建时间',
    update_user        VARCHAR(50) COMMENT '更新用户',
    update_time        DATETIME COMMENT '更新时间',
    status             TINYINT(1) COMMENT '状态',
    is_deleted         TINYINT(1) NOT NULL COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;

CREATE TABLE tb_sync_user_history
(
    id        VARCHAR(50) NOT NULL COMMENT 'id',
    app_id    VARCHAR(50) COMMENT '应用id',
    app_code  VARCHAR(100) COMMENT '应用英文名',
    app_name  VARCHAR(100) COMMENT '应用中文名',
    sync_time datetime COMMENT '同步时间',
    remark    VARCHAR(100) COMMENT '备注',
    app_admin VARCHAR(100) COMMENT '应用管理员',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '应用同步用户记录表';

CREATE TABLE tb_config_admin
(
    id             VARCHAR(50) COMMENT 'id',
    config_name    VARCHAR(100) COMMENT '配置名称',
    config_type    INT COMMENT '配置类型:普通类型0,开关类型1',
    config_desc    VARCHAR(100) COMMENT '配置描述',
    service_type   VARCHAR(100) COMMENT '服务类型',
    config_content VARCHAR(100) COMMENT '配置内容',
    step_name      VARCHAR(100) COMMENT '步骤名称',
    config_state   INT COMMENT '配置状态:0正常1删除',
    create_name    VARCHAR(50) NOT NULL COMMENT '记录创建人',
    create_time    DATETIME COMMENT '记录创建时间',
    update_name    VARCHAR(50) COMMENT '记录修改人',
    update_time    DATETIME COMMENT '记录修改时间',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '配置管理表';

CREATE TABLE tb_authentication_record
(
    id             BIGINT UNSIGNED            NOT NULL COMMENT '主键',
    apply_app_user VARCHAR(20)                NOT NULL COMMENT '申请人',
    apply_app_id   BIGINT UNSIGNED            NOT NULL COMMENT '申请方应用id',
    apply_time     DATETIME                   NOT NULL COMMENT '申请时间',
    service_id     BIGINT UNSIGNED            NOT NULL COMMENT '服务id',
    audit_user     VARCHAR(20),
    audit_time     DATETIME,
    audit_opinion  VARCHAR(500),
    status         TINYINT UNSIGNED DEFAULT 0 NOT NULL COMMENT '是否审批(0 未审批,1 已审批)',
    create_time    DATETIME,
    update_time    DATETIME,
    is_deleted     TINYINT UNSIGNED DEFAULT 0 COMMENT '逻辑删除：0-未删除；1-已删除',
    apply_reason   VARCHAR(255),
    folder_id      BIGINT UNSIGNED,
    is_pass        TINYINT UNSIGNED COMMENT '是否通过(0 通过 1 拒绝 )',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '鉴权记录表';

CREATE TABLE t_workflow_timeout_notice
(
    id                  BIGINT UNSIGNED        NOT NULL COMMENT '主键',
    process_instance_id VARCHAR(100) COMMENT '流程实例id',
    task_id             VARCHAR(100) COMMENT '任务id',
    duration            BIGINT UNSIGNED COMMENT '过多久提醒（毫秒）',
    create_time         DATETIME(6) COMMENT '创建时间',
    notice_time         DATETIME COMMENT '提醒触发时间点',
    notice_user         VARCHAR(5000) COMMENT '通知人，存用户id，多个逗号分割',
    tenant_id           NVARCHAR(255) COMMENT '租户id',
    notice_count        INT UNSIGNED DEFAULT 0 NOT NULL COMMENT '已发送通知次数',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='工作流超时提醒表';


CREATE TABLE t_wf_process_publish
(
    id             BIGINT UNSIGNED NOT NULL COMMENT 'ID',
    apply_type     VARCHAR(200) COMMENT '类型',
    system_name    VARCHAR(200) COMMENT '应用发布标题',
    process_ins_id VARCHAR(64) COMMENT '流程实例ID',
    process_def_id VARCHAR(64) COMMENT '流程定义id',
    status         INT UNSIGNED COMMENT '状态',
    current_node   VARCHAR(64) COMMENT '当前节点',
    create_user    BIGINT UNSIGNED COMMENT '创建人',
    is_deleted     VARCHAR(200) COMMENT '是否已删除',
    create_time    DATE COMMENT '创建时间',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='应用发布申请管理';



CREATE TABLE t_unifies_todo
(
    id            BIGINT UNSIGNED NOT NULL COMMENT '主键',
    title         VARCHAR(255) COMMENT '待办标题',
    start_time    DATETIME COMMENT '发起时间',
    start_name    VARCHAR(20) COMMENT '发起人工号',
    examine_name  VARCHAR(20) COMMENT '授理人工号',
    type          TINYINT UNSIGNED COMMENT '待办类型(0:应用登记审核，1:项目登记审核,2:服务上架审批3第三方应用)',
    is_skip       TINYINT UNSIGNED COMMENT '是否需要跳转0:false,1:true',
    skip_url      VARCHAR(255) COMMENT '跳转链接',
    todo_start    TINYINT UNSIGNED COMMENT '待办状态1已办，2未办，3撤销',
    flowable_id   VARCHAR(255) COMMENT '工作流id',
    task_id       VARCHAR(100) COMMENT '任务id',
    task_name     VARCHAR(50) COMMENT '节点名称',
    todo_tag      VARCHAR(100) COMMENT '待办标识',
    app_source    VARCHAR(50) COMMENT '来源应用',
    end_date      DATETIME COMMENT '办结期限',
    approvers     VARCHAR(1000) COMMENT '审批人工号列表',
    priority      TINYINT UNSIGNED COMMENT '优先级1高，2中，3低',
    examine_time  DATETIME COMMENT '办理时间',
    start_user    VARCHAR(20) COMMENT '发起人姓名',
    serial_number VARCHAR(100) COMMENT '流水号',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='待办事项管理';


CREATE TABLE t_tenant
(
    id             BIGINT UNSIGNED NOT NULL COMMENT '主键',
    tenant_id      VARCHAR(12)      DEFAULT '000000' COMMENT '租户ID',
    tenant_name    VARCHAR(50)     NOT NULL COMMENT '租户名称',
    domain_url     VARCHAR(255) COMMENT '域名地址',
    background_url VARCHAR(1000) COMMENT '系统背景',
    linkman        VARCHAR(20) COMMENT '联系人',
    contact_number VARCHAR(20) COMMENT '联系电话',
    address        VARCHAR(255) COMMENT '联系地址',
    account_number BIGINT           DEFAULT -1 COMMENT '账号额度',
    expire_time    DATETIME COMMENT '过期时间',
    package_id     BIGINT UNSIGNED COMMENT '产品包ID',
    datasource_id  BIGINT UNSIGNED COMMENT '数据源ID',
    license_key    VARCHAR(1000) COMMENT '授权码',
    create_user    BIGINT UNSIGNED COMMENT '创建人',
    create_dept    BIGINT UNSIGNED COMMENT '创建部门',
    create_time    DATETIME COMMENT '创建时间',
    update_user    BIGINT UNSIGNED COMMENT '修改人',
    update_time    DATETIME COMMENT '修改时间',
    status         INT COMMENT '状态',
    is_deleted     TINYINT UNSIGNED DEFAULT 0 COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='租户表';


CREATE TABLE t_tag
(
    id         BIGINT UNSIGNED NOT NULL COMMENT 'id',
    parent_id  BIGINT UNSIGNED COMMENT '父级id',
    tag_name   VARCHAR(100) COMMENT '标签名称',
    cur_node   VARCHAR(100) COMMENT '编码-等级',
    tag_desc   VARCHAR(200) COMMENT '标签描述',
    tag_grain  INT COMMENT '等级',
    is_active  TINYINT UNSIGNED COMMENT '状态：0-正常，1-禁用',
    updated_at DATETIME COMMENT '更新时间',
    created_at DATETIME COMMENT '创建时间',
    root_id    BIGINT UNSIGNED COMMENT '根节点id',
    is_deleted TINYINT UNSIGNED DEFAULT 0 COMMENT '逻辑删除：0-未删除；1-已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='标签表';


CREATE TABLE t_system_suggestion
(
    id             VARCHAR(255) NOT NULL COMMENT 'ID',
    file_url       VARCHAR(500) COMMENT '文件路径',
    contact_number bigint COMMENT '联系电话',
    status         TINYINT UNSIGNED DEFAULT 0 COMMENT '处理状态0未处理/1已处理',
    create_time    VARCHAR(255) COMMENT '创建时间',
    suggestion     TEXT COMMENT '问题及建议',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '系统建议表';

CREATE TABLE t_sys_port_area
(
    id             VARCHAR(20)  NOT NULL COMMENT '主键',
    port_area_code VARCHAR(255) NOT NULL COMMENT '港区代码',
    port_area_name VARCHAR(255) COMMENT '港区名称',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '港区表';


CREATE TABLE t_sys_part_job
(
    user_id bigint(20) COMMENT '用户id',
    dept_id bigint(20) COMMENT '部门id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '兼职表';


CREATE TABLE t_sync_user_change_history
(
    id          VARCHAR(50) NOT NULL COMMENT 'ID',
    change_type int         NOT NULL DEFAULT 0 COMMENT '变更类型 0新增 1锁定 2其他变动',
    username    VARCHAR(50) NOT NULL COMMENT '用户工号',
    name        VARCHAR(50) COMMENT '姓名',
    change_time datetime COMMENT '改变时间',
    sync_time   datetime COMMENT '同步时间',
    remark      VARCHAR(500) COMMENT '备注',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '同步用户变动表';

CREATE TABLE t_sms
(
    id          bigint(20) NOT NULL COMMENT '主键',
    tenant_id   VARCHAR(12) COMMENT '租户ID',
    category    bigint(11) COMMENT '分类',
    sms_code    VARCHAR(12) COMMENT '资源编号',
    template_id VARCHAR(64) COMMENT '模板ID',
    access_key  VARCHAR(255) COMMENT 'accessKey',
    secret_key  VARCHAR(255) COMMENT 'secretKey',
    region_id   VARCHAR(255) COMMENT 'regionId',
    sign_name   VARCHAR(64) COMMENT '短信签名',
    remark      text COMMENT '备注',
    create_user bigint(20) COMMENT '创建人',
    create_dept bigint(20) COMMENT '创建部门',
    create_time DATETIME COMMENT '创建时间',
    update_user bigint(20) COMMENT '修改人',
    update_time DATETIME COMMENT '修改时间',
    status      bigint(11) COMMENT '状态',
    is_deleted  bigint(11) COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '短信配置表';


CREATE TABLE t_scope_api
(
    id            bigint(20) COMMENT '主键',
    menu_id       bigint(20) COMMENT '菜单Id',
    scope_name    VARCHAR(500) COMMENT '权限名称',
    resource_code VARCHAR(500) COMMENT '权限编号',
    scope_path    VARCHAR(500) COMMENT '权限路径',
    scope_type    bigint(11) COMMENT '接口类型(0.业务接口, 1.系统接口)',
    remark        VARCHAR(2000) COMMENT '权限备注',
    create_user   bigint(20) COMMENT '创建人',
    create_dept   bigint(20) COMMENT '创建部门',
    create_time   DATETIME COMMENT '创建时间',
    update_time   DATETIME COMMENT '修改时间',
    update_user   bigint(20) COMMENT '修改人',
    is_deleted    bigint(11) COMMENT '删除标识',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '接口权限表';


CREATE TABLE t_post
(
    id          bigint(20) NOT NULL COMMENT '主键',
    tenant_id   VARCHAR(12) COMMENT '租户ID',
    category    bigint(11) COMMENT '岗位类型',
    post_code   VARCHAR(12) COMMENT '岗位编号',
    post_name   VARCHAR(64) COMMENT '岗位名称',
    sort        bigint(11) COMMENT '岗位排序',
    remark      VARCHAR(255) COMMENT '岗位描述',
    create_user bigint(20) COMMENT '创建人',
    create_dept bigint(20) COMMENT '创建部门',
    create_time DATETIME COMMENT '创建时间',
    update_user bigint(20) COMMENT '修改人',
    update_time DATETIME COMMENT '修改时间',
    status      bigint(11) COMMENT '状态',
    is_deleted  bigint(11) COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '岗位表';

CREATE TABLE t_notice_is_read
(
    id        VARCHAR(20) NOT NULL COMMENT '主键',
    notice_id VARCHAR(20) COMMENT '公告id',
    user_name VARCHAR(50) COMMENT '用户工号',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE t_mes_log
(
    id          VARCHAR(50) NOT NULL COMMENT '主键',
    send_user   VARCHAR(100) COMMENT '发送人',
    incept_user VARCHAR(100) COMMENT '接收人',
    send_time   VARCHAR(100) COMMENT '发送时间',
    title       VARCHAR(255) COMMENT '标题',
    type        TINYINT(1) COMMENT '类型1短信/2邮件/3站内信',
    phone       BIGINT(11) COMMENT '手机号',
    content     TEXT COMMENT '内容',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE t_mail
(
    id       VARCHAR(100) NOT NULL COMMENT '主键',
    host     VARCHAR(100) COMMENT '端口',
    password VARCHAR(100) COMMENT '密码',
    username VARCHAR(100) COMMENT '用户名',
    state    VARCHAR(100) COMMENT '状态',
    code     VARCHAR(100) COMMENT 'code',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE t_label
(
    id          VARCHAR(100) NOT NULL COMMENT '主键',
    title       VARCHAR(255) NOT NULL COMMENT '标题',
    create_time datetime default now() null,
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE t_inside_message
(
    id         BIGINT NOT NULL COMMENT '主键',
    title      VARCHAR(100) COMMENT '标题',
    content    VARCHAR(255) COMMENT '内容',
    send_time  DATETIME COMMENT '发送时间',
    sender     VARCHAR(50) COMMENT '发送人工号',
    recipient  VARCHAR(50) COMMENT '接受人工号',
    range_type VARCHAR(255) COMMENT '范围类型(个人，部门，全体)',
    type       VARCHAR(50) COMMENT '消息类型(0短信/1邮件/2应用登记审核/3项目登记审核)',
    is_skip    TINYINT DEFAULT 0 COMMENT '是否需要跳转0:false,1:true',
    skip_url   VARCHAR(100) COMMENT '跳转链接',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '站内消息表';

CREATE TABLE t_email_log
(
    id          VARCHAR(60) COMMENT 'id',
    username    VARCHAR(100) COMMENT '发送人',
    receive_str VARCHAR(100) COMMENT '接收人',
    subject     VARCHAR(100) COMMENT '主题',
    content     VARCHAR(100) COMMENT '内容',
    type        VARCHAR(50) COMMENT '类型',
    send_time   DATETIME COMMENT '发送时间',
    is_read     TINYINT COMMENT '是否必读',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '邮件短信发送记录表';

CREATE TABLE t_company_user
(
    id         BIGINT  NOT NULL COMMENT 'id',
    company_id BIGINT COMMENT '所属公司id',
    gh         VARCHAR(100) COMMENT '工号',
    name       VARCHAR(100) COMMENT '姓名',
    mobile     VARCHAR(100) COMMENT '电话',
    updated_at DATETIME COMMENT '更新时间',
    created_at DATETIME COMMENT '创建时间',
    state      TINYINT NOT NULL COMMENT '状态：0-正常，1-禁用',
    user_id    BIGINT COMMENT '用户id',
    PRIMARY KEY (id)

) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE t_company
(
    id          BIGINT       NOT NULL COMMENT 'id',
    name        VARCHAR(100) NOT NULL COMMENT '公司名称',
    description VARCHAR(200) COMMENT '公司描述',
    sort        INT COMMENT '排序',
    state       TINYINT COMMENT '状态：0-正常，1-禁用',
    updated_at  DATETIME COMMENT '更新时间',
    created_at  DATETIME COMMENT '创建时间',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE t_agent
(
    id            VARCHAR(100) COMMENT '主键id',
    title         VARCHAR(200) COMMENT '标题',
    start_time    DATETIME COMMENT '发起时间',
    start_name    VARCHAR(100) COMMENT '发起人工号',
    examine_name  VARCHAR(100) COMMENT '审批人工号',
    type          VARCHAR(100) COMMENT '代办类型(0:应用登记审核，1:项目登记审核,2:服务上架审批)',
    is_skip       TINYINT COMMENT '是否需要跳转0:false,1:true',
    skip_url      VARCHAR(200) COMMENT '跳转链接',
    agent_start   TINYINT COMMENT '代办状态(0:未处理，1:已处理)',
    flowable_id   VARCHAR(200) COMMENT '工作流id',
    start_user    VARCHAR(50) COMMENT '发起人姓名',
    examine_user  VARCHAR(50) COMMENT '审批人姓名',
    task_id       VARCHAR(100) COMMENT '任务id',
    task_name     VARCHAR(100) COMMENT '节点名称',
    serial_number VARCHAR(100) COMMENT '流水号',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '代办事项表';

CREATE TABLE sys_task_form
(
    id      BIGINT NOT NULL COMMENT '主键',
    form_id BIGINT COMMENT '表单主键',
    task_id VARCHAR(50) COMMENT '所属任务',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程任务关联表单';


CREATE TABLE sys_listener
(
    id          BIGINT NOT NULL COMMENT '表单主键',
    name        VARCHAR(128) COMMENT '名称',
    type        VARCHAR(32) COMMENT '监听类型',
    event_type  VARCHAR(32) COMMENT '事件类型',
    value_type  VARCHAR(32) COMMENT '值类型',
    value       VARCHAR(255) COMMENT '执行内容',
    create_time DATETIME COMMENT '创建时间',
    update_time DATETIME COMMENT '更新时间',
    create_user BIGINT COMMENT '创建人员',
    update_user BIGINT COMMENT '更新人员',
    status      TINYINT COMMENT '状态',
    remark      VARCHAR(255) COMMENT '备注',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程监听';


CREATE TABLE sys_form
(
    form_id      BIGINT NOT NULL COMMENT '表单主键',
    form_name    VARCHAR(50) COMMENT '表单名称',
    form_content TEXT COMMENT '表单内容',
    create_time  DATETIME COMMENT '创建时间',
    update_time  DATETIME COMMENT '更新时间',
    create_user  BIGINT COMMENT '创建人员',
    update_user  BIGINT COMMENT '更新人员',
    remark       VARCHAR(255) COMMENT '备注',
    PRIMARY KEY (form_id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程表单';


CREATE TABLE sys_expression
(
    id          BIGINT NOT NULL COMMENT '表单主键',
    name        VARCHAR(50) COMMENT '表达式名称',
    expression  VARCHAR(255) COMMENT '表达式内容',
    create_time DATETIME COMMENT '创建时间',
    update_time DATETIME COMMENT '更新时间',
    create_user BIGINT COMMENT '创建人员',
    update_user BIGINT COMMENT '更新人员',
    status      TINYINT COMMENT '状态',
    remark      VARCHAR(255) COMMENT '备注',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程表达式';


CREATE TABLE sys_deploy_form
(
    id        BIGINT NOT NULL COMMENT '主键',
    form_id   BIGINT COMMENT '表单主键',
    deploy_id VARCHAR(50) COMMENT '流程实例主键',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程实例关联表单';



CREATE TABLE r_sys_user_individual
(
    id             BIGINT NOT NULL COMMENT '主键',
    user_id        BIGINT COMMENT '用户id',
    path           VARCHAR(255) COMMENT '路径',
    individua_name VARCHAR(255) COMMENT '名称',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE r_sys_user_app
(
    user_id BIGINT COMMENT '用户Id',
    app_id  BIGINT COMMENT '应用Id'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '用户应用关联表';


CREATE TABLE r_sys_dept_port_area
(
    dept_id      VARCHAR(20) NOT NULL COMMENT '部门ID',
    port_area_id VARCHAR(20) NOT NULL COMMENT '港区ID',
    PRIMARY KEY (dept_id, port_area_id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;


CREATE TABLE qdport_wf_serial
(
    id               BIGINT NOT NULL COMMENT 'ID',
    deployment_id    VARCHAR(255) COMMENT '部署id',
    name             VARCHAR(255) COMMENT '名称',
    prefix           VARCHAR(255) COMMENT '前缀',
    date_format      VARCHAR(255) COMMENT '日期格式化',
    suffix_length    BIGINT COMMENT '后缀位数',
    start_sequence   BIGINT COMMENT '初始数值',
    connector        VARCHAR(255) COMMENT '连接符',
    current_sequence BIGINT COMMENT '当前序列',
    cycle            VARCHAR(255) COMMENT '重置周期 none不重置 day天 week周 month月 year年',
    create_user      BIGINT COMMENT '创建人',
    create_dept      BIGINT COMMENT '创建部门',
    create_time      DATETIME COMMENT '创建时间',
    update_user      BIGINT COMMENT '修改人',
    update_time      DATETIME COMMENT '修改时间',
    status           VARCHAR(255) COMMENT '状态',
    is_deleted       BIGINT COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程流水号';

CREATE TABLE qdport_wf_proxy
(
    id              BIGINT NOT NULL COMMENT 'ID',
    user_id         BIGINT COMMENT '委托人',
    proxy_user_id   BIGINT COMMENT '代理人',
    process_def_key VARCHAR(750) COMMENT '流程定义key',
    type            VARCHAR(255) COMMENT '1永久 2定时',
    start_time      DATETIME COMMENT '开始时间',
    end_time        DATETIME COMMENT '结束时间',
    status          BIGINT COMMENT '状态',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程代理';


CREATE TABLE qdport_wf_process_leave
(
    id             BIGINT   NOT NULL COMMENT 'ID',
    process_ins_id VARCHAR(64) COMMENT '流程实例id',
    process_def_id VARCHAR(64) COMMENT '流程定义id',
    current_node   VARCHAR(64) COMMENT '当前节点',
    datetime       VARCHAR(64) COMMENT '时间范围',
    days           BIGINT COMMENT '请假天数',
    reason         TEXT COMMENT '请假理由',
    attachment     TEXT COMMENT '附件',
    create_user    BIGINT COMMENT '创建人',
    create_dept    BIGINT COMMENT '创建部门',
    create_time    DATETIME NOT NULL COMMENT '创建时间',
    update_user    BIGINT COMMENT '修改人',
    update_time    DATETIME COMMENT '修改时间',
    status         BIGINT COMMENT '状态',
    is_deleted     BIGINT DEFAULT 0 COMMENT '是否已删除',
    form_key       VARCHAR(255) COMMENT '外置表单key',
    form_url       VARCHAR(255) COMMENT '外置表单url',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '请假流程业务示例';



CREATE TABLE qdport_wf_model_scope
(
    id        BIGINT NOT NULL COMMENT 'ID',
    model_id  VARCHAR(255) COMMENT '模型id',
    model_key VARCHAR(255) COMMENT '模型key',
    type      VARCHAR(255) COMMENT '类型 user用户 role角色 dept部门 post职位',
    val       VARCHAR(255) COMMENT '用户/角色/部门/职位 id集合',
    text      VARCHAR(255) COMMENT '用户/角色/部门/职位 name集合',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程模型权限';



CREATE TABLE qdport_wf_form_history
(
    id          BIGINT NOT NULL COMMENT 'ID',
    form_id     BIGINT,
    form_key    VARCHAR(255) COMMENT '表单key',
    name        VARCHAR(255) COMMENT '表单名称',
    content     TEXT COMMENT '表单内容',
    app_content TEXT COMMENT 'app表单内容',
    version     BIGINT,
    category_id BIGINT,
    remark      VARCHAR(255) COMMENT '备注',
    create_user BIGINT,
    create_dept BIGINT,
    create_time DATETIME,
    update_user BIGINT,
    update_time DATETIME,
    status      BIGINT,
    is_deleted  BIGINT,
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程表单';


CREATE TABLE qdport_wf_form_default_values
(
    id          BIGINT NOT NULL COMMENT 'ID',
    name        VARCHAR(255) COMMENT '名称',
    content     VARCHAR(255) COMMENT '内容',
    field_type  VARCHAR(255) COMMENT '字段类型',
    create_user BIGINT,
    create_dept BIGINT,
    create_time DATETIME,
    update_user BIGINT,
    update_time DATETIME,
    status      VARCHAR(255) COMMENT '状态',
    is_deleted  BIGINT,
    tenant_id   VARCHAR(12) COMMENT '租户ID',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程表单字段默认值';


CREATE TABLE qdport_wf_form
(
    id          BIGINT NOT NULL COMMENT 'ID',
    form_key    VARCHAR(255) COMMENT '表单key',
    name        VARCHAR(255) COMMENT '表单名称',
    content     TEXT COMMENT '表单内容',
    app_content TEXT COMMENT 'app表单内容',
    version     BIGINT,
    category_id BIGINT(20),
    remark      VARCHAR(255) COMMENT '备注',
    create_user BIGINT(20),
    create_dept BIGINT(20),
    create_time DATETIME,
    update_user BIGINT(20),
    update_time DATETIME,
    status      BIGINT,
    is_deleted  BIGINT,
    tenant_id   VARCHAR(12) COMMENT '租户ID',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程表单';


CREATE TABLE qdport_wf_draft
(
    id             BIGINT NOT NULL COMMENT 'ID',
    user_id        BIGINT,
    form_key       VARCHAR(255) COMMENT '表单key',
    process_def_id VARCHAR(255) COMMENT '流程定义id',
    variables      TEXT COMMENT '表单变量',
    platform       VARCHAR(255) COMMENT '平台 pc/app',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 comment = '流程草稿箱';


CREATE TABLE qdport_wf_deployment_form
(
    id            BIGINT NOT NULL COMMENT 'ID',
    deployment_id VARCHAR(255) COMMENT '流程部署id',
    form_key      VARCHAR(255) COMMENT '表单key',
    content       TEXT COMMENT '表单内容',
    app_content   TEXT COMMENT 'app表单内容',
    task_key      VARCHAR(255) COMMENT '节点key',
    task_name     VARCHAR(255) COMMENT '节点名称',
    create_user   BIGINT COMMENT '创建人',
    create_dept   BIGINT COMMENT '创建部门',
    create_time   DATETIME COMMENT '创建时间',
    update_user   BIGINT COMMENT '修改人',
    update_time   DATETIME COMMENT '修改时间',
    status        VARCHAR(255) COMMENT '状态',
    is_deleted    INT DEFAULT 0 COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程部署 - 表单';

CREATE TABLE qdport_wf_copy
(
    id          BIGINT NOT NULL COMMENT 'ID',
    user_id     BIGINT COMMENT '用户id',
    title       VARCHAR(255) COMMENT '标题',
    initiator   VARCHAR(255) COMMENT '发起者',
    task_id     VARCHAR(255) COMMENT '任务id',
    process_id  VARCHAR(255) COMMENT '流程实例id',
    form_key    VARCHAR(255) COMMENT '外置表单key',
    form_url    VARCHAR(255) COMMENT '外置表单url',
    create_user BIGINT COMMENT '创建人',
    create_dept BIGINT COMMENT '创建部门',
    create_time DATETIME COMMENT '创建时间',
    update_user BIGINT COMMENT '修改人',
    update_time DATETIME COMMENT '修改时间',
    status      VARCHAR(255) COMMENT '状态',
    is_deleted  TINYINT DEFAULT 0 COMMENT '是否已删除',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程抄送';



CREATE TABLE qdport_wf_condition
(
    id          BIGINT NOT NULL COMMENT 'ID',
    name        VARCHAR(255) COMMENT '名称',
    expression  VARCHAR(255) COMMENT '表达式',
    type        VARCHAR(255) COMMENT '类型',
    create_user BIGINT COMMENT '创建人',
    create_dept BIGINT COMMENT '创建部门',
    create_time DATETIME COMMENT '创建时间',
    update_user BIGINT COMMENT '修改人',
    update_time DATETIME COMMENT '修改时间',
    status      VARCHAR(255) COMMENT '状态',
    is_deleted  TINYINT DEFAULT 0 COMMENT '是否已删除',
    tenant_id   VARCHAR(12) COMMENT '租户ID',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程表达式';


CREATE TABLE qdport_wf_category
(
    id          BIGINT NOT NULL COMMENT 'ID',
    name        VARCHAR(255) COMMENT '分类名称',
    pid         BIGINT  DEFAULT 0 COMMENT '上级id',
    sort        INT COMMENT '排序',
    create_user BIGINT COMMENT '创建人',
    create_dept BIGINT COMMENT '创建部门',
    create_time DATETIME COMMENT '创建时间',
    update_user BIGINT COMMENT '修改人',
    update_time DATETIME COMMENT '修改时间',
    status      VARCHAR(255) COMMENT '状态',
    is_deleted  TINYINT DEFAULT 0 COMMENT '是否已删除',
    tenant_id   VARCHAR(12) COMMENT '租户ID',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程分类';

CREATE TABLE qdport_wf_button
(
    id          BIGINT NOT NULL COMMENT 'ID',
    button_key  VARCHAR(255) COMMENT '按钮key',
    name        VARCHAR(255) COMMENT '名称',
    display     TINYINT COMMENT '默认是否显示',
    sort        INT COMMENT '排序',
    create_user BIGINT COMMENT '创建人',
    create_dept BIGINT COMMENT '创建部门',
    create_time DATETIME COMMENT '创建时间',
    update_user BIGINT COMMENT '修改人',
    update_time DATETIME COMMENT '修改时间',
    status      VARCHAR(255) COMMENT '状态',
    is_deleted  TINYINT     DEFAULT 0 COMMENT '是否已删除',
    tenant_id   VARCHAR(12) DEFAULT '000000' COMMENT '租户ID',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程按钮';

CREATE TABLE ACT_DE_MODEL
(
    id                      VARCHAR(255)            NOT NULL COMMENT 'ID',
    name                    VARCHAR(400)            NOT NULL COMMENT '名称',
    model_key               VARCHAR(400)            NOT NULL COMMENT '模型标识',
    form_key                VARCHAR(255) COMMENT '表单标识',
    category_id             BIGINT COMMENT '分类id',
    description             TEXT COMMENT '描述',
    model_comment           TEXT COMMENT '评论',
    created                 DATETIME COMMENT '创建时间',
    created_by              VARCHAR(255) COMMENT '创建人',
    last_updated            DATETIME COMMENT '最后更新时间',
    last_updated_by         VARCHAR(255) COMMENT '最后更新人',
    version                 INT COMMENT '版本',
    xml                     TEXT COMMENT 'xml',
    model_editor_json       TEXT COMMENT 'flowable-ui编辑器json',
    thumbnail               BLOB COMMENT '缩略图',
    model_type              INT COMMENT '类型',
    tenant_id               VARCHAR(255) COMMENT '租户id',
    icon                    VARCHAR(255) COMMENT '图标',
    send_notice             TINYINT       DEFAULT 0 NOT NULL COMMENT '是否通知审批人 0通知 1不通知',
    timeout_notice_duration DECIMAL(8, 2) DEFAULT 0 NOT NULL COMMENT '审批超时提醒时长 （小时）0为不通知',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程 - 定义 - 模型';

CREATE TABLE ACT_DE_MODEL_HISTORY
(
    id                VARCHAR(255) NOT NULL COMMENT 'ID',
    name              VARCHAR(400) NOT NULL COMMENT '名称',
    model_key         VARCHAR(400) NOT NULL COMMENT '模型标识',
    form_key          VARCHAR(255) COMMENT '表单标识',
    category_id       BIGINT COMMENT '分类id',
    description       TEXT COMMENT '描述',
    model_comment     TEXT COMMENT '注释',
    created           DATETIME COMMENT '创建时间',
    created_by        VARCHAR(255) COMMENT '创建人',
    last_updated      DATETIME COMMENT '最后更新时间',
    last_updated_by   VARCHAR(255) COMMENT '最后更新人',
    removal_date      DATETIME COMMENT '移除时间',
    version           INT COMMENT '版本',
    xml               TEXT COMMENT 'xml',
    model_editor_json TEXT COMMENT 'flowable-ui编辑器json',
    model_id          VARCHAR(255) NOT NULL COMMENT 'modelId',
    model_type        INT COMMENT '类型',
    tenant_id         VARCHAR(255) COMMENT '租户id',
    icon              VARCHAR(255) COMMENT '图标',
    PRIMARY KEY (id)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='流程 - 定义 - 模型历史';






















