-- 党员管理数据表
DROP TABLE IF EXISTS `party_member_manage`;
CREATE TABLE party_member_manage
(
    id                bigint       not null comment '主键编号' primary key,
    create_user_id    bigint       null comment '创建人',
    create_date       datetime     null comment '创建时间',
    modify_user_id    bigint       null comment '修改人',
    modify_date       datetime     null comment '修改时间',
    delete_mark       int          not null comment '删除标记',
    enabled_mark      int          not null comment '有效标志',
    sort_code         int          null comment '序号',
    party_member_name VARCHAR(36)  not null comment '党员姓名',
    party_member_id   bigint       not null comment '党员编号',
    party_tissue_name VARCHAR(256) not null comment '所属党组织名称',
    party_tissue_code bigint       not null comment '所属党组织编号',
    party_tissue_type varchar(256) not null comment '党组织类型',
    new_party_member  VARCHAR(25)  not null comment '是否新党员',
    member_type       VARCHAR(25)  null comment '新党员类型',
    growing_status    VARCHAR(25)  null comment '党员发展状态',
    activists_date    DATE         null comment '成为积极分子日期',
    prepare_member    DATE         null comment '成为预备党员日期',
    formal_member     DATE         null comment '成为正式党员日期'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
    COMMENT ='党员管理数据表';

# 数据字典项               		编号                          			备注
# 新党员类型代码                 party_member_type			          		新党员类型代码
# 字典名        编号                     字典值
# 教职工        member_type_1            1
# 学生          member_type_2            2
# 其他          member_type_3            9


-- 党组织管理
DROP TABLE IF EXISTS `party_tissue_manager`;
CREATE TABLE `party_tissue_manager`
(
    id                    bigint       not null comment '主键编号'
        primary key,
    create_user_id        bigint       null comment '创建人',
    create_date           datetime     null comment '创建时间',
    modify_user_id        bigint       null comment '修改人',
    modify_date           datetime     null comment '修改时间',
    delete_mark           int          not null comment '删除标记',
    enabled_mark          int          not null comment '有效标志',
    sort_code             int          null comment '序号',
    party_tissue_name     varchar(256) not null comment '党组织名称',
    party_tissue_code     varchar(256) not null comment '党组织编号',
    party_tissue_type     varchar(256) not null comment '党组织类型',
    superior_party_tissue varchar(256) null comment '隶属上级党组织',
    leadership_name       varchar(256) not null comment '党内领导姓名',
    leadership_number     varchar(256) null comment '党内领导工号',
    leadership_position   varchar(256) null comment '党内领导职务',
    party_counter         int          null comment '党组织党员数量'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
    comment '党组织管理';


# 数据字典
# party_typ 党组织类型
# 值 名称  编号
# 1 党委   party_typ1
# 2 党总支 party_typ2
# 3 党支部 party_typ3

# party_lead 党内领导职务
# 值  名称       编号
# 1  书记       par_lead1
# 2  副书记      par_lead2
# 3  组织委员     par_lead3
# 4  宣传委员     par_lead4
# 5  纪检委员     par_lead5
# 6  青年委员     par_lead6
# 7  统战委员     par_lead7
# 8  保密委员     par_lead8
# 9  妇女委员     par_lead9
# 99 其他       par_lead99

-- 证明申请
DROP TABLE IF EXISTS `prove_application`;
CREATE TABLE `prove_application`
(
    `id`                        bigint       NOT NULL COMMENT '主键编号',
    `create_user_id`            bigint       NULL DEFAULT NULL COMMENT '创建人',
    `create_date`               datetime     NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id`            bigint       NULL DEFAULT NULL COMMENT '修改人',
    `modify_date`               datetime     NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark`               int          NOT NULL COMMENT '删除标记',
    `enabled_mark`              int          NOT NULL COMMENT '有效标志',
    `sort_code`                 int          NULL DEFAULT NULL COMMENT '序号',
    `department_id`             bigint       NOT NULL comment '所在部门id',
    `department`                varchar(255) NOT NULL COMMENT '所在部门',
    `application_id`            bigint       NOT NULL COMMENT '申请人id',
    `application_name`          varchar(255) NULL DEFAULT NULL COMMENT '申请人',
    `application_time`          datetime     NULL DEFAULT NULL COMMENT '申请时间',
    `application_c_explanation` varchar(255) NULL DEFAULT NULL COMMENT '申请证明说明',
    `status`                    int          NOT NULL COMMENT '状态',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
    COMMENT ='证明申请';


-- 报销记录表
DROP TABLE IF EXISTS `billing_reimbursement`;
create table billing_reimbursement
(
    id                   bigint         NOT NULL comment '主键编号'
        primary key,
    create_user_id       bigint         NULL comment '创建人',
    create_date          datetime       NULL comment '创建时间',
    modify_user_id       bigint         NULL comment '修改人',
    modify_date          datetime       NULL comment '修改时间',
    delete_mark          int            NOT NULL comment '删除标记',
    enabled_mark         int            NOT NULL comment '有效标志',
    sort_code            int            NULL comment '序号',
    department_id        bigint         NOT NULL comment '所在部门id',
    department_name      varchar(255)   NOT NULL comment '所在部门',
    applicant_id         bigint         NOT NULL comment '申请人id',
    applicant_name       varchar(255)   NOT NULL comment '申请人',
    department_manger_id bigint         NULL comment '所在部门主任id',
    aply_time            datetime       NOT NULL comment '申请时间',
    gotrip_time          date           NOT NULL comment '出差开始日期',
    end_time             date           NOT NULL comment '出差结束日期',
    start_end_o_postion  varchar(255)   NOT NULL comment '起讫地点',
    city_in              int            NOT NULL comment '市内市外',         -- 0为室内，1为市外
    business_trip_day    int            NOT NULL comment '天数',
    business_trip_reason varchar(512)   NOT NULL comment '出差事由',
    is_car               int            NOT NULL comment '是否派车',         -- 0为不派车，1为派车，
    city_traffic_fee     DECIMAL(10, 2) NULL comment '城市交通费',
    b_trip_traffic_fee   DECIMAL(10, 2) NULL comment '出差地交通费',
    is_lodging           int            NOT NULL comment '主办方是否包食宿', -- 0为不包，1为包
    food_fee             DECIMAL(10, 2) NULL comment '伙食补助费',
    lodging_fee          DECIMAL(10, 2) NULL comment '住宿费',
    total_amount         DECIMAL(10, 2) NOT NULL comment '报销费用合计（元)',
    file_id              longtext       NOT NULL COMMENT '附件',
    `status`             int            NOT NULL COMMENT '状态'
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
    comment '报销记录表';


-- 社团活动表
DROP TABLE IF EXISTS `club_activities`;
CREATE TABLE `club_activities`
(
    `id`                      bigint       NOT NULL COMMENT '主键编号',
    `create_user_id`          bigint       NULL DEFAULT NULL COMMENT '创建人',
    `create_date`             datetime     NULL DEFAULT NULL COMMENT '创建时间',
    `modify_user_id`          bigint       NULL DEFAULT NULL COMMENT '修改人',
    `modify_date`             datetime     NULL DEFAULT NULL COMMENT '修改时间',
    `delete_mark`             int          NOT NULL COMMENT '删除标记',
    `enabled_mark`            int          NOT NULL COMMENT '有效标志',
    `sort_code`               int          NULL DEFAULT NULL COMMENT '序号',
    `club_activities_name`    varchar(255) NOT NULL COMMENT '社团活动名称',
    `club_activities_content` text         NULL COMMENT '社团活动内容',
    `activity_type`           varchar(255) NOT NULL COMMENT '活动类型',
    `activity_location`       varchar(255) NULL DEFAULT NULL COMMENT '活动地点',
    `leader`                  varchar(255) NULL DEFAULT NULL COMMENT '负责人',
    `user_id`                 bigint       NOT NULL COMMENT '用户id',
    `student_name`            varchar(255) NOT NULL COMMENT '参与学生姓名',
    `student_id`              varchar(255) NOT NULL COMMENT '学号',
    `start_time`              datetime     NOT NULL COMMENT '活动开始时间',
    `end_time`                datetime     NULL DEFAULT NULL COMMENT '活动结束时间',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
    COMMENT = '社团活动表';

# 数据字典
# activity_type 活动类型
# 值  名称      编号
# 1   公益服务  act_type_1
# 2   科学技术  act_type_2
# 3   理论学校  act_type_3
# 4   文艺体育  act_type_4


