-- 学生消费数据
DROP TABLE IF EXISTS `student_consume_date`;
CREATE TABLE student_consume_date
(
    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 '序号',

    class_id          bigint         NOT NULL COMMENT '班级id',
    class_name        VARCHAR(256)   NOT NULL COMMENT '班级名称',
    student_id        bigint         NOT NULL COMMENT '学生id',
    student_name      VARCHAR(256)   NULL COMMENT '学生姓名',
    student_user_name VARCHAR(256)   NULL COMMENT '学生学号',
    consume_time      datetime       NOT NULL COMMENT '消费时间',
    consume_money     DECIMAL(10, 2) NOT NULL COMMENT '消费金额',
    consume_type      VARCHAR(16)    NOT NULL COMMENT '消费类型',
    grade_name        VARCHAR(256)   NULL COMMENT '年级名称',
    grade_id          VARCHAR(256)   NULL COMMENT '年级id',
    major_name        VARCHAR(256)   NULL COMMENT '专业名称',
    major_id          VARCHAR(256)   NULL COMMENT '专业id'

) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
    COMMENT ='学生消费数据';

# 消费类型 consume_type
-- 字典名        编号               字典值
-- 食堂        consume_type_1       consume_type_1
-- 超市        consume_type_2       consume_type_2
-- 图书馆      consume_type_3       consume_type_3
-- 其他        consume_type_4       consume_type_4

ALTER TABLE ods_zzxxgkjcsj
    ADD provincial_code varchar(6) NOT NULL COMMENT '省机构编码' AFTER enabled_mark;

ALTER TABLE ods_zzxxgkjcsj
    ADD provincial_name varchar(60) NOT NULL COMMENT '省机构名称' AFTER provincial_code;

ALTER TABLE ods_zzxxgkjcsj
    ADD municipal_code varchar(6) NOT NULL COMMENT '市机构编码' AFTER provincial_name;

ALTER TABLE ods_zzxxgkjcsj
    ADD municipal_name varchar(60) NOT NULL COMMENT '市机构名称' AFTER municipal_code;

ALTER TABLE ods_zzxxgkjcsj
    ADD district_and_county_code varchar(6) NOT NULL COMMENT '区县机构编码' AFTER municipal_name;

ALTER TABLE ods_zzxxgkjcsj
    ADD district_and_county_name varchar(60) NOT NULL COMMENT '区县机构名称' AFTER district_and_county_code;

ALTER TABLE ods_zzxxgkjcsj
    DROP COLUMN location;

ALTER TABLE ods_zzxxgkjcsj
    ADD existing_school_staff_num int NOT NULL COMMENT '现有教职工总数' AFTER establish_date;

ALTER TABLE ods_zzxxgkjcsj
    MODIFY supervisory_department varchar(500) NULL COMMENT '学校主管部门' AFTER school_type;

ALTER TABLE ods_zzxxgkjcsj
    ADD existing_student_num int NOT NULL COMMENT '现有学生数' AFTER existing_school_staff_num;

ALTER TABLE ods_zzxxgkjcsj
    ADD set_up_major_num int NOT NULL COMMENT '本校开设专业数' AFTER existing_student_num;

ALTER TABLE ods_zzxxgkjcsj
    ADD characteristic_applications_num int NOT NULL COMMENT '学校特色应用数' AFTER set_up_major_num;

ALTER TABLE ods_zzxxgkjcsj
    MODIFY exit_bandwidth varchar(500) NOT NULL COMMENT '学校园出口带宽';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY backbone_bandwidth varchar(500) NOT NULL COMMENT '校园主干网带宽';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY wired_access int NOT NULL COMMENT '有线网络接入数';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY wireless_access int NOT NULL COMMENT '无线网络接入数';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY multimedia_classrooms int NOT NULL COMMENT '多媒体教室数';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY is_double_excellence varchar(500) NOT NULL COMMENT '是否双优学校';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY exit_bandwidth int NOT NULL COMMENT '学校园出口带宽';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY backbone_bandwidth int NOT NULL COMMENT '校园主干网带宽';

ALTER TABLE ods_zzxxgkjcsj
    ADD sort_code int NULL COMMENT '序号' AFTER enabled_mark;

ALTER TABLE base_student_scholarship_applicant
    ADD COLUMN `identification_number`         varchar(256) NOT NULL COMMENT '身份证号',
    ADD COLUMN `base_student_scholarship_name` varchar(256) NOT NULL COMMENT '申请奖助学金名称',
    ADD COLUMN `personal_circumstances`        longtext     NOT NULL COMMENT '描述个人情况',
    ADD COLUMN `application_reason`            longtext     NOT NULL COMMENT '阐述申请理由';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY create_date datetime NULL COMMENT '创建时间';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY modify_date datetime NULL COMMENT '修改日期';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY delete_mark int NOT NULL COMMENT '删除标记';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY enabled_mark int NOT NULL COMMENT '有效标记';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY school_name varchar(60) NULL COMMENT '学校名称';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY school_code varchar(10) NULL COMMENT '学校代码';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY school_institution_code varchar(18) NULL COMMENT '学校机构代码';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY supervisory_department varchar(65) NULL COMMENT '学校主管部门';

ALTER TABLE ods_zzxxgkjcsj
    MODIFY organizer_name varchar(60) NULL COMMENT '学校举办者名称';

ALTER TABLE base_student_scholarship_applicant
    ADD COLUMN `teacher_id` BIGINT NOT NULL COMMENT '班主任id';

DROP TABLE IF EXISTS base_course_subject;
CREATE TABLE `base_course_subject`
(
    `id`             bigint      NOT NULL COMMENT '主键',
    `create_user_id` bigint       DEFAULT NULL COMMENT '创建人',
    `create_date`    date         DEFAULT NULL COMMENT '创建时间',
    `modify_user_id` bigint       DEFAULT NULL COMMENT '修改人',
    `modify_date`    date         DEFAULT NULL COMMENT '修改时间',
    `delete_mark`    int         NOT NULL COMMENT '删除标记',
    `enabled_mark`   int         NOT NULL COMMENT '有效标志',
    `name`           varchar(30) NOT NULL COMMENT '课程学科名称',
    `code`           varchar(30)  DEFAULT NULL COMMENT '课程学科代码',
    `remark`         varchar(250) DEFAULT NULL COMMENT '备注',
    `base_label_id`  bigint       DEFAULT NULL COMMENT '标签id(base_label)',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_0900_ai_ci COMMENT ='课程学科';

DROP TABLE IF EXISTS course_subject_detail;
CREATE TABLE IF NOT EXISTS course_subject_detail
(
    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 '序号',

    base_course_subject_id bigint       NOT NULL COMMENT '课程学科管理主表id',
    course_category        varchar(16)  NOT NULL COMMENT '课程类别',
    course_nature          varchar(16)  NOT NULL COMMENT '课程性质',
    course_attribute       varchar(16)  NOT NULL COMMENT '课程属性',
    course_type            varchar(16)  NOT NULL COMMENT '课程分类',
    subject_quality        varchar(16)  NOT NULL COMMENT '学科类别',
    core_course            varchar(16)  NOT NULL COMMENT '是否专业核心课程',
    theory_time            int          NOT NULL COMMENT '理论教学时数',
    practice_time          int          NOT NULL COMMENT '实践教学时数',
    online_course          varchar(1)   NOT NULL COMMENT '是否有线上课程',
    course_url             longtext     NULL COMMENT '线上课程网址',
    ideology_demo          varchar(1)   NOT NULL COMMENT '是否思政示范课程',
    course_resource        varchar(10)  NULL DEFAULT '' COMMENT '课堂教学设计主要选用课程资源',
    emulation_time         int          NOT NULL COMMENT '虚拟仿真实训课时数',
    emulation_name         varchar(256) NULL DEFAULT '' COMMENT '主要开设虚拟仿真实训项目名称',
    experiment_name        varchar(256) NULL DEFAULT '' COMMENT '主要开设实验项目名称',
    training_name          varchar(256) NULL DEFAULT '' COMMENT '主要开设实训项目名称',
    internship_name        varchar(256) NULL DEFAULT '' COMMENT '主要开设实习项目名称'
) ENGINE = innodb
  DEFAULT CHARSET = utf8mb4 COMMENT '课程学科管理详情表';
